728x90
이번에는 모바일 App 개발에 앞서 개발 종류에 대해 알아보겠습니다.
이번 글에서는 모바일의 App 개발을 크게 3가지로 분류하였습니다.
(웹앱과 같은 경우는 이번 글에서 제외시켰습니다.)
1. 네이티브 앱
네이티브 앱은 외적인 지원 없이 특정 하드웨어 및 OS에서 그대로 실행하는 앱을 뜻합니다.
각각의 운영체제에서 각각의 언어를 사용하여 개발합니다. 대표적으로 Google의 android, Apple 의 iOS 가 있습니다.
- android
- 2007년 구글에서 개발
- Android Studio 개발 툴 사용
- 개발 언어 - JAVA, Kotlin
- iOS
- 2007년 애플에서 개발
- Xcode 개발 툴 사용
- 개발 언어 - Objective-C, Swift
장점
- 모바일 개발에서의 중요한 감성을 그대로 표현할 수 있음
- 각각의 OS에서 제공하는 API를 가장 효율적으로 활용할 수 있음
- 그래픽, 속도 등에 있어 안정감 있음
단점
- 각각 개발을 진행해야 하므로 개발 공수가 많이 필요
- 학습도 각각 진행할 필요가 있음
ex)
유튜브, 네이버 지도, 토스 등
2. 하이브리드 앱
하이브리드 앱은 웹의 기술을 그대로 사용하거나 최대한 활용할 수 있는 방법 입니다.
앱 개발의 초기 개발자가 많지 않았을 때 많이 활용했던 방법입니다.
하이브리드 앱은 안드로이드, iOS의 웹 뷰 UI 컴포넌트를 활용하여 개발합니다.
- 개발 환경
- 개발 언어 - JS(Javascript), CSS, HTML
- 프레임워크 - PhoneGap, CORDOVA
장점
- 개발 시간을 단축할 수 있음
- 유지보수 필요시 웹 페이지를 수정으로 실시간 대응에 용이
- 앱 용량이 가벼움
단점
- UI 를 일일이 만들어야 함
- 네이티브의 API 사용에 있어 제한적임
- 네이티브의 지식이 어느 정도 필요함
- 네트워크 환경과 웹 페이지의 용량에 영향이 있음
ex)
네이버, 쿠팡, 구글, 다음 등
3. 크로스 플랫폼 앱
하나의 언어와 프레임워크로 android, iOS 양 쪽을 개발할 수 있는 방식입니다.
크로스 플랫폼은 빌드 시 android/iOS 에서 이해할 수 있는 코드로 변환되어집니다.
- React Native
- 2015년 페이스북에서 개발
- 리엑트로 코드 작성 -> JS로 컴파일 -> 각각의 OS에서 JS 엔진으로 실행
- Xamarin
- 2011년 MS에서 개발
- C#으로 작성 -> intermediate(IL)로 컴파일
- Flutter
- 구글에서 개발
- Dart 로 코드 작성 -> C,C++ 로 컴파일
장점
- 하나의 언어로 android/iOS 개발 진행
- 개발 시간 단축
단점
- 네이티브의 감성을 따라갈 순 없음
- 상황에 따라 해결하기 어려운 버그가 발생할 수 있음
ex)
에어비엔비(최근에 네이티브로 전향), 페이스북 등
마무리
이번 글에서는 간단히 모바일 개발 종류에 대해 알아보았습니다.
모바일 개발도 여러 가지 상황과 서비스에 따라 각각의 방법으로 진행할 수 있다는 점을 알 수 있는 기회가 되었으면 좋겠습니다.
감사합니다!
728x90
'IT > 지식 공유' 카테고리의 다른 글
B2B & B2C 에 대해 알아보자! (0) | 2021.12.07 |
---|---|
클라우드 서비스에 대해서 알아보자! (IaaS, PaaS, SaaS) (0) | 2021.12.06 |
UI 와 UX 에 대하여 알아보자! (0) | 2020.06.15 |
Mac에서 PlantUML을 사용해보자! (0) | 2020.04.20 |
MAC의 brew cask를 사용하여 이전 버전의 JAVA를 설치해보자! (0) | 2020.04.17 |