네이티브 앱(Native App)
네이티브 앱은 모바일 기기의 안드로이드 혹은 iOS 스토어에서 다운로드하여 사용할 수 있는 '애플리케이션'을 의미합니다.
모바일 기기에 최적화된 언어로 개발한 앱으로, 안드로이드 SDK를 통해서 Java, Kotlin으로 개발하는 앱과, iOS 기반 SDK를 통해 Swift, Objective-C 언어로 만드는 앱입니다.
(SDK: Software Development Kit의 약자로, 소프트웨어를 개발하는 프로그래머들을 위해 제공하는 개발 도구)
장점
- 네이티브 앱은 웹 앱, 하이브리드 앱과 비교해도 가장 성능이 좋습니다.
- 각 플랫폼(iOS, Android)의 네이티브 API를 직접 활용할 수 있어 성능과 안정성이 뛰어납니다.
단점
- Android, iOS 각 플랫폼에 맞도록 따로 개발을 해야 하기 때문에, 앱 개발에 시간과 비용이 많이 들게 됩니다.
- 앱 업데이트 시에 각 플랫폼에 맞는 스토어에서 검수를 거쳐야 하므로, 배포 속도가 느릴 수 있습니다.
- 또한, 유저가 직접 앱 스토어에서 업데이트해야 하는 번거로움이 있습니다.
웹 앱(Web App)
웹 앱은 네이티브 앱처럼 보일 수 있지만, 사실은 브라우저에서 실행되는 HTML, CSS, JavaScript 기반의 모바일 최적화 웹 애플리케이션입니다.
장점
- 개발 및 유지 보수 비용이 적게 듭니다.
- 애플과 구글의 심사 없이 수정이 가능해서, 업데이트 속도가 빠릅니다.
- 네이티브 앱 같은 경우 버전에 따라 호환되지 않는 앱들이 있는데, 웹 앱은 앱 다운이 아닌 브라우저에서 접근하기 때문에, 버전 상관없이 모든 기기에서 사용이 가능합니다.
단점
- 스마트폰 자체 운영체제에서 제공하는 API 사용이 불가능합니다.
- 웹이기 때문에, 모바일 하드웨어 접근이 불가능해서 모바일의 몇몇 기능을 활용할 수 없습니다.
하이브리드 앱(Hybrid App)
하이브리드 앱은 웹 기술(HTML, CSS, JavaScript)을 활용하여 개발하지만, 네이티브 기능과 함께 사용할 수 있습니다.
하이브리드 앱은 기본적으로 웹 기술을 사용하지만, WebView를 통해 웹 콘텐츠를 앱 내에서 보여주거나, 네이티브 UI를 활용할 수도 있습니다.
장점
- 하이브리드 앱은 네이티브 API와 웹 기술을 함께 활용하여 개발할 수 있습니다.
- 그리고 웹 기술만으로 개발하여 개발 및 유지보수가 간단합니다.
단점
- 하이브리드 앱은 WebView에서 웹 콘텐츠를 실행하기 때문에, 네트워크 속도나 웹 성능에 영향을 받을 수 있습니다.
- 결국 배포는 네이티브 앱처럼 Android, iOS의 각 플랫폼의 스토어에서 배포해야 하기 때문에,
업데이트 반영 속도가 느리질 수 있습니다.
References
'📱 iOS' 카테고리의 다른 글
[iOS] Push, Present 화면 전환에 대해 알아보자. (0) | 2022.02.24 |
---|---|
[Xcode] 코드 자동 정렬(Re-Indent), 단축키 (0) | 2021.08.31 |
[iOS] Xcode 시뮬레이터 키보드가 안보일 경우 (0) | 2021.07.29 |