본문 바로가기

Computer Science/FE 지식

[WebApp] WebView

[학습 키워드]
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에 비해서 상대적으로 느린 속도를 감수해야함

 

참고 링크