iOS/스몰토크
[스몰토크] WKWebView 와 통신 어떤것이 적절할까? Scheme VS Bridge
iOS_Assin
2019. 11. 20. 20:53
WkWebView 와 통신하기 위한 2가지 방법이 있습니다.
아래는 Scheme, Bridge 두 방식에 대해 세미나를 진행한 것을 캡쳐한 그림입니다.
Scheme, Bridge 방식의 샘플이 있습니다. by 클린트님
정적과 동적
Scheme는 정적 / Bridge는 동적입니다.
대칭적인 예를 들어서 컴파일 타임 VS 런타임과 매칭되어서 설명할 수 있습니다.
정적 | 동적 | |
유연성 | 낮음 | 높음 |
불변조건 | 높음 | 낮음 |
불변조건(invariant)
컴타임 타임에서 빌드가 성공했다면 그 이후 조건은 "프로그램이 실행될 준비가 완료되었다"를 의미합니다.
하지만 프로그램이 실행되면 빌드를 다시하거나 유연하게 프로그램의 변경을 할 수 없습니다.
유연성은 없지만 invariant 조건이 충족되는 장점을 가질 수 있습니다.
런타임에서는 if 를 사용해서 분기에 따라서 제어를 할 수 있습니다.
하지만 if 는 invariant 불변 조건이 충족되지 않습니다.
다양한 조건에 따라 프로그램이 동작합니다.
컴파일 런타임 뿐만 아니라 다른 비교할 수 있는 것들이 어떤 것이 있는지 알아봅시다.
정적 | 동적 |
RDBMS | ORM |
상속 | 합성 |
스택 | 힙 |
메이븐 | 그래들 |
Scheme, Bridge
우리는 결국 정적의 안정성을 얻기 위해 Scheme 을 사용해야 한다는 결론에 도달했습니다.
Bridge 를 사용하게 되면 window 안에 bridge interface 존재하는 한 그에 상응하는 대가를 치르게 된다는 것을 깨달았기 때문입니다.