어떤 앱을 만들것인가? PWA / Native / Hybrid

JACKJACK·2023년 10월 15일
1
post-thumbnail

모바일 애플리케이션 개발

PWA (Progressive Web App), Native App, 그리고 Hybrid App은 모바일 애플리케이션 개발 방식에 대한 다른 접근 방법을 나타낸다. 각 접근 방식은 프로젝트 요구 사항, 개발자의 기술 스택, 예산, 시간 제약 등을 고려하여 선택되어야 한다.

각각의 특징을 살펴보면 PWA는 크로스 플랫폼 지원과 업데이트의 편리성을 강조하며, Native App은 최적화와 네이티브 기능 활용을 중시하고, Hybrid App은 플랫폼 독립성과 개발 편의성을 제공한다.

PWA(Progressive Web App)

PWA는 웹 애플리케이션의 형태를 가지면서도 네이티브 앱과 유사한 경험을 제공하는 애플리케이션이다. 주요 특징은 다음과 같다.

  • 접근성 및 플랫폼 독립성: PWA는 웹 기술을 기반으로 하며, 모든 현대 브라우저에서 실행 가능하다. 따라서 모바일, 데스크톱, 다양한 플랫폼에서 동작하며, 하나의 코드베이스를 사용하기 때문에 개발 비용이 절감되며 유지보수가 간단하다. 하지만 모든 브라우저에서 완벽하게 동작하지 않을 가능성이 있어 주의해야 한다.
  • 설치 없이 사용 가능: PWA를 홈 화면에 추가하면 사용자는 앱 스토어를 통한 설치 없이도 앱처럼 사용할 수 있어 편리하다.(유사 앱처럼 사용)
  • 오프라인 기능: Service Worker(백그라운드에서 실행되는 JS)와 캐싱을 사용하여 오프라인에서도 일부 또는 전체 앱 기능을 사용할 수 있고 캐싱으로 로딩속도를 빠르게 하여, 사용자 경험을 향상시킬 수 있다. 하지만 모든 기능을 오프라인 모드에서 사용할 수 있는것은 아니며, 오프라인 사용을 위한 개발 비용이 추가로 들 수 있다.
  • 자동 업데이트: 웹 기반으로 동작하므로, 개발자가 앱을 업데이트하면 사용자는 최신 버전을 자동으로 받아볼 수 있다. (플레이/앱 스토어의 심사 승인이 필요 없음)
  • SEO 향상: 웹 기반으로 작동하므로 검색 엔진 최적화가 간편하며, 검색 결과에 표시될 수 있다.
  • 기기 기능 활용: 카메라, GPS, 알림과 같은 기기 기능에 접근하여 네이티브 앱과 유사한 경험을 제공할 수 있다. 하지만 특정 기능은 접근이 제한적일 수 있다.
  • HTTPS 보안: PWA는 HTTPS를 사용해야 하며, 이를 통해 사용자 데이터 보호와 보안을 강화한다.
  • 배터리 성능: 브라우저에서 실행되므로 배터리 소모가 많다.

Native App

네이티브 앱(Native App)은 특정 플랫폼(Android, iOS 등)에 최적화된 프로그래밍 언어로 개발되어 사용자가 해당 플랫폼에서 직접 설치하는 애플리케이션이다. 주요 특징은 다음과 같다.

  • 플랫폼 최적화: 네이티브 앱은 특정 플랫폼에 최적화되어 있으며, 해당 플랫폼의 기능과 성능을 최대한 활용할 수 있다. 반면에 여러 플랫폼에 대한 개발비용이 들기 때문에, 개발 비용이 높을 수 있다.
  • 뛰어난 성능: 네이티브 앱은 하드웨어와 소프트웨어에 더 가까이 접근하기 때문에 빠른 성능을 제공합니다. 그래픽, 애니메이션, 데이터 처리 등에서 우수한 성능을 보입니다.
  • 풍부한 접근성: 기기의 하드웨어 기능(카메라, GPS, 센서 등)을 완벽하게 활용하여 다양한 기능을 제공할 수 있습니다.
  • 스토어 제공: 앱 스토어(App Store, Google Play 등)를 통해 앱을 사용자에게 쉽게 배포할 수 있는 장점이지만 처음 설치 시, 일부 사용자는 번거로울 수 있다. 또한 매번 스토어에 업데이트를 제출하고 사용자에게 업데이트를 유도해야 한다는 단점이 있다.
  • ASO 향상: ASO(App Store Optimization)를 통한 앱스토어에서의 가시성과 접근성을 높일 수 있다.
  • 오프라인 기능: 네이티브 앱은 오프라인에서도 대부분의 기능을 사용할 수 있도록 설계할 수 있다. 하지만 오프라인 사용을 위한 개발 비용이 추가로 들 수 있다.
  • 보안 기능: 다양한 보안 기능 내장으로 프리미엄 보안이 제공된다.
  • 배터리 성능: 빠른 네이티브 코드 덕에 배터리 소모가 적다.

Hybrid App

하이브리드 앱(Hybrid App)은 웹 기술(HTML, CSS, JavaScript)을 기반으로 개발되며, 네이티브 앱과 웹 앱(PWA)의 특징을 결합한 형태의 모바일 애플리케이션이다. 주요 특징은 다음과 같다.

  • 웹 기반 개발: 하이브리드 앱은 웹 기술을 사용하여 개발된다. (≒PWA)
  • 플랫폼 독립적: 하이브리드 앱은 하나의 코드베이스를 사용하여 여러 플랫폼(Android, iOS 등)에서 실행 가능하다. 따라서 네이티브 앱에 비해 개발 비용이 낮을 수 있다.(≒PWA)
  • 네이티브 기능 접근: 하이브리드 앱은 네이티브 브릿지(Native Bridge)를 통해 네이티브 기능에 접근할 수 있습니다. 이를 통해 카메라, GPS, 알림 등과 같은 기기 기능을 활용할 수 있다.(≒NATIVE)
  • 오프라인 기능: 하이브리드 앱은 웹 기술을 기반으로 하지만 오프라인에서도 일부 또는 전체 앱 기능을 사용할 수 있도록 구현할 수 있다.(≒PWA, NATIVE)
  • SEO, ASO 향상: 웹 기반으로 작동하므로 검색 엔진 최적화가 간편하며, ASO를 통해 앱의 가시성과 접근성을 높일수 있다.(≒PWA, NATIVE)
  • 설치 없이 사용 가능, 스토어 배포: 하이브리드 앱도 앱 스토어(App Store, Google Play 등)를 통해 다운로드하고 설치할 수 있으며, 설치 없이도 앱처럼 이용할 수 있어 편리하다. 하지만 네이티브 기능 업데이트가 있을 때, 하이브리드에서는 업데이트가 적용되기까지 지연이 발생할 수 있다..(≒PWA, NATIVE)
  • 배터리 성능: 앱으로 설치했을 때가 소모가 덜하다.


전체 비교 분석

다음은 세 개의 앱을 비교 분석한 내용이다. 이는 앱의 구현과 특성, 사용 사례, 그리고 사용자의 요구 사항에 따라 내용은 달라질 수 있다.

개발비용모바일 하드웨어 기능 접근성보안성SEOASO배터리 성능
PWA낮음낮음낮음높음낮음낮음
Hybrid중간중간중간높음높음중간
Native높음높음높음낮음높음높음

Reference

profile
러닝커브를 빠르게 높이자🎢

0개의 댓글