• Stars
    star
    3,629
  • Rank 12,195 (Top 0.3 %)
  • Language
    HTML
  • License
    Other
  • Created almost 12 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Service Workers

What’s going on here?

Service workers are a new browser feature that provide event-driven scripts that run independently of web pages. Unlike other workers, service workers can be shut down at the end of events, note the lack of retained references from documents, and they have access to domain-wide events such as network fetches.

Service workers also have scriptable caches. Along with the ability to respond to network requests from certain web pages via script, this provides a way for applications to “go offline”.

Service workers are meant to replace the (oft maligned) HTML5 Application Cache. Unlike AppCache, service workers are comprised of scriptable primitives with an extensive use of Promises that make it possible for application developers to build URL-friendly, always-available applications in a sane and layered way.

To understand the design and how you might build apps with service workers, see the explainer document.

Spec and API development

For the nitty-gritty of the API, the draft W3C specifications are authoritative. Service Workers Nightly is a living document. Service Workers 1 is a subset of the nightly version that is advancing toward a W3C Recommendation. For implementers and developers who seek all the latest features, Service Workers Nightly is a right document that is constantly reflecting new requirements. For version 1, contributors plan to focus on fixing bugs and resolving compatibility issues without including new features from the nightly version.

Spec development happens via issues in this repository. For general discussion, please use the [email protected] mailing list with a Subject: prefix of [service-workers].

Updates to the spec must reference resolved issues marked needs spec.

To make edits to the design, please send pull requests against the Nightly spec on the master branch. We use bikeshed. So, change docs/index.bs and submit it with the corresponding bikesheded index.html.

Examples

The W3C Web Mobile Group have defined a series of use-cases where service worker is particularly useful. You can help by adding more use cases, draft implementation code, or even working examples once browsers support the required APIs.

About labels and milestones on issues

This is to explain how we use labels and milestones to triage the issues. Note: This is a draft, suggestions for improvements are welcomed.

Prioritization

  • enhancement: is for anything that was assessed as not having any impact on the decisions for the current milestone and can therefore be safely discussed, rejected or prioritized later.
  • milestone: is used to mark issues we agreed to get done in principle by a given revision. For the sake of efficiency, we tend to only focus on the current milestone and leave everything else without specific milestones.
  • impacts MVP: is used to mark issues impacting the “Minimal Viable Product”. The MVP is the minimal scope of API that can solve actual use cases. These issues have the highest priority.

Risk labels for impacts MVP issues

  • medium risk: to further refine the “impacts MVP” issues. It indicates that the issue is moderately complex and that reaching a conclusion might take some time. These are of higher priority than issues with no risk label but are of lower priority than issues with a “high risk” label.
  • high risk: to further refine the “impacts MVP” issues. It indicates that the issue is significantly complex and that reaching a conclusion might take a lot of time and effort. These are of higher priority than issues with no risk label or a “medium risk” label.

Actions

  • needs spec: a decision has been made and the spec needs to be updated.
  • spec detail: has no significant implications for implementers nor web developers.
  • decided: to record that a decision has been made.
  • invalid: when something doesn’t constitute a valid issue.
  • wontfix: a decision has been made not to pursue this issue further.
  • duplicate: when a similar issue has already been filed.
  • bug: an oversight that needs to be fixed.

Areas

  • fetch: relates to Fetch
  • lifecycle: relates to lifecycle aspects of service worker
  • cache: relevant to the Cache APIs
  • question: not an actual issue. Items that have been filed in order to gain a better understanding of service worker.

More Repositories

1

csswg-drafts

CSS Working Group Editor Drafts
Bikeshed
4,475
star
2

IntersectionObserver

Intersection Observer
Bikeshed
3,622
star
3

html

Deliverables of the HTML Working Group until October 2018
HTML
1,973
star
4

css-houdini-drafts

Mirror of https://hg.css-houdini.org/drafts
Bikeshed
1,837
star
5

epubcheck

The conformance checker for EPUB publications
Java
1,640
star
6

