모바일 앱 개발을 어떤 방식으로 개발해야 할까?
모바일 개발에 대해 생각하면 알면서도 헷갈리는 모바일 개발 방식의 종류에 대해 알아보려합니다.
새로운 서비스를 런칭한다고 하였을 때 모바일 앱은 필수적인 사항이라고 생각될 만큼
요즘 모든 서비스가 모바일로 가능한 시대에 살고있죠
그렇다면 모바일 앱은 어떻게 만들어야 할지 고민을 하게 되는데
크게 3가지로 다음과 같이 분류할 수 있습니다.
1) 네티이트 앱(Native App)
2) 웹 앱(Web App)
3) 하이브리드 앱(Hybrid App)
어떤 앱을 만든다고 할 때 어떻게 만들지 많은 고민을 하게됩니다.
네이티브앱 vs 하이브리드앱??
또한 개발 인력이 존재하는지 각 앱 개발 방식의 장단점을 보고 결정해야 합니다.
각 앱 개발방식의 장단점을 보면 아래와 같습니다.
Native App
- 특정 플랫폼만에 최적화된 언어로 개발된 앱 - 안드로이드는 Java,Kotlin 언어로 iOS는 Objective-c, Swift 로 개발함 |
|
장
점 |
· 디바이스에 최적화된 빠른 성능 제공
· OS 및 디바이스의 더 나은 기능 사용 (GPS, 센서, 카메라 등) · 오프라인 사용 가능 · 보다 나은 사용자 경험(UI/UX) · 안정적 운영성(오픈소스/라이브러리 의존X) |
단
점 |
· 새로운 기능을 추가하면 앱 재심사 및 업데이트 필요
개발언어에 대한 러닝 높은 러닝커브 · 다른 플랫폼에 대한 높은 개발비용 |
Web App
- 앱 설치 없이 웹 브라우저를 통해 이용할 수 있는 애플리케이션 - 삼성인터넷, GoogleChrome, Safari, Firefox 등의 웹 브라우저 사용 - 다양한 브라우저에서의 보편적 사용위한 javascript, css 및 html 표준 사용 |
|
장
점 |
· 별도의 앱 설치/업데이트 없이 사용가능
· 웹 개발 기술과 언어로 비용과 시간 등 저렴 · 항상 최신상태로 유지됨(앱 업데이트 없음) |
단
점 |
· 항상 인터넷에 연결되어 있어야 사용가능
· 네이티브앱에 비해 기능이 제한적임(하드웨어 기능 제한) · 스마트폰에 최적화 된 언어가 아니기에 상대적으로 부족한 퍼포먼스 |
Hybrid App
- 네이티브앱과 웹앱의 장점을 모아놓은 앱형태 |
|
장
점 |
· 네이티브앱에 비하여 구축이 용이함
· 유지보수 및 업데이트에 수월함(단일코드기반) · 개발자 수급에 용이함 · 모든 플랫폼에서의 일관된 사용자 경험제공 |
단
점 |
· 하드웨어 기능 사용을 위한 높은 복잡성
· 네이티브앱 대비 낮은 성능 · 네이티브앱 대비 높은 보안위험 · 웹앱 대비 높은 개발비용 · 네이티브플러그인에 종속됨 |
Progressive Web App (PWA)
- Web App의 진보된 형태 (웹과 네이티브앱의 장점을 결합한 웹 기술) |
|
장
점 |
· 웹 개발기술로 개발됨
· 네이티브앱과 유사한 사용자 경험을 제공 (Push알림,오프라인환경,홈화면추가) · 항상 최신상태로 유지됨 · URL공유로 쉽게 PWA공유가능 |
단
점 |
· 홈화면추가/알림등은 안드로이드로 제한
(iOS의 최신버전은 지원예정) · 네이티브앱에 비해 기능이 제한적임(하드웨어 기능 제한) · 쉽지만 불편한 설치(홈화면추가) · 네이티브앱 대비 부족한 사용자인터페이스 |
서비스와 현재 회사에 맞는 방법을 찾아 최적의 방법으로 한다면 서비스의 런칭 성공에 조금 더 가까워 질 수 있을거라 생각됩니다.
#NativeApp #webApp #HybridApp #ProgresssiveWebApp
#mobileweb #pcweb #mobile #react #vue #flutter #angular
'IT&DEV - IT & 개발 > Frontend' 카테고리의 다른 글
[ReactNative] npm run ios 실행시 Command PhaseScriptExecution failed 해결 (0) | 2022.04.28 |
---|---|
vue 프로젝트 생성시 command failed: yarn 발생 해결방법 (0) | 2022.04.22 |
댓글