웹뷰(WebView)란?

규갓 God Gyu·2025년 3월 27일

면접질문

목록 보기
103/142

모바일 앱 내에 포함된 웹 브라우저
네이티브 앱 내부에서 웹 페이지를 불러와서 마치 앱의 일부처럼 동작하도록 만들어 줌
하이브리드 앱 개발에 사용되며, 안드로이드에선 WebView, ios에선 WKWebView를 통해 구현

웹 브라우저 엔진을 활용하여 HTML, CSS, JS로 작성된 웹 페이지를 앱 내부에서 실행할 수 있음
이를 통해 하나의 웹 코드를 기반으로 다양한 플랫폼에서 동일한 UI와 기능 제공하는게 가능
특정 페이지를 웹으로 구현하고, 모바일 앱에서 해당 웹 페이지를 웹뷰로 띄우면 한 번만 개발하여 여러 플랫폼에서 재사용할 수 있음

업데이트도 자유로움
네이티브 앱은 스토어 심사를 거쳐야 업데이트를 배포할 수 있음
반면 웹뷰를 사용한 앱은 심사를 거치지 않고도 업데이트 배포할 수 있기 때문에, 업데이트 빈도가 잦거나 빠르게 업데이트해야 하는 경우 유용하게 활용

단점
1. 네이티브에 비해 성능 떨어짐
복잡한 애니메이션, 높은 연산량 요구하는 경우 웹뷰보단 네이티브 개발이 더 적합

  1. 보안 문제 고려
    악성 코드나 피싱 공격에 취약해서 사용자 입력 처리할 때 보안을 위한 추가 노력 들여야 함

  2. 네이티브 기능 제한됨
    기본적으로 네이티브 앱이 아닌 웹 컨텐츠를 렌더링하는 컴포넌트
    따라서 브라우저에서 제공하는 기능들은 활용할 수 있지만 네이티브 앱에서 직접 제공하는 기능들은 제한적
    물론 브릿지를 통해 이용할 수 있지만 네이티브와 동일한 수준으로 사용할 수는 없음
    ex - 파일 업로드 및 다운로드에 제약이 있고, GPS/카메라/마이크와 같은 하드웨어를 네이티브 수준으로 제어할 수 없음

웹뷰와 PWA(Progressive Web App)의 차이점
PWA는 웹 기술로 만들어졌지만 네이티브 앱과 유사한 기능들을 제공하는 웹 애플리케이션
웹뷰는 네이티브와 웹을 혼합해 사용하는 하이브리드 접근법, PWA는 웹 표준만으로 앱 수준의 경험을 구현하는 것에 초점
따라서 웹뷰는 네이티브 앱에 종속되어 있지만, PWA는 독립적으로 실행, 스토어 등록 없이도 배포 가능

profile
웹 개발자 되고 시포용

0개의 댓글