What I Learned/미분류
모바일 앱의 종류와 개념
Interrobang
2024. 2. 24. 14:25
Native App (네이티브 앱)
- 특정 플랫폼(iOS 또는 Android)에 최적화된 언어 및 도구를 사용하여 개발됩니다.
- Swift/Objective-C(iOS), Java/Kotlin(Android)와 같은 네이티브 언어를 사용합니다.
- 각 플랫폼의 고유 기능을 최대한 활용할 수 있습니다.
- 높은 성능과 좋은 사용자 경험을 제공합니다.
- 플랫폼마다 별도로 개발되어야 하기 때문에 시간과 비용이 많이 들 수 있습니다.
Web App (웹 앱)
- 웹 기술(HTML, CSS, JavaScript)을 사용하여 개발되며, 모바일 브라우저에서 실행됩니다.
- 크로스 플랫폼 호환성이 뛰어나며, 하나의 코드베이스로 여러 플랫폼을 대상으로 할 수 있습니다.
- 온라인 상태에서만 동작하며, 오프라인에서는 일부 기능이 제한될 수 있습니다.
Hybrid App (하이브리드 앱)
- Web 기술을 사용하여 개발되지만, 네이티브 앱의 컨테이너에서 실행됩니다.
- 웹 기술을 사용하기 때문에 크로스 플랫폼 호환성이 좋으며, 네이티브 기능에 접근할 수 있습니다.
- 네이티브 앱보다는 성능이 낮을 수 있고, 특정 네이티브 기능의 지원이 제한될 수 있습니다.
Progressive Web App (PWA, 프로그레시브 웹 앱)
- 웹 기술을 사용하여 개발되며, 최신 웹 기술(Service Workers, Web App Manifest 등)을 활용하여 네이티브 앱과 유사한 사용자 경험을 제공합니다.
- 오프라인에서도 작동 합니다.
- 크로스 플랫폼 호환성이 뛰어나며, 개발 비용이 낮고 빠릅니다.
- 일부 기능이 제한될 수 있고, 브라우저 호환성 문제가 발생할 수 있습니다.
Cross-Platform App (크로스 플랫폼 앱)
- 하나의 코드베이스를 사용하여 여러 플랫폼(iOS, Android 등)에서 실행되는 앱을 개발합니다.
- 크로스 플랫폼 개발 프레임워크(예: React Native, Flutter, Xamarin)를 사용하여 개발됩니다.
- 네이티브 앱과 유사한 성능을 제공하며, 하나의 코드베이스로 여러 플랫폼을 대상으로 할 수 있습니다.
- 개발 비용과 시간을 절약할 수 있지만, 네이티브 앱보다는 성능이 낮을 수 있습니다.