프로그래밍/Flutter

네이티브 앱(Native App) vs 하이브리드 앱(Hybrid App) vs 프로그레시브 웹 앱(PWA) 이란?

리신 2022. 7. 25. 03:22
반응형

모바일 앱을 개발할 때 다양한 방법으로 앱을 개발할 수 있음.

 

그 중 3가지 방법

  • 네이티브 앱(Native App) : 앱의 성능이나 실행될 장치의 하드웨어 방면 기능이 매우 필요한 경우 사용
  • 하이브리드 앱 (Hybrid App) : 웹 개발에 익숙하고 빠른 기간 내에 앱을 구축하고 싶은 경우 사용
  • 프로그레시브 웹 앱(PWA) :  사용자의 방문이 많고 웹과 모바일 둘 다 되는 앱을 구상 중인 경우 사용

네이티브 앱( Native App )

Android 또는 IOS처럼 각 모바일 운영체제 맞는 언어로개발한 앱을 네이티브 앱이라고 한다.

Android는 구글에서 만든 운영체제이며 java 또는 Kotlin으로 개발가능하고,

IOS는 애플에서 만든 운영체제이며  Objective C 또는 Swift로 개발 가능하다.

운영체제에 맞는 언어로 개발하기 때문에 실행 속도가 빠르고 안정적이며, 스마트폰의 하드웨어 기능을 사용할 수 있다는 장점이 있다.(ex 카메라 촬영, 블루투스 기능, GPS 기능, QR기능 등)

 

장점

  • 사용자에게 빠르고 안정적인 환경을 제공
  • 스마트폰의 하드웨어 기능을 쉽게 활용할 수 있음. (ex 카메라 촬영, 블루투스 기능, GPS 기능, QR기능 등)

단점

  • Android와 IOS의 호환이 되지 않기 때문에 별도 제작. 따라서 개발 자체에 시간과 비용이 많이 소

이 방법을 사용하는 이유

  • 3D 게임, 애니메이션 제작 시 사용
  • 어떠한 장치의 특별한 기능을 사용하고 싶을 경우 사용
  • 앱 기능이 많고 복잡하여 성능이 우려될 경우 사용 

 


 

하이브리드 앱( Hybrid App )

네이티브 앱과 웹 앱의 기능을 결합한 것이라고 생각하면 된다.

네이티브 앱의 장점인 접근성의 극대화, 빠른 속도, 고유기능 사용과 모바일 웹앱의 장점인 개발비용 절감, 유지보수 용이의 장점을 결합해 나온 앱이다. 

앱의 기반이 되는 콘텐츠 영역은 HTML 기반의 웹 앱으로 제작하고 최종 앱 배포에 필요한 패키징 처리만 IOS, Android 플랫폼 안에서 처리한다.

 

장점

  • 한 번의 개발로 다수의 플랫폼에 대응 가능
  • 네이티브 기능 액세스 가능
  • 웹 개발 기술을 사용해 앱을 개발할 수 있음

단점

  • 웹뷰에서 앱을 실행해야 하는 경우이기 때문에 브라우저 성능에 따라 앱 성능 영향 받음
  • 네이티브 앱보다 제한적 기능, 느린 속도
  • 네이티브 앱 개발 지식도 필요

이 방법을 사용하는 이유

  • 다양한 플랫폼 (모바일 웹)을 통한 사용자 층이 넓을 경우 사용
  • 복잡한 기능이 필요하지 않을 경우 사용
  • 시간이 촉박한데 여러 디바이스에서 실행돼야 하는 경우 사용

 


 

프레그 시브 웹 앱 ( PWA : Progressive Web App )

PWA는 하이브리드 앱과 비슷하지만 사용자들에게 네이티브 앱의 느낌을 준다.

웹 브라우저에서 특별한 다운로드나 설치 과정 없이 바탕화면에 바로가기를 추가해서 기본 앱처럼 사용하는 것이 특징이다.

HTML, CSS, 자바스크립트(JavaScript)와 같은 웹 기술로 만든 앱이다. 하지만 기능은 실제 네이티브 앱과 견줄 수 있을 정도로 좋다.

디바이스의 네이티브 기능 (ex 카메라 촬영, GPS 기능 등)을 사용할 수 있다. (IOS 보다 Android가 용이)

 

장점

  • 서비스 워커(Service Worker)를 사용하여 오프라인이나 느린 네트워크에서도 작동, 업데이트로 인한 최신 상태 유지
  • Https를 통한 안전성 확보
  • 다양한 플랫폼에서 실행 가능
  • 네이티브 앱보다는 시간, 비용 정략
  • 반응형 개발 가능 ( 다양한 화면 크기 수용 )
  • 검색 엔진 사용 가능
  • 설치 과정이 없음
  • 네이티브 앱과 비슷하기에 사용하는데 어려움이 없음

단점

  • PWA를 지원하지 않은 브라우저가 있음 (오래된 버전)
  • IOS의 약한 성능 및 애플 디바이스에 대한 적은 지원
  • 앱 스토어 사용이 불가능
  • 배터리 전력 소모가 큼

이 방법을 사용하는 이유

  • 기본 앱의 기능이 있는 다중 플랫폼 앱 필요시 사용
  • 많은 사용자들이 다양한 채널을 통해 동시 접속할 경우 동일한 서비스를 제공하고자 할 때 사용
  • 강력한 전자 상거래 서비스를 제공할 경우 사용

 

 

 

반응형