progressive web app :
HTML, CSS, 자바스크립트(JavaScript)와 같은 웹 기술을 이용해 웹과 네이티브 앱 모두의 이점을 갖도록 수 많은 특정 기술과 표준 패턴을 사용해 개발된 웹이자 앱입니다.
웹의 장점은 발견이 쉽고 어플리케이션을 설치하는 것보다 웹사이트 방문하는 것이 쉽고 빠르며, 링크로 공유할 수 있습니다.
앱은 운영체제와 잘 통합되므로 부드러운 사용자 경험을 제공할 수 있습니다. 앱은 설치할 수 있으므로 오프라인에서도 동작하며, 사용자는 홈화면의 아이콘을 탭해 브라우저를 이용하는 것보다 더 쉽게 앱에 접근할 수 있습니다.
PWA는 이와 동일한 이점을 즐길 수 있는 웹 앱을 생성하는 능력을 제공합니다.
:
:
:
:
우리가 아는 트위터, 스타벅스, 핀터레스트, 우버 등 많은 웹 사이트들이 PWA를 이용하고 있습니다.
이 사이트들은 아이폰, 안드로이드와 관계없이 휴대폰, 템플릿, PC에 관계없이 모양과 기능이 동일합니다.
이것이 PWA 로 만든 웹 애플리케이션의 가장 큰 장점입니다.
우리는 첫눈에 이 웹, 앱이 PWA인지는 알 수 없으나 오프라인에서의 동작, 설치가 가능한, 쉬운 동기화, 푸시 알림 등 몇가지 요구사항을 만족하거나 기능이 구현되었을 때 PWA로 볼 수 있습니다.
다음은 웹 앱을 PWA로 식별하기 위한 몇가지 핵심 원칙입니다.
PWA로 만들면 뭐가 좋을까요?
:
:
:
:
흔히 우리가 다운로드 할 수 있는 네이티브 앱은 아이폰이나 안드로이드에 특화된 프로그래밍 언어로 만드는 경우가 많습니다. IOS는 스위프트(Swift)로 만들고 안드로이드는 자바(JaVa)로 만듭니다. 원하는 플랫폼에서 실행되는 앱을 만들기 위해서는 관련 기술을 알아야 합니다. 이 방식은 빠르게 적용하기에는 한계가 있습니다.
반면, PWA는 브라우저에서 실행되고 네이티브 앱처럼 동작합니다. 보안상의 이유로 브라우저가 접근하지 못하는 시스템 하드웨어와 소프트 웨어에도 접근할 수 있습니다.
:
:
:
:
이는 검색엔진이 쉽게 찾을 수 있다는 강점이 있습니다. PWA가 검색엔진 최적화(SEO)에 쉽게 처리 되기 위해서는 PWA 환경을 설정할 때 검색엔진이 자바스크립트에 액세스 할 수 있도록 해야 합니다. 검색엔진의 봇(bot)이 파일에 접근하는 것을 막아 놓으면 안 되며, 링크도 유효한 것인지를 확인해야 합니다. 렌더링 프로세스를 개선하려면, 여러분의 자바스크립트 프레임워크가 서버 측 렌더링(웹페이지의 내용을 서버에서 렌더링 해서 전송해주는 방식)을 사용하도록 설정하는 것이 좋습니다.
:
:
:
:
+ 보안 연결(HTTPS):
PWA는 신뢰할 수 있는 연결 상태에서만 동작하기 때문에, 보안 연결을 통해서 서비스를 제공해야 합니다. 이건 단지 보안상의 이유 때문만은 아니고, 사용자들의 신뢰를 얻기 위해서도 아주 중요한 부분입니다.
+ 서비스 작업자(service worker):
서비스 작업자는 백그라운드에서 실행되는 스크립트입니다. 서비스 작업자는 네트워크와 관련된 요청의 처리를 도와주기 때문에, 여러분은 그 점에 대해서는 걱정하지 않고 더욱 복잡한 작업을 수행할 수 있습니다.
+ 매니페스트 파일(manifest file, 설정 파일):
이것은 제이슨(JSON, 용량이 적은 데이터를 교환하기 위한 형식) 파일이며, PWA가 표시되고 기능하는 방식에 대한 정보들이 포함되어 있는 것입니다. 여기에서는 PWA의 이름, 설명, 아이콘, 색상 등을 지정할 수 있습니다.
단한 PWA를 만들어 볼 수 있는 리소스들은 많이 있습니다. 구글은 자신들의 웹 데브(web-dev) 사이트에 PWA에 대해서 쉽게 따라 해 볼 수 있는 훌륭한 교육자료들을 많이 올려놓고 있습니다.
[1] 모질라(Mozilla)
PWA 개발에 대한 방대한 문서들을 갖고 있습니다.
[2] 마이크로소프트
역시 PWA 개발과 관련한 문서들을 풍부하게 보유하고 있습니다.
[3] 마이크로소프트가 만들 PWA빌더 도구
[4] 워드프레스(WordPress) 플러그인을 이용한 PWA
참고
https://developer.mozilla.org/ko/docs/Web/Progressive_web_apps/Introduction
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/