aria-practices

WAI-ARIA Authoring Practices Guide (APG)
HTML
1,075
star
7

webauthn

Web Authentication: An API for accessing Public Key Credentials
HTML
1,012
star
8

webcodecs

WebCodecs is a flexible web API for encoding and decoding audio and video.
HTML
990
star
9

wcag

Web Content Accessibility Guidelines
HTML
906
star
10

webappsec-change-password-url

A Well-Known URL for Changing Passwords
Bikeshed
899
star
11

webtransport

WebTransport is a web API for flexible data transport
Bikeshed
835
star
12

clreq

Requirements for Chinese Text Layout
HTML
727
star
13

manifest

Manifest for web apps
HTML
658
star
14

svgwg

SVG Working Group specifications
HTML
656
star
15

webdriver

Remote control interface that enables introspection and control of user agents.
HTML
652
star
16

webappsec

Web Application Security Working Group repo
HTML
603
star
17

trusted-types

A browser API to prevent DOM-Based Cross Site Scripting in modern web applications.
JavaScript
603
star
18

webextensions

Charter and administrivia for the WebExtensions Community Group (WECG)
Bikeshed
591
star
19

aria

Accessible Rich Internet Applications (WAI-ARIA)
HTML
582
star
20

chinese-ig

Web中文兴趣组
HTML
536
star
21

musicxml

MusicXML specification
XSLT
512
star
22

payment-request

Payment Request API
HTML
489
star
23

trace-context

Trace Context
Python
434
star
24

webrtc-pc

WebRTC 1.0 API
HTML
423
star
25

did-core

W3C Decentralized Identifier Specification v1.0
HTML
399
star
26

webappsec-permissions-policy

A mechanism to selectively enable and disable browser features and APIs
Bikeshed
398
star
27

web-performance

W3C Web Performance Working Group repo
HTML
395
star
28

web-advertising

Web Advertising BG - https://www.w3.org/community/web-adv/
HTML
380
star
29

miniapp

MiniApps Standardization
JavaScript
366
star
30

web-share

Web API proposal for sharing data from a web page
HTML
353
star
31

webdriver-bidi

Bidirectional WebDriver protocol for browser automation
Bikeshed
335
star
32

Mobile-Checker

The Mobile Checker is a tool for Web developers who want to make their Web page or Web app work better on mobile devices.
JavaScript
322
star
33

web-nfc

Web NFC
HTML
313
star
34

picture-in-picture

Picture-in-Picture (PiP)
Bikeshed
311
star
35

webref

Machine-readable references of terms defined in web browser specifications
JavaScript
287
star
36

websub

WebSub Spec in Social Web Working Group
HTML
287
star
37

vc-data-model

W3C Verifiable Credentials v2.0 Specification
HTML
286
star
38

wai-tutorials

W3C WAI’s Web Accessibility Tutorials
JavaScript
284
star
39

activitystreams

Activity Streams 2.0
HTML
282
star
40

epub-specs

Shared workspace for EPUB 3 specifications.
HTML
274
star
41

EasierRDF

Making RDF easy enough for most developers
Python
267
star
42

webcrypto

The W3C Web Cryptography API
HTML
265
star
43

danmaku

Bullet Chatting Proposal
HTML
260
star
44

webpayments

The document repo for the Web Payments Working Group
HTML
257
star
45

paint-timing

Paint Timing
Bikeshed
251
star
46

media-source

Media Source Extensions
HTML
245
star
47

IndexedDB

Indexed Database API
Bikeshed
240
star
48

longtasks

Long Task API
Bikeshed
233
star
49

webidl2.js

WebIDL parser
JavaScript
224
star
50

smufl

Standard Music Font Layout
HTML
214
star
51

wot

Web of Things
HTML
213
star
52

browser-specs

A machine-readable list of Web specifications
JavaScript
212
star
53

web-of-things-framework

JavaScript
208
star
54

webappsec-csp

WebAppSec Content Security Policy
HTML
205
star
55

webcomponents-cg

