JavaScript 서비스 워커 소개

JavaScript 서비스 워커 소개

오프라인 상태에서도 일부 웹사이트가 어떻게 계속 작동하는지 궁금하신가요? 비밀은 간단합니다. 이 웹사이트에는 서비스 워커가 있습니다.





서비스 워커는 최신 웹 애플리케이션의 많은 기본 앱과 유사한 기능의 이면에 있는 핵심 기술입니다.





서비스 워커란?

서비스 워커는 전문화된 유형의 자바스크립트 웹 작업자 . 서비스 워커는 프록시 서버처럼 작동하는 JavaScript 파일입니다. 애플리케이션에서 나가는 네트워크 요청을 포착하여 사용자 지정 응답을 생성할 수 있습니다. 예를 들어 사용자가 오프라인일 때 캐시된 파일을 제공할 수 있습니다.





당신은 페이팔에 몇 살이어야합니까

서비스 워커를 사용하면 웹 애플리케이션에 백그라운드 동기화와 같은 기능을 추가할 수도 있습니다.

왜 서비스 워커인가?

웹 개발자는 오랫동안 앱의 기능을 확장하기 위해 노력해 왔습니다. 서비스 워커가 등장하기 전에는 다양한 솔루션을 사용하여 이를 가능하게 만들 수 있었습니다. 특히 주목할만한 것은 캐싱 리소스를 편리하게 만든 AppCache였습니다. 불행히도 대부분의 앱에서 비실용적인 솔루션이 되는 문제가 있었습니다.



AppCache를 사용하면 캐시할 자산을 정말 쉽게 지정할 수 있기 때문에 좋은 생각인 것 같습니다. 그러나 그것은 당신이 하려고 했던 것에 대해 많은 가정을 했고, 당신의 앱이 그 가정을 정확히 따르지 않았을 때 끔찍하게 망가졌습니다. Jake Archibald의 (불행히도 제목이 있지만 잘 쓰여진) 읽기 응용 프로그램 캐시는 Douchebag입니다. 자세한 사항은. (원천: MDN )

윈도우 10 홈 vs 프로 vs 엔터프라이즈

서비스 워커는 현재 AppCache와 같은 기술의 단점 없이 웹 앱의 한계를 줄이려는 시도입니다.





서비스 워커를 위한 사용 사례

그렇다면 서비스 워커는 정확히 무엇을 할 수 있습니까? 서비스 워커를 사용하면 기본 앱의 특징인 기능을 웹 애플리케이션에 추가할 수 있습니다. 또한 서비스 작업자를 지원하지 않는 장치에서 정상적인 경험을 제공할 수 있습니다. 이와 같은 앱은 때때로 프로그레시브 웹 앱(PWA) .

다음은 서비스 작업자가 가능하게 하는 몇 가지 기능입니다.





컴퓨터가 외장 하드 드라이브를 감지하지 못함
  • 사용자가 더 이상 인터넷에 연결되어 있지 않을 때 앱(또는 적어도 일부)을 계속 사용하도록 합니다. 서비스 워커는 요청에 대한 응답으로 캐시된 자산을 제공하여 이를 달성합니다.
  • Chromium 기반 브라우저에서 서비스 워커는 웹 앱을 설치하기 위한 요구 사항 중 하나입니다.
  • 웹 애플리케이션이 푸시 알림을 구현할 수 있으려면 서비스 작업자가 필요합니다.

서비스 워커의 수명 주기

서비스 작업자는 전체 사이트 또는 사이트 페이지의 일부에 대한 요청을 제어할 수 있습니다. 특정 웹 페이지에는 활성 서비스 워커가 하나만 있을 수 있으며 모든 서비스 워커에는 이벤트 기반 수명 주기가 있습니다. 서비스 워커의 수명 주기는 일반적으로 다음과 같습니다.

  1. 작업자 등록 및 다운로드. 서비스 워커의 수명은 JavaScript 파일에 등록될 때 시작됩니다. 등록에 성공하면 서비스 워커가 다운로드한 다음 특수 스레드 내에서 실행을 시작합니다.
  2. 서비스 워커가 제어하는 ​​페이지가 로드되면 서비스 워커는 '설치' 이벤트를 수신합니다. 이것은 항상 서비스 워커가 수신하는 첫 번째 이벤트이며 작업자 내부에서 이 이벤트에 대한 리스너를 설정할 수 있습니다. 'install' 이벤트는 일반적으로 서비스 작업자가 필요로 하는 리소스를 가져오거나 캐시하는 데 사용됩니다.
  3. 서비스 워커는 설치를 완료한 후 '활성화' 이벤트를 수신합니다. 이 이벤트를 통해 작업자는 이전 서비스 작업자가 사용한 중복 리소스를 정리할 수 있습니다. 서비스 워커를 업데이트하는 경우 활성화 이벤트는 이렇게 하는 것이 안전한 경우에만 발생합니다. 이것은 아직 이전 버전의 서비스 워커를 사용하는 로드된 페이지가 없는 경우입니다.
  4. 그 후, 서비스 워커는 성공적으로 등록된 후 로드된 모든 페이지를 완전히 제어할 수 있습니다.
  5. 수명 주기의 마지막 단계는 서비스 작업자가 제거되거나 새 버전으로 교체될 때 발생하는 중복성입니다.

JavaScript에서 서비스 워커를 사용하는 방법

서비스 워커 API( MDN )는 JavaScript에서 서비스 워커를 만들고 상호 작용할 수 있는 인터페이스를 제공합니다.