PWA

bunny.log·2023년 6월 7일
0

PWA는 프로그레시브 웹 앱(progressive web app)의 줄임말입니다.

프로그레시브 웹 앱은 우리가 웹(web)에서 사용하는 기술과 네이티브 앱의 장점을 결합한 것입니다.

PWA는 우리 모두가 알고 있고 좋아하는 HTML, CSS, 자바스크립트(JavaScript)와 같은 웹 기술로 만드는 앱입니다. 하지만 그 느낌과 기능은 실제 네이티브 앱과 견줄 수 있을 정도로 좋습니다. 몇 가지의 스마트한 기능들을 추가하면, 세상의 그 어떤 웹사이트라도 PWA로 바꿀 수 있습니다.

즉, 네이티브 앱을 개발하는 것은 상당히 어렵지만, PWA는 훨씬 더 빠르게 개발할 수 있다는 것입니다. 또한, 푸시 알림이나 오프라인 지원과 같은 네이티브 앱의 특징들도 전부 제공할 수 있습니다.

네이티브 앱과 PWA의 차이는 무엇인가?

흔히들 애플의 앱스토어나 구글의 플레이스토어에서 다운로드할 수 있는 네이티브 앱은 일반적으로 해당 플랫폼에 특화된 프로그래밍 언어로 만드는 경우가 많습니다. 즉, iOS의 앱들은 스위프트(Swift)로 만들고, 안드로이드의 앱들은 자바(Java)로 만드는 식입니다. 원하는 플랫폼에서 실행되는 앱을 만들기 위해서는, 관련된 기술도 알아야 합니다. 물론 지름길도 있기는 하지만, 이런 방법에도 나름의 한계가 있습니다. 그리고 여러 군데의 모바일 환경에 대해서 전부 앱을 만들고 싶다면, 그런 각각의 다양한 환경에 필요한 기술들을 알고 있어야만 합니다. 따라서 하나의 앱을 만들어서 모든 앱스토어에 출시한다는 것은 절대로 쉬운 일이 아닙니다.
당연히 두 개의 환경에서 모두 실행되는 앱을 개발하는 방법은 존재합니다. 대표적인 것이 바로 프로그레시브 웹 앱(PWA)입니다. PWA는 일단 홈 화면에 저장되면 브라우저에서 실행되며, 네이티브 앱처럼 동작합니다. 그리고 보안상의 이유로 브라우저가 접근하지 못하는 시스템 하드웨어와 소프트웨어에도 접근할 수 있습니다. 따라서 PWA의 성능이 뛰어나다면, 사용자들은 자신들이 웹 기반의 앱을 사용하고 있는 것인지, 아니면 네이티브 앱을 사용하고 있는 것인지를 구분하지 못할 것입니다.
물론 주의해야 할 점도 있습니다. 여러 브라우저들이 PWA를 위한 기술들을 빠르게 채택하고 있기는 하지만, 여전히 한계가 존재하는 것이 사실입니다. iOS의 경우, PWA에 필요한 기술들을 사파리(Safari) 브라우저가 지원하지 않는 경우가 많습니다. 애플은 아직까지 관련 기술들을 완전히 지원하지 않기 때문에, 다른 플랫폼에서와 동일한 환경을 구성하는 것이 조금은 번거롭습니다.

PWA의 장점은 무엇인가?

다양한 앱스토어에 출시하기 위해서 별도의 프로세스를 거치지 않아도 된다.
일반적인 웹 기술을 활용해서 PWA를 만들 수 있다.
일반적으로 개발 비용이 더 저렴하다.
기존의 웹사이트를 앱으로 만들 수 있기 때문에, 추가로 유지관리해야 하는 코드베이스(codebase, 소스코드 일체)가 적다.
PWA는 기본적으로 반응형(responsive)이기 때문에, 다양한 화면 크기에도 잘 동작한다.
PWA는 부드럽고 빠르며 가볍다.
구글이나 애플에게 거액의 돈을 줄 필요가 없다.
일반적인 웹사이트와는 달리, 오프라인에서도 작동한다.
PWA는 검색엔진을 통해서 찾을 수 있다. (앱스토어보다는 검색엔진을 사용하는 사람들이 훨씬 더 많다. 그리고 원한다면 앱스토어를 통해서도 PWA를 배포할 수 있다.)
푸시 알림을 통해서 사용자들의 관심을 끌 수 있다.
PWA를 설치하게 함으로써 보다 높은 참여를 이끌어낼 수 있다.

  • 다양한 앱스토어에 출시하기 위해서 별도의 프로세스를 거치지 않아도 된다.
  • 일반적인 웹 기술을 활용해서 PWA를 만들 수 있다.
  • 일반적으로 개발 비용이 더 저렴하다.
  • 기존의 웹사이트를 앱으로 만들 수 있기 때문에, 추가로 유지관리해야 하는 코드베이스(codebase, 소스코드 일체)가 적다.
  • PWA는 기본적으로 반응형(responsive)이기 때문에, 다양한 화면 크기에도 잘 동작한다.
  • PWA는 부드럽고 빠르며 가볍다.
  • 구글이나 애플에게 거액의 돈을 줄 필요가 없다.
  • 일반적인 웹사이트와는 달리, 오프라인에서도 작동한다.
  • PWA는 검색엔진을 통해서 찾을 수 있다. (앱스토어보다는 검색엔진을 사용하는 사람들이 훨씬 더 많다. 그리고 원한다면 앱스토어를 통해서도 PWA를 배포할 수 있다.)
  • 푸시 알림을 통해서 사용자들의 관심을 끌 수 있다.
  • PWA를 설치하게 함으로써 보다 높은 참여를 이끌어낼 수 있다.

그럼에도 불구하고, 아직은 많은 부분에서 네이티브 앱이 우위를 보이고 있습니다. PWA가 스마트폰의 운영체제 속으로 점점 더 깊이 접근할 수 있게 되었지만, 네이티브 앱이 여전히 훨씬 더 깊숙이까지 들어갈 수 있습니다. 그리고 PWA가 할 수 있는 작업에도 한계가 있습니다. 예를 들어서, 고성능 게임을 개발하고 싶은 경우에는, PWA를 고르는 것이 결코 좋은 선택이 아닙니다.
어쨌든 전반적으로 봤을 때, 여러분의 PWA로 모바일 서비스를 한다는 것은 좋은 생각입니다. 하지만 여러분이 스스로에게 물어봐야 하는 중요한 질문이 있습니다. 그것은 바로, 여러분의 고객들이 이걸 원하느냐 하는 것입니다.

참고
https://blog.wishket.com/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%A0%88%EC%8B%9C%EB%B8%8C-%EC%9B%B9-%EC%95%B1pwa%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%99%9C-%ED%95%84%EC%9A%94%ED%95%9C%EA%B0%80/

profile
https://github.com/nam-yeun-hwa

0개의 댓글