웹뷰
웹뷰는 네이티브앱에 내재되어 있는 웹 브라우저입니다.
웹뷰를 사용하면 웹 콘텐츠를 네이티브 앱 뷰와 같이 사용자에게 보여줄 수 있습니다.
그리고 특징적인 부분이 하나 있는데
웹뷰는 주소창, 새로고침, 즐겨찾기와 같은 브라우저의 기능이 없고
단순히 웹페이지만 보여준다는 특징이 있습니다.
Google은 Android WebView 클래스를 아래와 같이 정의합니다.
WebView 클래스는 안드로이드의 view 클래스의 확장이며
웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해줍니다.
탐색 컨트롤, 주소 표시줄 등의 웹브라우저 기능은 전혀 포함되지 ㅇ낳습니다.
WebView의 모든 작업은 기본적으로 웹페이지를 표시하는 것입니다.
웹뷰 왜 사용할까?
웹뷰는 여러 플랫폼에서 사용할 수 있다
이는 정말 큰 장점으로 다가오는데요
왜냐하면 네이티브 앱은 Android, iOS를 각각 따로따로 개발해야하기 때문이에요
물론 이를 한꺼번에 개발할 수 있게 도와주는 언어들도 존재하지만
웹뷰를 이용하게되면 웹, 안드로이드, iOS 모든 환경에서 쓸 수 있는거죠!
무배포 업데이트
앱을 배포하기 위해서는 스토어 심사가 필요합니다.
이러한 심사는 빠른 배포를 할 수 없게 만드는 주범이기도 한데요
웹뷰로 제작한 경우에는 웹사이트 내용을 수정해주기만하면
앱내부에서도 배포없이 변경된 내용을 볼 수 있다는 장점이 있어요!
인터넷 연결이 필요한 데이터를 쉽게 불러와요
이메일과 같은 데이터는 항상 인터넷 연결이 필요한데요
네이티브 앱에서 이를 보여주기 위해서는
네트워크를 설정하고, 데이터를 불러와서 앱위에서 보여주어야하지만
웹뷰는 항상 인터넷에 연결되어있어서 더 쉽게 보여줄 수 있어요
단점은?
느려요
네이티브앱에 비해 로딩이 느리다는 단점이 있어요
네이티브앱은 스토어에서 빌드가 이미 완료되지만
웹뷰는 해당 사이트의 리소스를 다운로드하고 보여주는데 시간이 걸리기 때문이에요
UI가 제한적
웹뷰는 네이티브 앱보다 UI를 구성하는 게 제한적이에요
스토어 심사가 어려울 수 있어요
웹뷰만으로 구성된 앱은 스토어 심사가 어려울 수도 있어요
마치며
왜 웹뷰를 많이 쓰는지 너무 이해가 됩니다 ㅇㅅㅇ..
레퍼런스
https://docs.tosspayments.com/common/glossary/webview
'frontend' 카테고리의 다른 글
radix 의 기본 focus css 제거하기 (0) | 2023.09.30 |
---|---|
hotfix branch 전략으로 빠른 버그수정하기 (0) | 2023.09.23 |
2023년 신입 프론트엔드 개발자 취업,취준 회고 (12) | 2023.09.02 |
[radix] popover when hover trigger (0) | 2023.08.09 |
Barrel export 패턴으로 깔끔한 import 관리 (0) | 2023.08.06 |