2015년에 구글 크롬의 Alex Russell(알렉스 러셀)이 블로그에 포스팅을 하면서 PWA라는 용어가 등장하였으며, 2016년에 열린 'Google I/O 2016'에서 미래의 웹 기술인 PWA가 공식적으로 소개되었습니다.
Progressive Web Apps: Escaping Tabs Without Losing Our Soul - Infrequently Noted
Alex Russell의 블로그 포스팅
미래의 웹 기술로 떠오른 PWA는 무엇일까요? PWA(Progressive Web Application, 프로그레시브 웹 앱)는 웹과 모바일 앱 기술의 장점을 결합한 웹 기술로, 모바일 웹에서 네이티브 앱과 유사한 사용자 경험을 제공하는 웹 애플리케이션입니다. 즉, 일반 웹 사이트와 같이 웹에서 실행되지만 앱처럼 사용이 가능합니다.
PWA 로고(출처 : 위키백과)
PWA는 웹과 네이티브 앱의 장점을 결합한 웹 기술입니다. 과연 웹과 네이티브 앱의 어떤 장점들이 결합되어 있는지 알아보도록 합시다.
웹은 URL을 통해 쉽게 접근할 수 있습니다. 따라서 누구든, 어디서나, 그리고 어떤 장치를 사용하던 쉽게 접근할 수 있다는 것이 큰 장점입니다. 또한 별도의 설치가 필요하지 않습니다.
웹 앱(Web Apps)은 HTML, CSS, Javascript 등을 사용해 만들어진 애플리케이션입니다. 모바일 웹과 네이티브 앱을 결합하여, 모바일 웹의 특징과 함께 네이티브 앱의 장점을 갖습니다. 설치 없이 URL을 통해 브라우저로 접근이 가능하고 홈 화면에 바로 가기 아이콘을 추가하여 네이티브 앱처럼 사용할 수 있습니다.
하지만 네트워크가 연결되어 있지 않은 오프라인 상태에서는 사용이 어려우며, 카메라와 같은 하드웨어에 접근할 수 없습니다. 또한 플랫폼 내의 API를 사용할 수 없다는 단점이 있습니다.
네이티브 앱(Native Apps)은 모바일 기기에 최적화된 언어로 개발된 앱입니다. 네이티브 앱은 안드로이드와 ios와 같은 특정 플랫폼을 위해 만들어진 앱을 말하는데, 안드로이드는 Java 또는 Kotlin을 사용하고, ios는 Swift 또는 Object C를 사용하여 앱을 제작합니다.