Native vs Hybrid vs Cross Platform
스마트폰 앱은 크게 세 가지 방법으로 개발된다.
- 네이티브 방식
- 하이브리드 방식
- 크로스 플랫폼 방식
Native 방식
안드로이드나 iOS같은 플랫폼 자체에서 제공하는 개발환경으로 개발하는 방식이다.
OS | 개발 도구 | 개발 언어 |
---|---|---|
Android | Android Studio | Java, Kotlin |
iOS | XCode | Objective-C, Swift |
앱을 개발하기에 최적의 방법이지만,
플랫폼별로 전부 개발하려면 알아야 할 지식이 배로 늘어난다.
Hybrid 방식
웹 기술로 앱 화면을 만든 후 네이티브 기술로 감싸서 앱 형태로 포장하는 방식이다.
HTML, CSS, JS 만으로 앱을 구현할 수 있다는 장점이 있다.
기존의 웹 기술을 활용하기 떄문에 빠른 개발이 가능하지만,
네이티브에 비해 성능이 떨어지고 스마트폰의 기능을 일부만(카메라 등) 사용할 수 있다. 또한 UI를 별도로 만들어야하기 때문에 네이티브 앱 느낌을 내지 못한다.
하지만 필요한 부분만 부분적으로 네이티브 코드로 작성하면 기능 제약 없이 효율적으로 개발할 수 있다.
개인적으로 가장 큰 장점은 앱스토어의 검수 없이 앱을 업데이트 할 수 있다는 것이다.
Cross Platform 방식
한 번의 구현으로 안드로이드와 iOS 등 각 플랫폼용 앱을 만들 수 있는 방식이다. 안드로이드, iOS뿐 아니라 웹, 데스크톱 앱 개발도 가능하다.
빌드할 때 네이티브 코드로 변환되기 때문에 결과적으로는 네이티브 방식으로 개발했을 때와 거의 같은 성능을 보장한다.