개발하기 쉽고 사용하기 편리한 앱을 만들기 위한 방법론 중의 하나이다. 모바일 웹의 한계를 브라우저의 발전을 통해 끌어올린 것으로 고성능의 앱을 개발하는 것은 한계가 있지만, 굳이 앱 형태로 개발할 필요가 없는 경우에는 브라우저에서 돌리는 것보다 훨씬 편리하게 이용할 수 있다.
안드로이드, IOS 각각의 환경에 맞춰 전용으로 개발된 앱으로 각각의 자원과 기능들을 최신의 상태로 직접 활용할 수 있어 스마트폰의 성능을 최대한 활용할 수 있다는 장점
이 있다. 하지만 안드로이드, IOS 환경에 맞춰 각각 개발해야 하기 때문에 개발자를 따로 두거나 혹은 한 사람이 두 개의 환경에 맞춰 앱을 개발해야 하며 각각의 스토어에 배포되는 시점을 맞춰야 하므로 관리가 어렵다
.
스마트폰 사용자들을 대상으로 만든 웹사이트로 별도 스토어에 배포할 필요가 없어서 운영과 관리가 간편
하다. 하지만 브라우저에서 돌아가는 App이므로 각 브라우저가 공통으로 제공하는 기능만 구현이 가능해 기능의 제한
이 있고 브라우저의 주소로 접근하는 구조이기 때문에 핸드폰 홈 화면에 아이콘 형태로는 접근할 수 없어 접근성이 상대적으로 낮다
는 단점이 있다.
Native와 Mobile Wep의 절충점을 찾은 것
으로 Native로 만들되 그 형태를 브라우저 형태로 만들고 웬만한 기능들은 Web View에서 이용할 수 있도록 만들고 브라우저로 구현할 수 없는 기능일 경우에는 Native level에서 처리하도록 만든 것이다. Web View에 업데이트가 필요한 부분은 Web 영역을 수정하고 Native의 경우는 각각의 스토어를 업데이트 함으로써 좀 더 유연한 운영이 가능
하다.
하나의 언어, 한 번의 개발로 안드로이드/IOS 각각의 환경에서 모두 동작하는 앱
이다.
(참고: React-Native, Flutter, Xamarin)
출처 - YOUTUBE 얄팍한 코딩사전(https://youtu.be/NMdnzvPsGu8)