PWA vs 네이티브 앱, 어떤 것을 선택해야 할까?

#TECH
2021.03.12

|

3013


*잠깐, 이 글을 소개해드리는 위시켓은 2019년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다.
현재 8만 이상의 개발업체, 개발 프리랜서들이 활동하고 있으며, 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 포트폴리오, 예상기간을 한 번에 비교해보세요:)

본 콘텐츠는 위시켓이 선정해 번역한 해외 콘텐츠입니다. 실시간 소매 운영을 관리하는 POS 회사 Magestore에서 블로그를 통해 발표한 글입니다. 저자는 Irene Luong입니다. 본문은 프로그레시브 웹 앱스(PWA)와 네이티브 앱(Native App)을 비교, 분석한 내용을 담았습니다. 만약 선택의 기로에서 고민하고 계신다면 도움이 될 만한 글입니다.

이제 모바일 앱은 모든 기업들이 갖추어야 하는 필수적인 도구가 되었으며, 뛰어난 사용자 경험과 훌륭한 결과물을 사람들에게 전달할 수 있어야 합니다. 지난 몇 년 동안 프로그레시브 웹 앱스(Progressive Web Apps, PWA)라는 새로운 유형의 앱을 점점 더 많이 볼 수 있게 되었습니다. PWA는 네이티브 앱의 기능성과 웹사이트에 대한 접근성을 결합한 것입니다. 그리고 이러한 PWA가 향후에는 네이티브 앱(native app, 플랫폼의 OS에 맞는 언어로 제작된 앱)을 대체할 수 있을지에 대해 많은 이들이 궁금해하고 있습니다.
PWA와 네이티브 앱의 차이점은 무엇일까요? 또한 이들 각각의 강점과 약점은 무엇일까요? 둘 중에서 우리는 무엇을 선택해야 할까요? 이번 글에서는 다음과 같은 순서로 하나씩 살펴보겠습니다.

  • 개발자의 관점에서 본 PWA vs 네이티브 앱
  • 사용자의 관점에서 본 PWA vs 네이티브 앱
  • PWA 또는 네이티브 앱, 무엇을 선택해야 하는가?

개발자의 관점에서 본 PWA vs 네이티브 앱

작성 방법: 서로 다른 용도와 서로 다른 언어

네이티브 앱은 모바일 기기에서 실행되는 용도로 작성하는 것이며, PWA는 웹 브라우저 안에서 실행되도록 작성하는 것입니다. 네이티브 앱은 각 기기의 OS에 맞는 프로그래밍 언어로 개발되는데, 예를 들자면 iOS 환경에서는 오브젝티브 C(Objective-C)와 스위프트(Swift)를 사용하고, 안드로이드 기기에서는 자바(Java)를 사용해서 만듭니다. 반면에 PWA에서는 HTML, CSS, 자바스크립트(JavaScript)를 사용합니다.

개발 비용: PWA가 조금 더 저렴

네이티브 앱보다는 PWA를 개발하는 게 더 저렴합니다. 네이티브 앱의 경우, 원하는 기기에 맞는 프로그래밍 언어를 먼저 배워야 하고, 각각의 플랫폼에 맞게 별도의 버전을 만들어야 합니다. 즉, iOS와 안드로이드 기기를 위해서 최소한 두 개의 버전이 필요하며, 각각의 버전을 별도로 유지 보수하고 업데이트를 해야 합니다. 앱의 용도나 복잡성에 따라서 다르긴 하지만, 이러한 작업에는 일반적으로 많은 시간과 비용이 소요됩니다. 앱을 만드는 데 얼마의 비용이 드는지에 대해서는 2019년에 사비컴소프트웨어(Savvycomsoftware)에서 발표한 조사를 참고하시기 바랍니다.
PWA는 개발과 업데이트에 걸리는 시간이 더 빠릅니다. 그리고 하나의 코드베이스(codebase, 소스코드 일체)만으로도 iOS와 안드로이드를 포함해서 다양한 플랫폼을 지원할 수 있습니다. 또한 아무것도 없는 상태에서 처음부터 개발할 필요가 없이, 구글 라이트하우스(Google Lighthouse)와 같은 도구의 도움을 받아서 기존의 웹사이트를 기반으로 구성할 수 있습니다. 그리고 반응형으로 디자인을 해놓으면, 단 하나의 버전만으로도 모든 기기에서 동일하게 표현할 수 있습니다.

배포: PWA는 배포에서도 아주 편리합니다

