회사에서 웹뷰를 개발하고 있다.
간단한 개념이지만 웹앱, 네이티브앱, 하이브리드앱, 모바일웹 등 간에 계속 헷갈려서 이참에 정리해보기로 했다.
쉽게 말하면 반응형 웹 이다.
PC용 사이트를 모바일에서도 사용자가 이질감 없이 같은 사이트를 사용하고 있다는 느낌을 받도록 하게 하기 위해 폰트나 이미지, 아이콘 등의 위치를 조정하여 모바일에 맞게 다시 구현하는 방식이다.
브라우저 어플리케이션을 통해 url을 이용해 접속하여 이용한다.
다음 모바일웹과 하이브리드앱을 비교해보면 두 가지의 차이점이 명확해진다.
검색바 영역을 보면 모바일웹 같은 경우에는 검색바에 '음성검색 모양의 아이콘'이 있는 반면 하이브리드앱은 '꽃검색 모양의 아이콘'이 있다.
다음 모바일웹의 '음성검색 아이콘'을 누르면 드롭다운 메뉴가 나오는데, 해당 기능들은 '다음앱에서 사용할 수 있다'고 설명하고 있으며 메뉴를 누르면 다음 앱을 설치할 수 있는 페이지로 이동 한다.
만약 앱이 설치되어 있다면 앱으로 바로 이동하게 되는데, 그렇게 되면 운영체제의 기능인 카메라나 마이크 기능을 활용하여 다음 앱의 기능을 사용 할 수 있다.
반응형웹은 아니지만 홈페이지와 같은 웹을 스마트폰 화면 크기로 줄인 것 을 말한다.
PC나 스마트폰 등 단말기의 기종에 관계 없이 모든 단말기에서 같은 콘텐츠를 볼 수 있도록 해준다.
웹앱은 사용자 스마트폰에 설치되어 있는 인터넷 브라우저를 기반으로 동작하는 앱이다.
~첫 번째 장점 제외하고 모바일웹과 동일~
겉으로 보기에는 일반 어플로 보이지만 실제로는 웹을 기반으로 하는 앱 이다.
즉, 어플 안에서 웹을 불러오는 방식으로 실제로는 앱이 아닌 웹이 실행되는 것 이다.
기본적인 기능은 HTML 등의 웹문서로 구현하고 디자인과 같은 패키징은 모바일 OS 별로 구현한다.
네이티브앱과 웹앱의 장점을 합친 개발 방식이다.
웹뷰를 이용한 앱
네이티브로 웹뷰 관련 코드만 구현하고 나머지는 웹에서 모두 구현한다. 웹 구현과 동일하고 웹브라우저를 가진 앱이기 때문에 비교적 러닝커브가 적다.
아이오닉이나 코르도바처럼 웹뷰 기반의 프레임워크 이용
1번과 거의 같은 수준의 구현방법이지만 프레임워크가 도와주기 때문에 좀더 쉽게 구현할수 있다.
다만 프레임워크가 주는 제한도 있기 때문에 오히려 자유도는 떨어진다.
리액트네이티브나 플러터 같은 크로스플랫폼 빌드 툴을 이용한 개발
하나의 소스로 안드로이드/ios 각각의 네이티브 소스를 생성해주는 방식이다.
프레임워크 의존성이 가장 크지만 준수한 performance와 생산성을 가진다.
모바일 앱 어플리케이션의 일부 부분 및 페이지를 웹 어플리케이션 및 웹 페이지로 제공하는 기능 을 말한다.
안드로이드와 ios 모두에서 제공해주는 기능이다.
구글 플레이 스토어나 앱 스토어에서 다운로드하여 사용할 수 있는, 흔히 말하는 어플리케이션 이다.
모바일 기기에 최적화된 언어(swift, Objective C 등)으로 개발되어 있다.