네이티브 앱 / 웹앱 / 하이브리드 앱

nogomin·2020년 11월 14일
12
post-thumbnail

앱(App)

운영체제 혹은 플랫폼에서 제공하는 SDK(Software Development Kit)를 기반으로 개발된 애플리케이션. 일반적으로 네이티브 앱을 지칭한다.

네이티브 앱 (Native App)

정의

SDK기반으로 개발된 애플리케이션. 모바일 플랫폼 API를 이용해 개발한다. 모바일 기기에 직접 다운로드하여 로컬에 저장되는 실행파일로 사용된다. 우리가 일반적으로 설치해서 사용하는 앱을 떠올리면 된다. e.g) 유튜브, 인스타그램 등

장점

  • Android, iOS 기반의 API로 개발하여 속도가 빠르고 안정적이다.
  • 고성능 그래픽 처리가 가능하다 (2D, 3D, 증강현실 등)

단점

  • 해당 플랫폼 별로 다른 언어를 사용함으로 각각의 언어를 알고 있어야하며 러닝커브도 높다. e.g) Android - Java, Kotlin / iOS - Swift, Objective-C
  • 특정 플랫폼 별로 앱스토어의 심사를 통과해야 되기때문에 업데이트가 늦게 반영된다.

웹 앱(Web App)

정의

모바일 웹의 장점과 네이티브의 장점을 결합. 웹 기술로 구현하는 앱을 통칭한다. 기본적으로 HTML, CSS, JS를 사용해 만들어진 애플리케이션이다. 따라서 브라우저 주소창이 존재한다. 하지만 네이티브앱처럼 동작하도록 주소창을 가릴수 있고, 모바일 기기에 아이콘을 위치시킬수 있어서 겉보기에 네이티브 앱처럼 보이게 할 수 있다.

장점

  • 기본적으로 웹 기술이기 때문에 다양한 언어를 포용할 수 있다. (HTML, CSS, JS, PHP, ASP 등)
  • 네이티브 앱과 달리 설치할 필요가 없어서 브라우저로 접근 가능하다.
  • 업데이트가 빠르다. (앱스토어 배포할 필요가 없기 때문)

단점

  • 모바일 기기의 하드웨어에 접근할 순 없기 때문에 센서, 카메라 등의 기능을 활용 할 수 없다.
  • 즉, 브라우저에서 사용할 수 있도록 제공하는 API는 사용가능하나, 스마트폰 자체 운영체제에서 제공하는 API는 사용할 수 없다.

하이브리드 앱(Hybrid App)

정의

네이티브 + 웹앱의 기술을 함께 사용하는 앱. 콘텐츠 영역은 HTML 기반의 웹 앱으로 개발을 하되 패키징 처리만 각 아이폰, 안드로이드 플랫폼 안에서 함으로써 앱 배포를 가능하게 한다.
(우리가 쓰고 있는 네이버앱도 네이티브앱처럼 보이지만 하이브리드 앱이다.)
대표적으로 React Native, Flutter, PhoneGap, Cordova, Ionic 등이 존재한다.

PhoneGap : HTML,CSS,JS를 이용해 멀티플랫폼 크로스 모바일 앱을 최초로 시도.
Cordova : Adobe System에서 인수한 PhoneGap을 Apache에 기부해서 이름이 바뀜. 그래서 기존 폰갭 명령어로 실행 및 개발 가능
Ionic : Cordova 기반으로 GUI 및 CLI 기능을 추가한 프레임워크 (AngularJS기반임)

장점

  • 웹 기술만으로 개발해서 앱스토어에 배포 할 수 있다.
  • 모바일 API를 사용할 수 있어서 하드웨어를 제어할 수 있다.

단점

  • 브라우저 성능에 따라 앱의 성능이 좌우된다.
  • 네이티브 앱 만큼 기능을 제공하진 않는다.
  • 결국 앱스토에서 배포를 해야되기 때문에 업데이트 반영이 느리다.
  • 3D 기능 지원이 취약하다.

참고자료

모바일 웹이란
네이티브vs모바일웹앱vs하이브리드
하이브리드 앱 장단점
폰갭vs코르도바vs아이오닉

profile
평범한 개발자

0개의 댓글