[학습 키워드]
1. React-Native
2. WebView
3. CodePush (올해 3월 31일 삭제 예정)
WebView란?
- 네이티브 앱에서 웹 페이지를 불러와서 iframe 처럼 사용하는 것
- Native 기능(알림, 카메라)을 직접 사용하지는 못하고, bridge를 이용하여 간접적으로 앱 기능 사용 가능
WebView 구조
- bridge : superApp 마냥 Native와 Web을 통신시켜주는 도구
WebView 선택 이유
- (상대적으로) 빠른 MVP 개발 속도
- 특히, 웹 개발자들이 바로 앱을 만들 수 있음
- MVP 단계에서 성능 저하가 크지 않을 것으로 예상
- Next.js로 개발한 부분은 바로 web으로 배포하여 크로스플랫폼 지원
- 유지보수가 편리함 (심사없이 수정 가능)
- 네트워크 의존성
- RN은 버그가 많음
- 장기적으로는 rn → android, ios 개발로 넘어가는 것 같음. 하지만, 여기서도 webview 사용은 가능함
- 각 앱의 장/단점 비교 (PWA는 알림 기능 외 native 기능에 제약이 심하여 고려하지 않음)
WebView 개발 시, 주의사항
- 하위 호환성이 고려되어야함 (웹은 최신, 앱은 낮은 버전으로 버전 충돌 문제 )
- 웹을 불러와야하므로, 네트워크 의존성이 생김
- native와 양방향 소통 부분을 고려하여 개발해야함
- native에 비해서 상대적으로 느린 속도를 감수해야함
참고 링크