충분히 쌓여가는
네이티브 앱 / 웹앱 / 하이브리드 앱 본문
앱 형태 비교
핵심 용어 | 설명 |
하이브리드 앱 (Hybrid App) |
앱의 기반이 되는 콘텐츠 영역은 HTML 기반의 웹 앱으로 제작 최종 앱 배포에 필요한 패키징 처리만 아이폰, 안드로이드 플랫폼 안에서 처리한 애플리케이션 |
네이티브 앱 (Native App) |
모바일 기기에 최적화된 언어로 개발된 앱 안드로이드 SDK를 이용해 Java 언어로 만드는 안드로이드 앱과 IOS SDK를 이용해 Objective -C언어로 개발된 아이폰 앱 등 |
모바일 앱 (mobile App) |
데스크탑 브라우저에 실행되는 웹 애플리케이션을 모바일 스크린 크기로 줄여 놓은 것 |
웹 앱 (Web App) |
모바일 웹과 네이티브 앱을 결합한 것 모바일 웹의 특징을 가지면서 네이티브 앱의 장점도 가지고 있음 |
네이티브 앱
- 모바일 기기에 최적화된 네이티브 언어로 개발된 앱
- 앱 스토어에서 다운로드하는 애플리케이션
- 우리가 앱 혹은 어플이라고 부르는 것이 네이티브앱에 해당하는 것
- 휴대폰의 다양한 기능과 연동할 수 있는 앱도 만들 수 있고, 어떻게 구현하는지에 따라 사용자가 굉장히 편리하게 이용할 수 있도록 만들 수 있다는 장점도 있음
- 하지만 네이티브앱의 가장 큰 단점은 개발할 때 모바일의 운영체제(IOS, 안드로이드)에 따라 각각 별도의 앱을 만들어야 함
- 디바이스 전체 액세스 권한을 가질 수 있어 기기의 기능(카메라, GPS, 주소록 등)을 활용 가능
- 네이티브의 API를 통해 높은 사양의 그래픽과 성능을 자랑하면서도 구동 속도가 빨라 성능이 웹앱, 하이브리 앱에 비해 가장 높음
- 어플 간 확장성이 높음 -> 기본 앱에 쉽게 접근 가능
안드로이드 | IOS | |
개발 언어 | JAVA, Kotlin | bject-C, Swift |
장점 | 단점 |
- 디바이스 전체 액세스 권한을 가질 수 있어 기기의 기능(카메라, GPS, 주소록 등)을 활용 가능 - 네이티브의 API를 통해 높은 사양의 그래픽과 성능을 자랑하면서도 구동 속도가 빨라 성능이 웹앱, 하이브리 앱에 비해 가장 높음 - 어플 간 확장성이 높음 -> 기본 앱에 쉽게 접근 가능 |
- 높은 수준의 기술력이 필요하며 각기의 모바일 운영체제(OS)별로 앱을 개발해야하기 때문에 개발 기간이나 비용이 많이 듬 - 앱 개발 후에도 지속적인 유지보수 때마다 플랫폼 별로 작업해야 함 - 업데이트시 마다 앱스토어를 통해 심사를 요청하고 승인 후 업데이트가 진행되 배포속도가 느릴 수 있음 - 하이브리드 앱에 비해 용량이 큼 |
네이티브앱을 개발하는 개발 언어가 다를 뿐만 아니라 운영체제에서 권장하고 있는 개발 정책도 다르고 배포도 각각 해서 관리해야 함 -> 하나의 앱을 두 운영체제에 부합하도록 개발해야 하는 리소스를 해결하기 위한 방법 -> 웹앱
웹앱
- PC에서 인터넷을 통해 웹사이트를 이용하는 것처럼 모바일에서 웹사이트를 이용하기 편하도록 화면 크기를 맞추고 사용 편의를 최적화 시킨 것
- 휴대폰을 사용하면서 매번 웹앱을 접속할 수 있는 URL을 입력해서 접속하는 것이 보통 번거로운 일이 아니고, 휴대폰 카메라 등 휴대폰에서 사용할 수 있는 여러 가지 기능들을 연동해서 활용할 수 없다는 것이 정말 큰 단점
장점 | 단점 | |
- 웹페이지만 제작하면 완성되기 때문에 시간과 비용이 적게 들어감 - PC, 스마트폰 등 기기의 종류와 상관없이 모든 기기에서 같은 페이지를 볼 수 있음 - 별도의 설치가 필요 없기 때문에 네이티브 앱에 비해 유지 보수가 쉬움 |
- 웹용 언어로만 제작하기 때문에 카메라, 음성 검색과 같은 스마트폰 기능을 사용할 수 없음 - 앱을 다운로드해서 기능을 실행하는 것이 아니기 때문에 검색이나 주소 입력 등의 과정을 거쳐야 함 - 애플 앱스토어에서는 거절 대상으로 등록 및 판매를 할 수가 없습니다. |
하이브리드 앱
- 네이티브앱과 웹앱의 각각의 단점을 커버하고 장점만을 취하기 위해 사용되는 것이 하이브리드앱
- 앱스토어를 통해서 설치하지만 실제로 앱이 실행될 때에는 웹페이지를 불러오는 방식으로 구현되는 앱
- 하이브리드앱을 개발해서 운영하게 되면 앱에 업데이트 사항이 발생했을 때마다 새롭게 앱을 다시 다운로드 받아야하는 불편함도 덜함
- 각 운영체제에 부합하는 앱을 따로 개발해야 하는 리소스도 절약 가능
- 웹앱의 장점과 휴대폰의 다양한 기능을 연동해서 사용하는 것이 가능
장점 | 단점 | |
- 웹페이지만 제작하면 완성되기 때문에 시간과 비용이 적게 들어감 - PC, 스마트폰 등 기기의 종류와 상관없이 모든 기기에서 같은 페이지를 볼 수 있음 - 별도의 설치가 필요 없기 때문에 네이티브 앱에 비해 유지 보수가 쉬움 |
- 웹용 언어로만 제작하기 때문에 카메라, 음성 검색과 같은 스마트폰 기능을 사용할 수 없음 - 앱을 다운로드해서 기능을 실행하는 것이 아니기 때문에 검색이나 주소 입력 등의 과정을 거쳐야 함 - 애플 앱스토어에서는 거절 대상으로 등록 및 판매를 할 수가 없음 |
앱 별 비교
앱 설치 여부 | 개발 방식 | 디바이스 기능 접근 | 개발 지식 | |
네이티브 앱 | O | 모바일 운영체제 별 전문 개발언어 사용 (Kotlin, Java, Swift, Objectice C 등) |
가능 | IOS, 안드로이드 앱 개발 지식 필요 |
웹 앱 | X | 웹 코딩 기반 (HTML, CSS, Javascript 등) |
불가능 | 웹 표준 웹 개발 지식 필요 |
하이브리드 앱 | O | 앱, 웹 기반 언어와 코딩 모두 사용 | 가능 | 내부 페이지 개발을 위해 웹 개발 지식, 외부 앱 패키징을 위해 앱 개발 지식 필요 |
참고자료
Lillo blog, 앱 개발을 위한 모바일 앱 종류 - 네이티브 앱, 웹앱, 하이브리드 앱 장점/단점
보민님의 블로그, [코드스테이츠 PMB 11기]네이티브앱, 모바일 웹앱, 하이브리드앱 비교분석하기_W7 D2
다니엘의 라이브러리, 네이티브앱 vs 웹앱 vs 하이브리드 앱
'IT > Computer Science' 카테고리의 다른 글
Clean Code / Refactoring (0) | 2023.01.25 |
---|---|
RDBMS / NoSQL (0) | 2023.01.20 |
Process / Thread (1) | 2023.01.18 |
ORM (2) | 2023.01.17 |
추상 클래스 / 인터페이스 (0) | 2023.01.16 |