Native APP
네이티브 앱은 흔히 말하는 '애플리케이션'을 의미한다. 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용해 Java로 만드는 앱과 iOS 기반의 SDK를 이용해 Swift로 만드는 앱들이 네이티브 앱에 속한다.
장점
- 기기에 최적화된 기능을 구현할 수 있다.
- 디바이스 전체에 엑세스 권한을 가질 수 있어, 기기에 저장된 주소록, 캘린더 등 고유 정보를 사용할 수 있다.
- 각 모바일 OS에서 제공하는 툴과 언어에 따라 기능들을 구현하므로 높은 사양의 그래픽과 성능, 구동 속도가 빠르다.
단점
- 같은 앱이라도 각 모바일 OS 별로 앱을 개발해야하므로 비용과 개발 기간이 많이 들 수 있다.
- 다른 방식보다 높은 수준의 기술력을 요구한다.
Mobile Web
우리가 데스크탑에서 보던 웹사이트를 모바일 디스플레이에 맞춰 구성한 웹
Web App
PC나 스마트폰 등 단말기의 기종에 관계없이 모든 단말기에서 같은 콘텐츠를 볼 수 있도록 해주는 앱이다. 브라우저내에서 실행된다. (네이티브 앱과 모양이 유사한 웹 응용프로그램)
장점
- 웹 사이트를 보는 것이기 때문에 따로 설치할 필요가 없다.
- 모든 기기와 브라우저에서 접근이 가능하다.
- 별도 설치 및 승인 과정이 필요치 않아 유지보수가 용이 하다.
단점
- 플랫폼 API(카메라, 주소록 등)을 사용할 수 없고 오로지 브라우저 API만 사용가능하다.
- 네이티브, 하이브리드 앱보다 실행이 까다롭다. 직접 브라우저를 열고 검색해 들어가야 한다.
- 페이지 로딩 속도가 상대적으로 느리다.
Hybrid App
하이브리드 앱은 네이티브 앱과 웹 기술을 융합한 방식이다. 기본 기능은 HTML 등의 웹 문서로 구현하고, 패키징은 아이폰, 안드로이드 등 모바일 OS 별로 구현한다. 즉 웹을 기반으로 하여 어플 안에서 웹페이지를 불러오는 방식으로 실행된다. ex) 네이버, 크롬 앱
네이티브 앱과 마찬가지로 웹 스토어에서 다운로드하여 사용할 수 있고, 카메라, 음성 검색 등의 스마트폰 기능을 사용 가능하고 HTML 개발되어 개발 및 유지 보수가 쉽다.
장점
- 브라우저 API와 모바일 기기의 카메라, 음성 검색 등의 기능들을 이용해 다양한 개발이 가능하다.
- 한번의 개발로 다수의 플랫폼에 대응할 수 있다.
단점
- 네이티브 기능에 접근하기 위해서는 네이티브 개발 지식이 필요하다.
- 웹뷰에서 앱을 실행하는 경우이므로 앱의 성능이 곧 브라우저의 성능이다.
- 네이트브 앱보다 UI를 구성하는 디자인 부분이 취약하다.