Skip to content

Latest commit

 

History

History
90 lines (47 loc) · 3.13 KB

App_Intro.md

File metadata and controls

90 lines (47 loc) · 3.13 KB

앱 기초

2021.03.15


[TOC]


앱(App)

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

종류

1. 네이티브 앱(Native App)

SDK기반으로 개발된 어플리케이션으로 모바일 플랫폼 API를 이용해 개발한다.

  • 모바일 기기에 직접 다운로드하여 로컬에 저장되는 실행파일로 사용
  • 우리가 일반적으로 설치해서 사용하는 앱 (ex. youtube, instagram)

장점

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

단점

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

2. 웹 앱(Web App)

모바일 웹의 장점과 네이티브의 장점을 결합한 것으로, 웹 기술로 구현하는 앱을 통칭한다.

  • 기본적으로 HTML, CSS, JS를 사용하여 만드는 어플리케이션
  • 따라서 브라우저 주소창이 존재 (하지만, 주소창을 가릴 수 있음)

장점

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

단점

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

3.하이브리드 앱(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 기능 지원이 취약하다.

Copyright © 2021 Song_Artish