Re: [webcomponents]: Web Components in 2014

On Thu, Feb 13, 2014 at 2:00 PM, Dimitri Glazkov <dglazkov@google.com>
wrote:
> Hello public-webapps!
>
> As promised, here's the "plans and expectations" summary for the Web
> Components spec umbrella. Apologies for taking so long.
>
> == Web Components Explainer ==
>
> Current Editor: dominicc@google.com
> Status: Non-normative document
>
> The explainer is continually updated to reflect the progress of all
> specs. Since this document just keeps tracking the overall state, it
> will see ongoing work throughout 2014.
>
> == Custom Elements ==
>
> Current Editor: dglazkov@chromium.org
> Status: Last Call Draft
>
> The custom elements spec is in LC. The expectation is that it will
> pass LC at some point this year and enter CR.
>
> Current state: The spec is stable, most work will evolve existing
> abilities and refactor out primitives.
>
> Polyfills and native implementations:
>
> * Polymer (http://www.polymer-project.org/) maintains a polyfill
> (https://github.com/polymer/CustomElements)
> * An implementation based on the current spec is shipping in Chrome 33 Beta
> * Implementation in Mozilla is progressing
> (https://bugzilla.mozilla.org/show_bug.cgi?id=856140)
>
> What's happening/up next:
>
> 1) Adding ES6 support. I started reading
> https://people.mozilla.org/~jorendorff/es6-draft.html and plan to
> begin with sprinkling non-normative comments over the spec, then grow
> them into normative prose as the official ES6 spec emerges. Related
> bugs:
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24018
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24019
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24020
>
> 2) Adding an explicit registry API. This will likely be a separate
> spec, which takes the "registry" concept from the spec and exposes it
> as its own primitive:
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24578
>
> 3) Defining HTML elements as custom elements. This will likely involve
> splitting element/callback queue machinery into its own primitive as
> well and adding more callbacks.
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24570
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24577
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24603
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24655
>
> 4) Adding a WebIDL attribute to mark places where callbacks are invoked:
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24579
>
> 5) Continuing spec maintenance. Related bugs:
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24043
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24087
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24176
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24178
> * https://www.w3.org/Bugs/Public/show_bug.cgi?id=24314
>
> Testing status and plan:
>
> A test suite is in active development:
> * https://github.com/w3c/web-platform-tests/pull/464
> * https://github.com/w3c/web-platform-tests/pull/469
> * https://github.com/w3c/web-platform-tests/pull/578
> * https://github.com/w3c/web-platform-tests/pull/609
>
> == Shadow DOM ==
>
> Status: Working Draft
> Current Editor: hayato@google.com
>
> The Shadow DOM spec is a Working Draft. We're preparing next working
> draft which reflects the feedback.
>
> Current state: after a refactoring, the spec had settled down,
> maintenance and evolution in progress. Also, there's now a sister spec
> in CSS WG: http://dev.w3.org/csswg/shadow-styling/
>
> Polyfills and native implementations:
> * Polymer (http://www.polymer-project.org/) maintains a polyfill
> (https://github.com/polymer/ShadowDOM)
> * An implementation based on the editor's draft is shipping in Chrome
> Canary behind a flag.
> * Implementation in Mozilla is progressing
> (https://bugzilla.mozilla.org/show_bug.cgi?id=811542)
>
> What's happening/up next:
> * Come up with an isolation primitive
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=16509)
> * Specify the "hidden" mode
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=20144).
> * Work on underlying primitives? (projection, etc.)
> * Imperative Content distribution API
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=18429)
> * Better event-stopping logic
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=20247)
> * DOM-based vs. Box-based Selection. This on the radar, but will
> likely not fit into this year.
>
> Testing status and plan:
>
> A test suite in W3C repository
> (https://github.com/w3c/web-platform-tests/tree/master/shadow-dom). We
> are maintaining the repository and continually updating the tests to
> reflect the latest spec.
>
> == HTML Imports ==
>
> Status: First Public Working Draft
> Current Editor: morrita@chromium.org
>
> Current state: Active development, with high rate of change.
>
> The HTML imports published first public WD last year. Since then,
> we've receiving feedback from implementers and polyfill users. We're
> preparing next working draft which reflects all of the feedback.
>
> Polyfills and native implementations:
> * As custom elements and Shadow DOM, Polymer maintains a polyfill
> (https://github.com/polymer/HTMLImports).
> * An implementation reflecting current spec and some filed bugs are
> shipped in Chrome behind a flag.
>
> What's happening/up next:
> * Asynchronous loading
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=24114): We'll add
> @async attribute or imperative API for loading import asynchronously.
> This supports use cases like ads and dynamic/lazy loading.
> * Loading resources other than scripts
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=23170): Non-script
> resources, especially stylesheets, are going to be imported as well.
> By doing this, we can package themes and CSS frameworks.
> * Should imports be Documents or DocumentFragments
> (https://www.w3.org/Bugs/Public/show_bug.cgi?id=22305)
>
> Testing status and plan:
> Test stubs are in W3C repository
> (https://github.com/w3c/web-platform-tests/tree/master/html-imports).
> Will improve and align with the spec. Also planning to upstream
> Chrome's test suite for HTML imports.
>
> :DG<
I would like to clarify that Mozilla's implementation mentioned above is
meant to provide to provide an experimental API hidden behind a flag. It
is intended to gather feedback from developers and is not necessarily
the implementation we intend to ship to the web.

- William

Received on Wednesday, 19 February 2014 10:41:57 UTC