Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to web components with Polymer

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Introduction to web components with Polymer

A brief web application history lesson, a discussion of Polymer, and then after a break to the code, I discuss what still needs to be done and what the future might hold.

Avatar for Steve Brownlee

Steve Brownlee

September 20, 2014

More Decks by Steve Brownlee

Other Decks in Programming

Transcript

  1. “The network is the computer” - John Gage, 1984 Introduction

    to Polymer \ @coderfaire \ #cf2014 7 of 49
  2. traditional programming concepts Introduction to Polymer \ @coderfaire \ #cf2014

    8 of 49 graphics file system async operations packaged libraries data storage software agents
  3. 1996 - 2006 reactions to building a browser application Introduction

    to Polymer \ @coderfaire \ #cf2014 11 of 49
  4. late 2000’s the Age of AJAX and jQuery or the

    infancy of web applications Introduction to Polymer \ @coderfaire \ #cf2014 14 of 49
  5. Introduction to Polymer \ @coderfaire \ #cf2014 49 Here’s some

    sweet tools we can use! How do we make them all work together? Let’s just nail them all together… what could possibly go wrong?? 15 of
  6. Introduction to Polymer \ @coderfaire \ #cf2014 we’re getting close

    to building fully capable, synced, offline enabled, dynamic, real-time, componentized apps that do cool things like drag & drop elements, multiple file uploads, progress bars, and can access the file 49 22 of
  7. Web workers Drag & drop Web storage http://www.html5rocks.com/en/ Introduction to

    Polymer \ @coderfaire \ #cf2014 Object.observe() Web sockets File API WebGL Web components Shadow DOM Multiple files 49 23 of
  8. HTML Templates Introduction to Polymer \ @coderfaire \ #cf2014 http://www.w3.org/TR/html5/scripting-1.html#the-template-element

    <template> <style>input { color: orange; }</style> <input type="text"> </template> 49 27 of
  9. Introduction to Polymer \ @coderfaire \ #cf2014 npm install http-server

    -g mkdir ~/dev/polymer && cd ~/dev/polymer wget https://github.com/Polymer/polymer-tutorial/archive/master.zip unzip master.zip cd polymer-tutorial-master http-server ./ Open http://localhost:8080/finished/ Getting Started 34 of 49
  10. Introduction to Polymer \ @coderfaire \ #cf2014 paper components an

    implementation of material design http://www.polymer-project.org/docs/elements/material.html 37 of 49
  11. Introduction to Polymer \ @coderfaire \ #cf2014 so what’s wrong

    with Google Polymer? a.k.a. web components 39 of 49
  12. Introduction to Polymer \ @coderfaire \ #cf2014 it’s just a

    polyfill (but with yummy sugar) it’s not ready for production by the time it is, polyfills may be obsolete 40 of 49
  13. Introduction to Polymer \ @coderfaire \ #cf2014 Component A Component

    B Component C jQuery 1.8 jQuery 1.92 jQuery 1.11.1 42 of 49
  14. Introduction to Polymer \ @coderfaire \ #cf2014 component dependency injection

    Possible Solutions a.k.a. hackathon projects developer tooling for testing dependencies 43 of 49
  15. Introduction to Polymer \ @coderfaire \ #cf2014 the future remember

    “the network is the computer” agents as clients? semantic profiles of components https://en.wikipedia.org/wiki/Agent-oriented_programming 46 of 49
  16. Introduction to Polymer \ @coderfaire \ #cf2014 4 of 25

    toys & further reading vulcanize | Build tool for imports / web components | https://github.com/Polymer/vulcanize state of web components | Browser progress on all dependant elements | http://jonrimmer.github.io/are-we-componentized-yet/ mozilla brick | Mozilla’s web component effort | http://mozbrick.github.io/ W3C custom elements polyfill| Alternate custom elements implementation|https://github.com/WebReflection/document-register-element 49 of 49