[스마트폰] 어플의 종류
Native 어플
- 스마트폰의 OS에 따라 Android와 iOS에서 어플을 만드는 가이드를 제공함
- 각각의 환경에 전용으로 개발됨
- OS에서 제공하는 모든 자원과 기능들을 쉽게 활용할 수 있음
- 스마트폰의 센서, 카메라, 음성인식 등 자원을 최대한 이용할 수 있음
Android: Java, Kotlin 언어로 개발
iOS: Swift 언어로 개발
웹앱
- 해당 사이트의 접속 경로에 따라 사용자가 보기 편하도록 Layout이 변경됨
- 스마트폰의 브라우져(크롬, 사파리 등)로 접속 가능
하이브리드 앱
- Native 어플의 장점과 웹앱의 장점을 모두 가져옴
- Native로 Android와 iOS 전용 어플을 만듬
- 어플의 Webview 기능을 이용하여 브라우져에서 보는 화면을 띄움
- Apache Cordova 또는 Phone Gap 이용함. 웹을 어플로 감싸도록 해줌
Cross-Platform Application
- 하나의 언어로 Android와 iOS에 모두 개발 가능함
- 네이티브앱 > 하이브리드앱 > Cross-Platform > 웹앱 순서로 스마트폰의 권한을 가짐
- 보통 Cross-Platform와 하이브리드앱을 같이 사용함
- React-native로 코딩을 한후 자바스크립트 언어로 컴파일됨. Android와 iOS는 자바스크립트 엔진으로 실행함
- Flutter의 Dart코드로 작성 후 C와 C++로 컴파일하여 스마트폰이 실행함
Xamarin의 C#으로 코딩 후 Intermediate Language로 컴파일 됨
장점
1) 코드언어 하나로 통일됨
2) 비용이 적게 듬
3) 자료가 많음
4) 유지보수가 쉬움
단점
1) 성능 문제 존재함
2) 그래픽의 화려함이 떨어짐
3) OS의 리소스 사용에 제한적임
4) 속도가 빠르지 않음
Progressive Web Application
- 발전된 브라우저의 기능들을 이용하여 개발
- 브라우저의 기능을 통하여 어플처럼 바탕화면에 아이콘을 만듬
- 브라우저라는 느낌을 없앨 수 있음
※ 트랜드가 어플을 다운로드하는것 보다는 가볍게 URL로 접속하여 이용하고자 함, 접속량도 차이가 많이남
Reference: