The videos of the Google I/O 2014 talks have been online for a while now. Three of them are about Web Components and Polymer. This blog post briefly describes what they are about and mentions a few highlights, which may help you to decide which videos you want to watch.
The three talks are:
If you need a quick primer to Web Components, you can look at slide 35ff of the slides for my talk “Six technologies that will change the web platform”.
Matt McNulty gives a broad overview of Web Components and Polymer, setting the stage for the remaining two talks.
McNulty explains why Web Components are important, then describes Polymer, which is a Web Components polyfill plus a convenience layer on top. The nice thing about Polymer’s new “Paper Elements” (UI components following Google’s new Material design language) is that they are custom elements. That means that they can be used with any HTML framework. They will work even better in the next versions of AngularJS and Ember.js, which explicitly support Web Components.
I found it interesting to hear that Polymer co-evolves with the Chrome platform: if Polymer encounters problems (e.g. jank), they are fixed in Chrome. Similar to Mozilla’s X-Tag, Polymer’s Web Component polyfill enables us to field-test web platform APIs before they are standardized.
Eric Bidelman’s talk is mainly about the current state of Web Components. Polymer is mentioned occasionally, though. Highlights:
<local-time>
custom element, the Chrome OS keyboard and media player are Web Components.<link>
elements for CSS and four <script>
elements for JavaScript versus a single HTML import (of an HTML file packaging these elements).Rob Dodson goes deeply into the new Paper UI components and shows off some interesting UI-related functionality provided by Polymer. A few notes:
::shadow
CSS pseudo-element and /deep/
CSS combinator enable you to reach inside shadow DOMs and style custom elements.<core-style>
element can be used to share style information between elements, which helps with theming.Polymer gives you declarative support for Flexbox, via HTML attributes.
I really like like the design of the Paper elements. You can see that a lot of thought has gone into making them work with both touch and pointer devices.