네이티브 앱
- 특정 기기에 설치해서 사용하는 애플리케이션을 네이티브 앱이라고 부름
- 모바일 기기에 최적화된 네이티브 언어(개발 언어)로 개발된 앱
- 스토어에 등록된 대부분의 앱은 네이티브 앱이다.
- 개발 : 해당 운영체제에 최적화되어 있는 개발 도구(SDK)로 제작
- 안드로이드 SDK : Kotlin, JAVA
- iOS SDK : Swift 등
- 실행 : 스토어에서 다운해서 설치(PC로 접속 불가)
장점
- 좋은 성능, 빠른 속도, 안정성(각 운영체제에 최적화된 방식으로 만들어지기 때문에)
- 인터넷 없이 사용 가능
- 디바이스 접근 권한 O
ex) 카메라, 마이크, 푸시 알림, GPS 등의 최적화
단점
- 실행 환경(운영 체제)에 종속되어 있음
= 각 운영체제별로 개발해야 한다.
= 개발 비용, 시간이 많이 든다.
- 스토어의 심사 과정이 필요(스토어의 심사 과정은 매우 까다로움)
- 업데이트 할 때마다, 스토어를 통해야 한다.
모바일 웹
과 웹 앱
은 모두 웹 애플리케이션이다.
따라서 약간의 차이점은 있지만, 장점/단점은 동일하다.
모바일 웹
- 모바일 화면에 맞게 구성한 웹
(PC 웹 페이지를 그저 모바일에 맞게 줄인 형태)
- 개발 : 웹 개발 방식과 동일(html, css, javascript)
- 실행 : 웹 브라우저
웹 앱
- 형태와 구동 방식이 마치 네이티브 앱 같지만, 웹 기술을 활용해서 만들어진 앱
- 개발 : 웹 개발 방식과 동일(html, css, javascript)
- 실행 : 웹 브라우저(단일 페이지 방식)
장점
- 운영체제 별로 개발할 필요 X
-> 비용, 시간 절감
- 스토어의 심사과정 X
단점
- 인터넷 없이 사용할 수 없다.
- 디바이스 접근 권한 제한 (모바일 운영체제에서 제공하는 기능들을 활용하지 못할 수도 있다.)
- 사용자가 검색 또는 URL을 통해서 들어와야 한다는 불편함이 있다.
(= 사용자 접근성이 떨어진다.)
- 네이티브 앱에 비해, 상대적으로 속도가 느리고 안정성도 떨어진다.
모바일 웹 vs 웹 앱
공통점
둘 다 모바일에 설치하는 앱이 아니므로 카메라나 음성 등 디바이스 자체 기능에 접근이 제한된다.
차이점
1. 모바일 웹
- PC를 기준으로 제작된 뒤 모바일 화면 규격에 맞게 폰트나 이미지 등을 바꾼 것
- 풀 브라우저 방식 사용 (화면의 일부분이 바뀔 때마다 전체를 서버에서 새롭게 불러옴) => 느리다
2. 웹 앱
- 처음부터 모바일을 기준으로 제작되기 때문에 모바일 이용자에게 훨씬 편안한 환경을 제공한다.
- 단일 페이지 방식 사용 (변경이 필요한 부분만 바꿈) => 빠르다
웹 앱은 모바일 웹보다 좀 더 모바일에 최적화된 앱이다.
하이브리드 앱
- 네이티브 앱과 웹 앱의 개발 방식을 모두 사용
- 겉으로 보기엔 앱이지만, 실제로는 웹을 기반으로 한 앱
- 개발 : 웹 앱을 모바일 운영체제로 패키징
(내부 페이지에는 웹 개발, 외부 앱 패키징에는 앱 개발 방식을 사용)
- 실행 : 스토어에서 다운 및 설치
ex) 네이버, 크롬, 다음
장점
- 웹 기술을 기반으로 제작되지만, 모바일 API도 사용할 수 있으므로 디바이스 자체 기능을 활용할 수 있다.
- 네이티브 앱에 비해 개발 비용, 시간이 절감
- 하나의 코드로 iOS, 안드로이드 모두에 사용 가능
단점
- 네이티브 앱에 비해 느린 속도, 성능
- 웹 페이지를 불러오기 때문에 네트워크에 따라 앱의 성능도 떨어진다.
- 스토어의 심사 과정 O
네이티브 앱 vs 웹 앱
1. 실행 환경의 종속성
- 네이티브 앱은 바로 OS에 맞닿아 있고, 웹 앱은 브라우저를 거쳐 OS에 닿는다.
- 네이티브 앱은 바로 OS에 맞닿아 있기 때문에, OS와 기기에 내장된 여러 기능을 쉽게 활용할 수 있고, 웹 앱은 그렇지 않다.
2. 스토어 사용 유무(설치/배포)
- 네이티브 앱은 스토어를 사용해야 한다. 하지만 스토어의 심사는 매우 깐깐하므로 등록하는데에도 많은 시간이 걸린다. 또한, 사용자가 이를 설치하고 업데이트를 해줘야 한다.
- 웹 앱은 이런 과정이 필요 없다. 웹 앱은 수정된 것이 바로 반영이 되고 스토어를 사용하지 않는다.
3. 인터넷 사용 유무
- 네이티브 앱은 인터넷 없이도 사용할 수 있다.(인터넷이 필요한 부분은 작동이 안 되겠지만 앱 자체가 실행 불가능한 것은 아님)
웹 앱은 간단한 기능과 적은 투자를 하는 서비스에게는 좋은 대안이다!
(네이티브에 비해 성능은 떨어지지만, 간단한 기능의 서비스를 런칭하기에는 웹 앱이 더 편리하다!)
속도: 모바일 웹 < 웹 앱 < 네이티브 앱
[참고]
https://m.blog.naver.com/acornedu/221012420292
https://blog.codef.io/app_kinds/
https://brunch.co.kr/@rlatjrwn9086/61
https://chaeyeon-chaeyeon.tistory.com/20
https://brunch.co.kr/@toqha7822/3