IT/지식 공유

모바일 APP 개발 종류에 대해서

언클린 2021. 12. 23. 20:36
728x90

이번에는 모바일 App 개발에 앞서 개발 종류에 대해 알아보겠습니다.

이번 글에서는 모바일의 App 개발을 크게 3가지로 분류하였습니다.

(웹앱과 같은 경우는 이번 글에서 제외시켰습니다.)


1. 네이티브 앱

네이티브 앱은 외적인 지원 없이 특정 하드웨어 및 OS에서 그대로 실행하는 앱을 뜻합니다.

각각의 운영체제에서 각각의 언어를 사용하여 개발합니다. 대표적으로 Google의 android, Apple 의 iOS 가 있습니다.

 

  • android
    • 2007년 구글에서 개발
    • Android Studio 개발 툴 사용
    • 개발 언어 - JAVA, Kotlin

 

  • iOS
    • 2007년 애플에서 개발
    • Xcode 개발 툴 사용
    • 개발 언어 - Objective-C, Swift

 

장점

  1. 모바일 개발에서의 중요한 감성을 그대로 표현할 수 있음
  2. 각각의 OS에서 제공하는 API를 가장 효율적으로 활용할 수 있음
  3. 그래픽, 속도 등에 있어 안정감 있음

단점

  1. 각각 개발을 진행해야 하므로 개발 공수가 많이 필요
  2. 학습도 각각 진행할 필요가 있음

ex)

유튜브, 네이버 지도, 토스 등

 

2. 하이브리드 앱

하이브리드 앱은 웹의 기술을 그대로 사용하거나 최대한 활용할 수 있는 방법 입니다.

앱 개발의 초기 개발자가 많지 않았을 때 많이 활용했던 방법입니다.

하이브리드 앱은 안드로이드, iOS의 웹 뷰 UI 컴포넌트를 활용하여 개발합니다.

 

  • 개발 환경
    • 개발 언어 - JS(Javascript), CSS, HTML
    • 프레임워크 - PhoneGap, CORDOVA

 

장점

  1. 개발 시간을 단축할 수 있음
  2. 유지보수 필요시 웹 페이지를 수정으로 실시간 대응에 용이
  3. 앱 용량이 가벼움

단점

  1. UI 를 일일이 만들어야 함
  2. 네이티브의 API 사용에 있어 제한적임
  3. 네이티브의 지식이 어느 정도 필요함
  4. 네트워크 환경과 웹 페이지의 용량에 영향이 있음

ex)

네이버, 쿠팡, 구글, 다음 등

 

3. 크로스 플랫폼 앱

하나의 언어와 프레임워크로 android, iOS 양 쪽을 개발할 수 있는 방식입니다.

크로스 플랫폼은 빌드 시 android/iOS 에서 이해할 수 있는 코드로 변환되어집니다.

 

  • React Native
    • 2015년 페이스북에서 개발
    • 리엑트로 코드 작성 -> JS로 컴파일 -> 각각의 OS에서 JS 엔진으로 실행

 

  • Xamarin
    • 2011년 MS에서 개발
    • C#으로 작성 -> intermediate(IL) 컴파일

 

  • Flutter
    • 구글에서 개발
    • Dart 로 코드 작성 -> C,C++ 로 컴파일

 

장점

  1. 하나의 언어로 android/iOS 개발 진행
  2. 개발 시간 단축

단점

  1. 네이티브의 감성을 따라갈 순 없음
  2. 상황에 따라 해결하기 어려운 버그가 발생할 수 있음

ex)

에어비엔비(최근에 네이티브로 전향), 페이스북 등

 

마무리

이번 글에서는 간단히 모바일 개발 종류에 대해 알아보았습니다. 

모바일 개발도 여러 가지 상황과 서비스에 따라 각각의 방법으로 진행할 수 있다는 점을 알 수 있는 기회가 되었으면 좋겠습니다.

감사합니다!


 

 

 

 

 

728x90