An Image from Official PWA docs
PWA는 앞으로도 더욱 발전할 것이다. 과연 React Native처럼 어느 정도 자리를 잡을 지 기대가 된다. 이미 PWA를 앱의 형태로 감싸는 PWA-builder라는 툴이 나와서 화제다. 내 개인적으로도, 간단한 빌드로 휴대폰 및 컴퓨터에서 가능하고 호스팅 역시 간편하다는 것이 개인 개발을 하기에 최적이라는 생각이 든다.
처음 개발자로써의 커리어를 React Native 앱 개발로 시작하며 간간히 생각하는 화두는 "앱을 개발하는데 있어서 비용과 시간을 얼마나 줄일 수 있을까?"이다. 이 방향으로 사용처가 확대되기도 하고, 내가 아는 개발자 지인 중에서도 RN을 개인적으로 만져 보았거나 회사 스택에 추가하게 되는 경우를 본 적이 있다.
물론 RN이 만능의 해결책은 결코 아니라고 생각한다. 지금까지 0.5x 버전부터 개발을 해 왔던 내 기억을 더듬어 본다면 계속해서 일어나는 메모리 누수와 튕김, 코코아포드 첫 지원 버전업을 하면서 일어났던 네이티브 이슈들... 쉽지 않은 부분이 있었다.
그럼에도 불구하고 React Native의 장점은 명확하다.
하지만, 2025년 3월을 기점으로 코드푸시는 서비스를 종료했다. 한 레딧 포스트에 따르면 한 기업에서는 코드푸시 서버를 자체 호스팅하며 한달에 200여 달러를 지불한다고 한다. 대략 20만~30만 원인 셈이다. Man-hour에 대해서는 알 수 없지만... 자체 모듈을 개발하는 시간이 꽤 걸렸을 거라고 생각한다.
PWA는 브라우저를 런타임으로 가지는 웹 앱이니 만큼, 웹과 동일하게 사용자가 해당 URL로 접속하는 순간 업데이트 여부를 판별한다.
유저가 앱에 진입 시 네트워크에 연결되어 있다면 백엔드와의 연결을 통해 컨텐츠를 렌더링하고 캐시를 업데이트하고
Images from Chrome for developers - Beyond SPAs
네트워크에 연결되어 있지 않다면, 서비스 워커에서는 캐시 api에서 저장된 캐시를 호출해 렌더링하게 된다.
이 뜻은, PWA는 브라우저에서 빌드된 앱을 다운로드해서 데스크탑이나 모바일에서 '앱'처럼 사용할 수 있는 것과 동시에, 앱을 호스팅할 수 있는 공간만 있다면 앱을 간편하게 호스팅할 수 있다는 것이다. 코드푸시 같은 제 3자가 필요없으면서도 앱처럼 사용할 수 있게되는 것이다.
나 역시 vite 번들러를 사용해 PWA를 윈도우, 맥OS 및 모바일에서 다운로드 해 보고, 업데이트를 직접 해보면서 정말 간편하다고 느꼈다.
물론 PWA는 이제 피어나는 기술이다. 당연히 RN과 같은 문제가 많을 것이라고 생각한다.
RN으로 개발할 때를 생각해 보자. 카메라를 활용하는 커뮤니티 프로젝트가 갑작스런 OS 업데이트를 통해 1주 정도 사용하지 못하게 되었을 때, 이를 해결할 수 있었는지? CS 적으로 업데이트를 해당 기간 자제해달라는 공지를 올리면서 해결했다.
웹 개발자인 내가 ios와 안드로이드 네이티브 카메라 코드를 건드리기에 일주일은 너무 짧았다.PWA의 경우에는? 카메라를 사용하지는 않겠지만... 어떤 문제가 생긴다면 윈도우와 맥os의 코드를 쳐다봐야 하는 경우가 생길 수 있지 않을까?
PWA는 앞으로도 더욱 발전할 것이다. 과연 React Native처럼 어느 정도 자리를 잡을 지 기대가 된다. 이미 PWA를 앱의 형태로 감싸는 PWA-builder라는 툴이 나와서 화제다. 내 개인적으로도, 간단한 빌드로 휴대폰 및 컴퓨터에서 가능하고 호스팅 역시 간편하다는 것이 개인 개발을 하기에 최적이라는 생각이 든다.