네이티브 앱은 다양한 플랫폼에 대해서 버전을 따로따로 개발해야 하는 것 외에도, 앱을 배포해야 하는 스토어도 다릅니다. 애플의 앱스토어(App Store)와 안드로이드의 플레이스토어(Play Store)가 대표적이며, 여기에 더해서 아마존의 앱스토어(Appstore)와 마이크로소프트 스토어(Microsoft Store) 도 있습니다. 각각의 스토어에서는 앱을 출시하기 위해서 준비해야 하는 것도 다릅니다. 때로는 개발자 계정을 등록하기 위해서 비용을 내야 하는 경우도 있습니다.

반면에 PWA는 이러한 번거로운 절차들을 모두 비켜갈 수 있습니다. 사용자들이 PWA를 이용하기 위해서 필요한 것은 웹 브라우저와 URL 뿐입니다. 그리고 PWA의 많은 기능들은 크롬(Chrome), 사파리(Safari), 파이어폭스(Firefox), 엣지(Edge) 등 많은 브라우저들에서도 지원되고 있습니다. 그렇기 때문에 여러분의 앱을 수많은 사람들에게 더욱 쉽고 빠르게 선보일 수 있습니다. 또한 업데이트를 할 때에도 앱스토어의 승인을 기다릴 필요 없이 해당 버전을 쉽게 배포할 수 있습니다. 이런 점들 때문에 개발자와 사용자들 모두에게 PWA가 훨씬 더 편리하다고 할 수 있습니다.
그렇다고 해서 앱스토어가 무조건 암울하기만 한 것은 아닙니다. 앱스토어에서 앱을 출시하려면 일정한 자격이 필요하기 때문에, 형편없는 앱이 출시되는 것을 막아줍니다. 따라서 이런 곳에서 출시되는 앱은 신뢰할 수 있으며, 사용자들도 URL 링크보다는 앱을 이용할 때 좀 더 안심을 할 수 있습니다. 앱스토어는 비즈니스에도 기여를 할 수 있습니다. 즉, 앱스토어에 이름이 올라와 있다는 것만으로도 어느 정도의 브랜딩 효과가 있기 때문에, 매출을 늘리는 데에도 도움이 됩니다.

노출 극대화 전략: 네이티브 앱은 앱스토어 최적화(ASO), PWA는 검색엔진최적화(SEO)

네이티브 앱의 콘텐츠는 인덱싱(indexing, 데이터를 검색하기 쉽게 색인(index)으로 정리하는 작업)을 할 수 없기 때문에, 검색엔진으로 찾아볼 수 없습니다. 사람들이 앱을 찾으려면 앱스토어에서 검색을 해야만 합니다. 앱의 노출을 극대화하는데 영향을 주는 요소들은 여러 가지가 있는데, 앱스토어 최적화(ASO) 전략을 활용하면 사람들이 더욱 빠르고 쉽게 여러분의 앱을 찾을 수 있습니다.
ASO는 앱스토어에서의 검색 결과 순위를 높이기 위한 절차입니다. 대표적으로는 키워드 연구(keyword research, 사용자들이 검색할 수 있는 대체 단어에 대한 연구), 효과적인 제목 만들기, 메타 디스크립션(meta description, 검색 결과에 표시되는 간단한 설명) 작성하기, 뛰어난 스크린샷 만들기, 적절한 카테고리 활용하기, 제3자에게 리뷰를 요청하기 등이 있습니다. 모두 중요한 활동이긴 하지만, 이러한 요소들 때문에 앱을 시장에 출시하는 데 드는 시간과 비용이 더욱 늘어나게 됩니다.
네이티브 앱과는 달리, PWA는 여느 웹사이트와 마찬가지로 검색엔진이 인덱싱을 할 수 있습니다. 일반적인 웹 페이지와 비교해서 PWA의 성능과 사용자들의 참여율을 높이게 되면, 검색 결과에서도 더욱 높은 위치에 노출될 수 있습니다.

PWA의 검색엔진 최적화(SEO)를 높이는 데 도움이 되는 몇 가지의 방법은 다음과 같습니다.

  • 웹사이트의 구조를 SEO에 적합하도록 구현한다.
  • 여러 개의 URL을 사용하는 경우 대표 URL 주소(rel=canonical)를 사용해서 콘텐츠가 중복되어 보이지 않도록 한다.
  • 구글은 URL에서 “#” 기호의 뒤에 있는 문자열은 인덱싱을 하지 않으므로, URL을 만들 때 주의를 기울인다.

구글 서치 콘솔(Google Search Console)과 같은 도구를 이용하면, 구글이 여러분의 사이트를 제대로 검색하고 있는지를 확인할 수 있습니다.

