이번 네이티브 언어인 kotlin으로 프로젝트를 완료하여, 이 세가지 방식에 대해 확실한 차이와 언제 사용하면 좋을지 정리하기 위한 글이다.
네이티브앱은 각각의 플랫폼에 맞춰서, 맞는 언어로 개발된 어플리케이션이다.
예를 들면, ios플랫폼에선 대중적인 swift로 개발된 어플리케이션이 있고, android 플랫폼에선 kotlin으로 개발된 언어가 있다. 이는 휴대폰 자체의 기능(음성, 지문인식, 얼굴인식 등)을 사용할 수 있고, 따라서, 각각의 플랫폼에 최적화된 어플리케이션을 개발할 수 있다. 또한, 앱스토어에서 앱을 설치하여 사용해야한다.
웹앱의 동작방식은 기본적으로 브라우저를 통하여 동작한다. 웹 어플리케이션을 모바일로 접속하여 브라우저상으로 보여주는 방식이다. 이는 스토어에서 따로 다운 받을 수 없으며, 브라우저를 통하여 사용해야한다.
하이브리드 앱은 특정 유형의 네이티브 앱이다. 하지만 내부 구조적으론, 웹 앱에 더 가깝다. 내부 코드는 웹 앱의 코드처럼 작성하고, 컨테이너를 네이티브로 감싸는 형식이다. 하이브리드 앱 역시 스토어에서 다운받아 사용할 수 있으며, 디바이스 자체 기능에 접근할 수 있다.
웹 앱은 비교적 개발이 빠르고, 비용이 적게 든다. 하지만 디바이스 자체기능에 접근하기가 어렵고, 더 안좋은 성능을 제공한다.
하이브리드 앱은 더 낮은 비용으로 네이티브 앱과 동일한 성능 및 사용자 경험을 제공한다. 개발자는 JavaScript, CSS, HTML5와 같은 일반적으로 사용되는 앱 개발 언어와 기술을 사용하여 하이브리드 앱을 구축할 수 있다. 구축한 앱은 Ionic, Cordova 또는 React Native와 같은 하이브리드 앱 개발 프레임워크와 통합할 수 있습니다. 개발 시간이 짧고 비용이 낮으면서도, 앱 스토어에 업로드하여 동일한 노출 및 검색 범위를 확보할 수 있습니다.
프로그레시브 웹 앱과 하이브리드 앱은 모두 앱 스토어에서 제공할 수 있다. 그러나 프로그레시브 앱은 별다른 노력을 하지 않아도 검색 엔진 결과에서 더 높은 순위를 차지한다. 또한 동일한 키워드 타겟팅을 사용하는 하이브리드 앱보다 더 나은 검색 결과를 얻을 수 있다.
대부분의 경우, 프로그레시브 웹 앱은 하이브리드 앱보다 크기가 작고 모바일 스토리지와 메모리의 사용량이 적다. 하지만 기반 기술이 네이티브 기술이 아니라 브라우저 종속성으로 인해 사용자의 모바일 배터리 소모량이 증가할 수 있다.
프로그레시브 웹 앱 기술은 하이브리드 앱이나 웹 앱에 비해 새로운 기술이다. 따라서 프로그레시브 앱은 활발한 개발자와 커뮤니티의 지원을 바탕으로 여전히 진화하고 있다. 하이브리드 앱 기술은 상대적으로 성숙한 기술이고 개발 비용이 더 적게 든다.

출처: https://aws.amazon.com/ko/compare/the-difference-between-web-apps-native-apps-and-hybrid-apps/