AI로 만든 그림 (실제 사진이 아닙니다)

pwa 뜻을 검색하는 사람은 대개 홈페이지나 서비스를 새로 만들면서 네이티브 앱으로 갈지 웹 기반으로 갈지 판단을 앞두고 있다. 이 글은 pwa가 정확히 무엇을 가리키는 말인지, 왜 이런 방식이 나왔는지, 실제로 도입할 때 어디서 막히는지를 차례로 짚는다. 검색 결과에 함께 뜨는 pwa-2100w, pwa-3200wn 같은 이름은 전자기기 계열의 제품 모델명으로, 홈페이지·앱 제작에서 말하는 pwa와는 글자만 같을 뿐 서로 다른 대상이다. 해당 제품의 사양이나 사용법은 이 기사가 다루는 범위가 아니므로, 그쪽을 찾는 경우라면 제품 안내 자료 쪽에서 확인하는 편이 정확하다.

pwa는 Progressive Web App의 줄임말로, 웹 기술로 만들어졌지만 설치형 앱과 비슷하게 동작하도록 다듬은 웹사이트를 뜻한다. 브라우저 주소만 있으면 접속할 수 있는 웹사이트이면서도, 매니페스트 파일과 서비스워커라는 기술을 함께 사용해 홈 화면에 아이콘을 추가하거나 인터넷이 끊긴 상태에서도 일부 화면을 보여주는 것이 가능하다. 즉 웹사이트와 앱 사이의 중간 지점에 있는 형태라고 이해하면 된다.

pwa의 구조는 어떻게 되어 있나

일반 웹사이트가 pwa가 되려면 몇 가지 요소가 추가로 필요하다. 앱의 이름과 아이콘, 시작 화면 색 등을 정의하는 매니페스트 파일이 있어야 하고, 브라우저와 별도로 백그라운드에서 동작하며 캐시와 알림을 처리하는 서비스워커라는 코드가 있어야 한다. 여기에 웹사이트 전체가 암호화된 통신 방식으로 제공되어야 하는 조건도 따라붙는다. 이 세 가지가 갖춰지면 브라우저는 해당 사이트를 홈 화면에 추가할 수 있는 대상으로 인식한다.

왜 이런 방식이 만들어졌나

네이티브 앱은 운영체제마다 따로 만들어야 하고, 사용자가 내려받아 설치하기까지 앱 장터의 등록 절차를 거쳐야 한다. 반대로 웹사이트는 하나의 코드로 여러 기기에서 바로 열리지만, 아이콘을 등록하거나 알림을 보내는 등 설치된 앱처럼 동작하는 기능은 갖추기 어려웠다. pwa는 이 둘 사이의 간격을 좁혀, 웹사이트를 유지하면서도 앱에 가까운 사용 경험을 주려는 시도에서 나온 방식이다. 그래서 새로운 별도 언어가 아니라 기존 웹 기술을 확장하는 형태로 자리 잡았다.

네이티브 앱과 무엇이 다른가

가장 큰 차이는 배포 경로다. 네이티브 앱은 각 운영체제의 앱 장터를 거쳐 설치되지만, pwa는 웹사이트 주소를 통해 바로 접속한 뒤 원하면 홈 화면에 추가하는 방식이라 심사 절차 없이 바로 갱신할 수 있다. 반면 기기의 하드웨어 기능에 접근하는 범위는 네이티브 앱이 더 넓은 경우가 많다. 카메라나 위치 정보처럼 널리 쓰이는 기능은 pwa에서도 접근할 수 있지만, 기기별로 특화된 세부 기능까지는 지원이 갈리는 경우가 있다.

실제로는 어디서 막히나

pwa를 도입하려는 쪽에서 가장 자주 부딪히는 지점은 운영체제와 브라우저에 따라 지원 정도가 다르다는 점이다. 특히 특정 모바일 운영체제의 브라우저 환경에서는 알림이나 오프라인 저장 같은 일부 기능이 다른 환경보다 제한적으로 동작한다. 또한 앱 장터에 등록된 형태가 아니다 보니, 사용자에게 존재를 알리고 설치를 유도하는 과정을 웹사이트 자체 안에서 따로 설계해야 한다는 점도 실무에서 자주 걸리는 부분이다. 이런 제약은 시간이 지나며 조금씩 바뀌기 때문에, 특정 기능이 지금 지원되는지는 도입 직전에 다시 확인하는 것이 안전하다.

흔한 오해 바로잡기

pwa를 만들면 네이티브 앱이 필요 없어진다고 생각하는 경우가 있는데, 이는 서비스 성격에 따라 다르다. 결제나 기기 기능을 깊게 활용해야 하는 서비스라면 네이티브 앱 쪽이 여전히 유리하고, 정보 전달이나 가벼운 이용이 중심인 서비스라면 pwa만으로도 충분한 경우가 많다. 또 하나 자주 있는 오해는 pwa가 기존 웹사이트와 완전히 다른 별개의 시스템이라는 생각인데, 실제로는 기존 웹사이트에 몇 가지 요소를 더한 확장에 가깝다. 그래서 처음부터 새로 만들기보다 기존 웹사이트를 기반으로 단계적으로 전환하는 방식도 가능하다.

두 방식 중 무엇을 고를지는 서비스의 목적과 사용자가 주로 접속하는 환경에 따라 달라진다. 아래 표는 판단할 때 견줘 볼 수 있는 항목을 정리한 것이다.

구분특징
배포 방식웹 주소 접속 후 필요하면 홈 화면에 추가, 별도 심사 절차 없음
갱신 방식서버 쪽 내용만 바꾸면 바로 반영됨
기기 기능 접근널리 쓰이는 기능은 지원되나 세부 기능은 환경별로 차이 있음
적합한 서비스 성격정보 전달, 가벼운 이용 중심의 서비스에 적합

어떤 방식을 택하든 먼저 확인할 것은 주 사용자층이 어떤 기기와 브라우저 환경을 쓰는지, 그리고 서비스에서 꼭 필요한 기능이 웹 기술만으로 구현되는지다. 이 두 가지를 먼저 정리한 뒤 개발 방식을 정하면, 나중에 방향을 바꾸느라 시간을 다시 들이는 일을 줄일 수 있다. 세부 기능 지원 여부는 계속 바뀌는 영역이므로, 구체적인 개발에 들어가기 전에 관련 공식 문서에서 최신 지원 범위를 다시 확인하는 절차를 거치는 것이 좋다.

· · · · · · · · · ·

스페셜타임스는 AI 기술의 도움을 받아 더 빠르고 다양한 뉴스를 독자에게 전달하기 위해 노력하고 있습니다.

저작권자 © 스페셜타임스 무단전재 및 재배포 금지