웹뷰와 네이티브를�제대로 이어붙이기
Webview Request Protocol 🌯
발표자 소개
Twitter, GitHub - @disjukr
웹뷰가 얼마나 많이�사용되고 있을까요
(빌드 번호 연타하여 개발자 옵션 활성화 후)
개발자 옵션 > 레이아웃 범위 표시
대체로 메인화면에서 한 두번의 터치로 도달할 수 있는 곳에 웹뷰가 사용되고 있음
중복 개발 X
스토어 심사 X
웹뷰 통신을 위해 제공되는 네이티브 API가 불편함
웹페이지와 모바일 앱의 생명 주기가 다름
웹페이지와 모바일 앱의 버전이 서로 다름
웹뷰 통신을 위해 제공되는 네이티브 API가 불편함
웹뷰 통신을 위해 제공되는 네이티브 API가 불편함
웹뷰 통신을 위해 제공되는 네이티브 API가 불편함
웹페이지와 모바일 앱의 생명 주기가 다름
웹페이지와 모바일 앱의 버전이 서로 다름
웹페이지와 모바일 앱의 생명 주기가 다름
웹뷰 통신을 위해 제공되는 네이티브 API가 불편함
웹페이지와 모바일 앱의 생명 주기가 다름
웹페이지와 모바일 앱의 버전이 서로 다름
웹페이지와 모바일 앱의 버전이 서로 다름
심사 없음
스토어 심사 대기 필요
거절될 수도 있음
웹페이지와 모바일 앱의 버전이 서로 다름
새로고침 하면
나도 모르는 새에 최신버전
죽어도 업데이트 안 함
사용자 버전 파편화
해결책 - Webview Request Protocol (WRP)
WrpGuest
WrpHost
WrpChannel
Glue (per Platform)
WrpSocket
Protobuf
Client
Protobuf
Server
( Protobuf Server )
useWrpServer(...)
( Protobuf Client )
client.getTextValue()
( WrpChannel )
05 00 00 00 0A 66 …
0A 00 00 00 32 37 0A 01 31 12 …
07 00 00 00 3A …
05 00 00 00 42 …
…
( WrpChannel )
( WrpSocket )
이 구조에서 앞서 말한 문제들은 어떻게 해결되는 건가요
관련 링크
( 디스코드 서버 QR 코드 )
시연
도와준 사람들