네이티브 앱, 하이브리드 앱, 웹 앱, PWA 각각의 개발 방식과 장단점을 이해
<앱 개발 방식 참고>
네이티브 앱 & 웹 앱 & 하이브리드 앱 | 👨🏻💻 Tech Interview
네이티브 앱 & 웹 앱 & 하이브리드 앱 네이티브 앱 (Native App) 흔히 우리가 자주 사용하는 어플리케이션을 의미한다. 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용한 Java 언
gyoogle.dev
네이티브 앱(Native App)
- 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드나 iOS 기반의 SDK를 이용한 앱
- 웹 앱과 하이브리드 앱에 비해 성능이 가장 높고 네이티브 API를 호출하여 사용함으로 플랫폼과 밀착되어 있다는 장점
- 하지만 버전 및 기기별로 지원되는 기능에 차이가 있는 것처럼 플랫폼에 한정적이며 언어에 제약적인 단점이 있음
- 플랫폼 종속적이지만, 플랫폼 API를 자유롭게 사용하면서 모바일 기기에 최적화된 서비스를 개발할 수 있음
모바일 웹 앱(Mobile Web App)
- 모바일 웹 + 네이티브 앱 : PC용 홈페이지를 모바일 스크린 크기에 맞춰 줄여 놓은 것
- SPA를 활용해 속도가 빠르며, 따로 설치할 필요가 없고 모든 기기와 브라우저에서 접근이 가능해 접근성이 높다는 장점
- 하지만 플랫폼 API(ex. 토스트나 팝업, 푸시 알림, 외부 기기 제어 등) 사용이 불가하고 오직 브라우저 API만 사용 가능하며, 친화적 터치 앱을 개발하기 약간 번거롭고, 브라우저를 열고 검색해서 접속해야해 번거롭다는 단점이 있음
하이브리드 앱(Hybrid App)
- 네이티브 + 웹앱
- Html, CSS, Javascript를 기반(웹 기반)으로 만들어진 앱
- 플랫폼 API와 브라우저 API를 모두 사용할 수 있으며, 웹 개발 기술로 앱 개발이 가능하고 한 번의 개발로 다수 플랫폼에서 사용이 가능하다는 장점
- 하지만 네이티브 기능 접근을 위해 개발 지식이 필요하다는 어려움이 있음
PWA(Progressive Web App)
- PWA?
- 웹의 장점과 앱의 장점을 결합한 환경, 즉, 앱 수준과 같은 UX를 웹에서 제공하는 것이 목적
- 몇 가지 기능(ex. 설치 기능)을 추가하여 전통적인 웹 사이트를 좀 더 강화한 것
- 설치, 알림이나 주소록 접근 등의 기능을 제공하는 플랫폼 API를 웹에서 사용할 수 있음
- 필요한 조건?
- HTTPS를 운영 : 운영체제의 여러 특별한 권한을 부여받기에 웹서버와의 보안 연결 필수
- 웹 앱 매니페스트(Web App Manifest) 필요 : 사이트 관련된 정보를 담는 JSON파일
- 서비스 워커를 사용 : ex. 모질라 브라우저 가이드..?
- PWA와 하이브리드 앱 차이?
- 앱스토에어서 받으면 `네이티브 앱` or `하이브리드 앱`
- 브라우저로 접속하면 `웹 앱` or `PWA`
- 하이브리드 앱과 비슷하게 앱에서만 가능한 기능인 플랫폼 API(ex. 푸시알림 등)를 사용할 수 있지만, 앱스토어에서 다운로드 받을 필요가 없고 네트워크 환경이 좋지 않아도 빠르게 구동된다는 장점이 있음
- 웹에서 네이티브 앱 기능을 활용할 수 있도록 하는 만큼 보안 연결이 필수임(HTTPS 운영)
'CS > Web' 카테고리의 다른 글
SSR & CSR (0) | 2021.01.03 |
---|---|
인증 & 인가, 로깅 (0) | 2021.01.03 |
Web Server & WAS (0) | 2021.01.02 |
REST API (0) | 2021.01.02 |
쿠키&세션, Http Status code (0) | 2021.01.02 |