보안: 네이티브 앱에서는 보안을 강화할 수 있는 방법이 더 많다
PWA는 HTTPS 프로토콜을 사용하기 때문에 일반적인 웹 애플리케이션들보다는 더욱 안전합니다.
HTTPS라는 보안 프로토콜은 클라이언트와 서버 사이에 주고받는 내용이 변조되지 않게 해 줍니다. 이러한 안전한 환경에서 고객들은 자신의 개인정보와 신용카드 정보 등이 도난당할 걱정 없이 안심하고 입력할 수 있습니다.
PWA와 비교해서, 네이티브 앱을 이용하면 아주 많은 보안 기능들을 구현할 수 있습니다. 여러분의 앱에서 로그인 기능이 필요한 경우, 다중 인중 방식으로 그 기능을 구현할 수 있습니다. 그리고 인증서 고정(Certificate pinning, 보안이 요구되는 환경에서 앱 내부의 인증서를 지정하는 기법)을 활용해서 커뮤니케이션을 더욱 안전하게 강화할 수 있습니다. 또한 앱이 출시되기 전에 앱스토어의 자체적인 보안 요구조건들을 통과해야 하기 때문에, 사용자들도 URL을 사용하는 방식보다는 이러한 네이티브 앱을 더욱 신뢰하게 됩니다.

사용자의 관점에서 본 PWA vs 네이티브 앱

다운로드 및 설치: PWA는 다운로드할 필요가 없으며 설치가 간단하다

일반적인 모바일 사용자들이 한 달에 설치하는 앱의 개수는 0개입니다. 이유는 설치 과정을 끝까지 마무리하고 앱을 사용하려면, 어느 정도의 수고스러운 단계를 거쳐야 하기 때문입니다. 우선, 사용자들은 앱스토어에서 앱을 찾은 다음, 그것을 설치하고 싶다는 확신을 가져야 합니다. 그리고 앱이 다운로드되기를 기다렸다가 설치를 눌러야 합니다. 마지막으로 카메라나 주소록 등을 이용할 수 있게 허가를 해줘야 할 수도 있습니다. 그렇게 설치를 하고 나서도 그 앱은 1-2회만 사용한 다음 삭제될 수도 있습니다. 사용자들이 어떤 앱을 삭제한다면, 나중에 그걸 다시 설치할 가능성은 없고, 그런 결정도 거의 바꿀 수 없습니다.
반면에, PWA는 앱스토어도 필요하지 않고, 설치할 필요도 없습니다. 사용자들은 웹사이트를 방문해서 브라우저에 즐겨찾기를 하면 되고, 몇 번의 터치만으로도 바탕화면에 앱을 추가할 수 있습니다. 그렇게 사용자의 기기에 표시된 PWA는 알림 메시지도 보내는 등 시스템의 환경에 통합될 수 있습니다.

또한 PWA는 네이티브 앱만큼의 용량도 차지하지 않습니다. 사용자들은 URL만 있으면 웹사이트에 방문할 수 있고, 친구들에게 알려줄 수도 있습니다. 그리고 앱을 실행하면 항상 최신 버전이 표시되기 때문에, 앱을 업데이트 할 필요도 없습니다.

성능: 둘 다 좋지만, 네이티브 앱이 더 뛰어나다

반응형 웹이나 일반적인 웹사이트에 비해서 PWA는 훨씬 더 빠르게 로딩됩니다. 모든 PWA의 중심에는 웹페이지와는 별도로 그 배경에서 실행되는 스크립트인 서비스 작업자(service worker)라는 기능이 있습니다. 이러한 서비스 작업자를 통해서 여러분은 오프라인의 요청을 관리하고, 프리패치(prefetch, 필요한 데이터를 미리 가져오는 것)를 하고, 특정한 자원을 캐싱(caching, 요청이 많은 정보를 사용자와 가까운 곳에 보관해 놓고, 이후에도 동일한 요청이 있을 경우에 빠르게 결과를 제공하는 것)하고, 원격 서버와 데이터를 동기화하는 등의 작업을 수행할 수 있습니다. 간단히 말해서, 바탕화면에 일단 앱을 추가하기만 하면, 다음부터는 오프라인이나 네트워크가 불안정한 상태에서도 앱을 즉시 로딩해서 사용할 수 있다는 것입니다.
한편, PWA는 브라우저에서 실행되기 때문에, 네이티브 앱에 비해서 지연 속도가 크고 배터리 소모량이 더 많습니다. 네이티브 앱은 그것이 실행되는 운영체제 속으로 긴밀하게 묶일 수 있습니다. 기기의 하드웨어에 접근해서 더 많은 계산을 수행할 수 있고, 고객들에게 더욱 뛰어난 경험을 제공할 수 있습니다. 또한 네이티브 앱의 코드는 실행 속도가 더욱 빠르기 때문에, 네이티브 앱이 보다 강력하다고 할 수 있습니다.

PWA와 네이티브 앱의 성능: 휴대전화에서는 네이티브 앱이 더 많은 일을 할 수 있다

