이 글은 Nikhil Marathe, Andrew Overholt, 그리고 Robert Nyman [Editor]이 쓴 ServiceWorkers and Firefox의 한국어 번역본입니다.
모질라는 2013년초부터 Service Worker 설계에 참여해왔습니다. 구글, 삼성, 모질라를 비롯한 여러 단체의 노력 덕분에 이제 이 멋진 기능이 다양한 웹 브라우저 엔진 위에 구현되는 단계에 이르렀습니다.
Service Worker가 뭔가요?
간단히 말해서, Service Worker는 웹 클라이언트 측에서 프락시(proxies) 역할을 하는 스크립트를 말합니다. Service Worker 자바스크립트 코드는 네트워크 요청을 가로채서 응답(responses)을 만들어 전달하며, 어플리케이션의 필요에 따라 세밀한 캐시(granular caching) 기능을 수행합니다. 이 기능은 지금까지 웹 플랫폼에 없었던 기능입니다. 이 강력한 기능이 완성되면 웹 개발자는, 다른 무엇보다도, 완벽한 오프라인 경험을 만들 수 있습니다. Jake Archibald가 자신의 블로그 포스트를 통해 이 기능에 대해 요약한 바 있습니다.
Service Worker가 “백그라운드(background)”에서 동작하기 때문에, Service Worker는 지금까지 네이티브 플랫폼에서는 가능했지만 웹 플랫폼에서는 불가능했던 일들을 가능하게 만듭니다. 기본 스펙에 명시된 네트워크 기능과 함께, Service Worker는 브라우저(user-agent)가 웹 어플리케이션에 메시지를 전달하는 Push API와 Background Sync API를 위한 기능을 제공합니다.
파이어폭스에서의 Service Worker
많은 모질라 멤버들(Mozillians)이 게코(Gecko)에 Service Worker를 구현하기 위해 애썼습니다. 설계 및 요구사항 정의에 관해서는 Anne van Kesteren와 Jonas Sicking이 기여했습니다. Necko 팀 멤버들과 그밖의 여러 사람들이 네트워크 관점에서 조언을 주었습니다. Nikhil Marathe는 최근 게코(Gecko)에서의 Service Workers 현황에 관한 블로그 기사를 발표했습니다.
게코(Gecko)에 Service Worker를 구현하는 작업은 모듈별로 마무리되어 검토를 거쳐 통합되고 있습니다. 당분간, 스펙이 안정화 되고 다른 브라우저 엔진(특히 블링크)의 구현 작업이 진행되는 동안, 게코(Gecko)의 모든 Sevice Worker 관련 기능은 dom.serviceWorkers.enabled
속성을 통해 관리될 것입니다. 이 속성의 디폴트 설정값은 false 이며, about:config
페이지에서 바꿀 수 있습니다.
우리 계획은 웹 개발자들이 빠른 시간 안에 Service Worker 관련 대부분의 기능을 파이어폭스 나이틀리(Firefox Nightly)에서 경험할 수 있게 하는 것입니다 (물론 앞서 언급한 속성 값을 변경해야 합니다). 아무리 좋은 계획도 지체될 수 있기 마련이지만, 우리는 2014년 9월까지 파이어폭스 최신버전에 이 기능을 반영하려 합니다.
Service Worker 구현 진행 상황
훌륭한 개발자인 Jake Archibald가 Service Worker 구현 현황을 쉽게 파악할 수 있는 도구를 만들었습니다. 게코(Gecko) 구현 현황은 메타 버그 사이트에서 확인할 수 있습니다.
작성자: ingeeKim
"누구에게나 평등하고 자유로운 웹"에 공감하는 직장인.
댓글이 없습니다.