Web Components community group
HTML
202
star
56

css-validator

W3C CSS Validation Service
Java
194
star
57

web-share-target

Web API proposal for receiving shared data
HTML
192
star
58

web-roadmaps

Framework for Web technology roadmaps
HTML
190
star
59

silver

Accessibility Guidelines "Silver"
HTML
190
star
60

process

W3C Process Document
HTML
189
star
61

editing

Specs and explainers maintained by the editing task force
HTML
181
star
62

html-aria

ARIA in HTML
HTML
180
star
63

w3c-api

The W3C API
HTML
178
star
64

encrypted-media

Encrypted Media Extensions
HTML
169
star
65

p2p-webtransport

Interface to create and manage QUIC streams
HTML
164
star
66

csvw

Documents produced by the CSV on the Web Working Group
HTML
162
star
67

sdw

Repository for the Spatial Data on the Web Working Group
HTML
150
star
68

clipboard-apis

Clipboard API and events
HTML
148
star
69

strategy

team-strat, on GitHub, working in public. Current state: DRAFT
148
star
70

uievents

UI Events
HTML
147
star
71

automotive

W3C Automotive Working Group Specifications
HTML
146
star
72

webvtt.js

WebVTT parser and validator
JavaScript
146
star
73

push-api

Push API
HTML
142
star
74

gamepad

Gamepad
HTML
142
star
75

web-annotation

Web Annotation Working Group repository, see README for links to specs
HTML
141
star
76

wcag21

Repository used during WCAG 2.1 development. New issues, Technique ideas, and comments should be filed at the WCAG repository at https://github.com/w3c/wcag.
HTML
140
star
77

elements-of-html

Elements of HTML per version
HTML
137
star
78

mnx

Music Notation CG next-generation music markup proposal.
HTML
136
star
79

libwww

Libwww is a highly modular, general-purpose client side Web API written in C for Unix and Windows (Win32). It's well suited for both small and large applications, like browser/editors, robots, batch tools, etc. Pluggable modules provided with libwww include complete HTTP/1.1 (with caching, pipelining, PUT, POST, Digest Authentication, deflate, etc), MySQL logging, FTP, HTML/4, XML (expat), RDF (SiRPAC), WebDAV, and much more. The purpose of libwww is to serve as a testbed for protocol experiments. This is a complete mirror of the libwww CVS repository
C
135
star
80

w3c.github.io

The W3C organisation
HTML
134
star
81

webrtc-stats

WebRTC Statistics
HTML
128
star
82

aria-at

Assistive Technology ARIA Experience Assessment
HTML
127
star
83

sensors

Generic Sensor API
HTML
127
star
84

ortc

ORTC Community Group specification repository (see W3C WebRTC for official standards track)
HTML
124
star
85

web-locks

Cross-tab resource coordination API
Bikeshed
124
star
86

dxwg

Data Catalog Vocabulary (DCAT)
HTML
124
star
87

sparql-dev

SPARQL dev Community Group
123
star
88

wot-thing-description

Web of Things (WoT) Thing Description
HTML
122
star
89

webrtc-encoded-transform

WebRTC Encoded Transform
Bikeshed
122
star
90

mediacapture-main

Media Capture and Streams specification (aka getUserMedia)
HTML
121
star
91

mediasession

Media Session API
Bikeshed
120
star
92

did-extensions

Decentralized Identifier Ecosystem Extensions
HTML
120
star
93

rdf-star

RDF-star specification
HTML
120
star
94

link-checker

Check links and anchors in Web pages or full Web sites.
Perl
119
star
95

Unicorn

Unicorn - W3C's Unified Validator
Java
118
star
96

markup-validator

HTML
117
star
97

resource-timing

Resource Timing
HTML
116
star
98

web-animations

🚫 Old repository for the Web Animations specification 🚫. Updated repository:
HTML
115
star
99

csswg-test

The former CSS WG test repository
114
star
100

secure-payment-confirmation

Secure Payment Confirmation (SPC)
Bikeshed
113
star