PWA의 기술이 네이티브 앱을 조금씩 따라잡고 있기는 하지만, 네이티브 앱에 비해서 PWA가 제공하는 기능에는 여전히 한계가 있습니다. 예를 들자면, 다음과 같습니다.

  • 푸시 알림: 푸시 알림 기능이 있으면, 앱을 더 많이 사용하게 할 수 있고, 사용자들의 참여도 늘릴 수 있습니다. 네이티브 앱에서는 이런 기능을 새로 만들 수도 있고, 제3업체가 만들어 놓은 것을 연동할 수도 있습니다. PWA에도 서비스 작업자(service worker) 덕분에 푸시 알림 기능이 있기는 합니다. 그러나 서비스 작업자의 API(응용프로그램 인터페이스)를 지원하는 환경이 플랫폼마다 서로 다릅니다.
  • 지오펜싱(Geofencing, 지리적 울타리): 지오펜싱을 활용하면 개발자가 실제 환경에 가상의 울타리를 설정할 수 있습니다. 그래서 사용자가 이러한 울타리 안에 발을 들여놓으면, 휴대전화에서 특정한 작업을 실행시킬 수 있습니다. 지오펜싱과 푸시 알림을 결합하면, 사용자들에게 좀 더 가까이 다가가서 그들의 참여를 이끌어낼 수 있는 아주 뛰어난 방법이 만들어질 수 있습니다. 이러한 기능은 현재로서는 네이티브 앱에서만 활용할 수 있습니다.

  • 모바일 결제: PWA의 경우, NFC 칩 등을 비롯한 디지털 결제 도구와 연동하는 방식이 플랫폼마다 서로 다릅니다.
  • 다른 앱과의 상호작용: 네이티브 앱은 다른 앱을 호출해서 전화를 걸고, 로그인을 하고, 달력에 일정을 추가하고, 결제를 하는 등의 작업을 할 수 있습니다.
  • 그 외 소소한 기능들: PWA는 휴대전화에 있는 근접 센서(proximity sensor)나 주변의 조도 감지, 스마트 잠금 등의 기능을 이용할 수 없습니다.

PWA 또는 네이티브 앱, 무엇을 선택해야 하는가?

네이티브 앱과 PWA는 모두 나름의 강점과 약점이 있습니다. 둘 중에 하나를 선택할 때는, 각자의 방식이 어떤 측면에서 뛰어난지, 그리고 그런 점들이 여러분이 앱을 개발하는 목표와 어떻게 부합하는지를 잘 판단해야만 합니다.

PWA를 고르면 좋은 경우

  • 여러분이 이 분야의 초보자이며, 사람들이 간단하게 사용할 수 있는 앱을 만들고자 하는 경우: PWA는 다운로드가 필요 없으며, 푸시 알림을 통해서 사용자들과도 교류할 수 있습니다.
  • 시간과 비용에 제약이 있는 경우: PWA는 개발이나 출시에 걸리는 시간과 비용이 적습니다.
  • 브랜드의 인지도와 검색엔진 최적화(SEO)를 개선하고자 하는 경우: PWA는 여느 웹사이트와 비슷하기 때문에, 폭넓은 사용자들에게 다가갈 수 있습니다.

네이티브 앱을 고르면 좋은 경우

  • 브랜드에 대한 신뢰를 구축하고 싶은 경우: 앱스토어를 통해 앱을 출시하면 신뢰도가 증가하며, 네이티브 앱에는 보안 관련 기능들이 더 많습니다.
  • 스마트폰의 고급 기능들을 활용하고자 하는 경우: 사용자 경험(UX)에서 지오펜싱(Geofencing)이나 센서/감지 기능이 필수적이거나, 아주 뛰어난 연산 능력이 요구되는 경우에 좋습니다.

결론

네이티브 앱과 PWA는 모두 사람들에게 매끄러운 사용자 경험(UX)을 제공하기 위한 방식으로, 각자 나름의 강점과 약점이 있습니다. 둘 다 우리 생활의 일부를 다루고 있으며, 선택에 앞서 가장 중요한 점은 프로젝트의 목표와 현재 가진 자원을 고려하는 것입니다.

<참고 자료>
2019년 사비컴소프트웨어(Savvycomsoftware) 조사: https://savvycomsoftware.com/app-pricing/

국내 1위 IT아웃소싱 플랫폼,
위시켓이 궁금하신가요?

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

ASOindexingkeyword researchkeywordresearchNative AppProgressive Web AppsPWAPWA vs 네이티브앱PWA 단점PWA 성능PWA 장단점PWA 장점SEO검색엔진 최적화검색엔진최적화네이티브 PWA 비교네이티브 앱네이티브 앱단점네이티브 앱성능네이티브 앱장점네이티브앱네이티브앱 단점네이티브앱 성능네이티브앱 장단점네이티브앱 장점앱스토어 최적화
다음 글

위시켓 블로그의 새로운 소식 받기