사실 우리 앱도 웹뷰로 이벤트 페이지를 개발하고 있다.
웹뷰의 존재는 알고 있었지만, 오늘 웹뷰에 이슈가 있어 직접 코드를 수정한 기념으로 웹뷰에 대하여 기록해볼까 한다.
대부분 앱 서비스들이 네이티브로만 개발하는게 아니라 일부 페이지는 웹뷰로 개발해서 넣는다고 한다.
그 이유는 무엇이고, 장단점이 무엇인지 알아보자.
웹뷰(WebView)
란 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)
의 형태로 앱에 임베딩하는 것을 말한다. App에서 웹브라우저를 이용해 화면을 보여주는 방식을 뜻한다.
우선 장점은 매번 재배포하는 번거로움을 피하고, 자유롭게 배포가 가능하다.
유지보수가 필요할 때, 심사과정이 까다로운 앱 배포를 하지 않아도 되니 매우 자유롭다고 볼 수 있다.
빠르게 수정해서 배포해야 할 일이라면 웹뷰를 사용하는 것이 좋겠다.
또한, 웹이기 때문에 아이폰, 안드로이드 각각 따로 개발할 필요가 없다는 점도 있다.
단점으로는 서버자원을 더 사용한다. 각 클라이언트마다 웹 페이지를 호출하기 때문이다.
아무래도 네이티브보단 성능에서 상대적으로 느릴 수 밖에 없다.
네이티브는 이미 사용자가 앱스토어에서 빌드된 앱을 다운받고, 웹뷰는 html css js 등의 리소스를 다운받고 파싱 & 렌더링하는데에 시간이 소요되기 때문이다.