Skip to content

Why Web Components?

Dimitri Glazkov edited this page Apr 17, 2015 · 7 revisions

The objective of Web Components is to alleviate the Composition Problem, which is a part of the larger Multiple-Actor Problem.

Desired results:

  • fewer breakages when changing out middleware or UI parts of the web app, or when adding third-party components
  • thriving, open ecosystem of mix-and-match components from various vendors

Idea: let's make it easier to build components that are truly reusable across frameworks.

Problem: it is impossible to make all frameworks, future and past, arrive at and agree on a common contract.

Proposed Solution: Since every framework (aside from canvas/rendering ones) relies on DOM, in order to be reusable, your components should be indistinguishable from HTML/DOM elements.

Core Primitives

  • Custom Elements: a component is an HTML element.
  • Shadow DOM: hide implementation details of an element (nee component) in the same way the HTML elements hide theirs.

How Success Looks Like

Polymer and Angular 2 at ng-conf Keynote Polymer and Angular 2 at ng-conf Keynote

The complementarity of React and Web Components The complementarity of React and Web Components

Interaction Design with Ember 2.0 and Polymer INTERACTION DESIGN WITH EMBER 2.0 AND POLYMER