2021.03.15
[TOC]
운영체제 혹은 플랫폼에서 제공하는 SDK(Software Development Kit)를 기반으로 개발된 어플리케이션. 일반적으로 네이티브 앱을 지칭한다.
SDK기반으로 개발된 어플리케이션으로 모바일 플랫폼 API를 이용해 개발한다.
- 모바일 기기에 직접 다운로드하여 로컬에 저장되는 실행파일로 사용
- 우리가 일반적으로 설치해서 사용하는 앱 (ex. youtube, instagram)
장점
- Android, iOS 기반의 API로 개발하여 속도가 빠르고 안정적이다.
- 고성능 그래픽 처리가 가능하다 (2D, 3D, 증강현실 등)
단점
- 해당 플랫폼 별로 다른 언어를 사용함으로 각각의 언어를 알고 있어야하며 러닝커브도 높다. e.g) Android - Java, Kotlin / iOS - Swift, Objective-C
- 특정 플랫폼 별로 앱스토어의 심사를 통과해야 되기때문에 업데이트가 늦게 반영된다.
모바일 웹의 장점과 네이티브의 장점을 결합한 것으로, 웹 기술로 구현하는 앱을 통칭한다.
- 기본적으로 HTML, CSS, JS를 사용하여 만드는 어플리케이션
- 따라서 브라우저 주소창이 존재 (하지만, 주소창을 가릴 수 있음)
장점
- 기본적으로 웹 기술이기 때문에 다양한 언어를 포용할 수 있다. (HTML, CSS, JS, PHP, ASP 등)
- 네이티브 앱과 달리 설치할 필요가 없어서 브라우저로 접근 가능하다.
- 업데이트가 빠르다. (앱스토어 배포할 필요가 없기 때문)
단점
- 모바일 기기의 하드웨어에 접근할 순 없기 때문에 센서, 카메라 등의 기능을 활용 할 수 없다.
- 즉, 브라우저에서 사용할 수 있도록 제공하는 API는 사용가능하나, 스마트폰 자체 운영체제에서 제공하는 API는 사용할 수 없다.
네이티브 + 웹앱의 기술을 함께 사용하는 앱
-
컨텐츠 영역은 HTML 기반의 웹 액으로 개발
-
패키징 처리만 각 아이폰, 안드로이드 픐랫폼 안에서 함으로써 앱 배포 가능
-
예시: 네이버앱
-
대표적으로
React Native
,Flutter
,PhoneGap
,Cordova
,Ionic
등이 존재PhoneGap : HTML,CSS,JS를 이용해 멀티플랫폼 크로스 모바일 앱을 최초로 시도. Cordova : Adobe System에서 인수한 PhoneGap을 Apache에 기부해서 이름이 바뀜. 그래서 기존 폰갭 명령어로 실행 및 개발 가능 Ionic : Cordova 기반으로 GUI 및 CLI 기능을 추가한 프레임워크 (AngularJS기반임)
장점
- 웹 기술만으로 개발해서 앱스토어에 배포 할 수 있다.
- 모바일 API를 사용할 수 있어서 하드웨어를 제어할 수 있다.
단점
- 브라우저 성능에 따라 앱의 성능이 좌우된다.
- 네이티브 앱 만큼 기능을 제공하진 않는다.
- 결국 앱스토에서 배포를 해야되기 때문에 업데이트 반영이 느리다.
- 3D 기능 지원이 취약하다.
Copyright © 2021 Song_Artish