Presentación para el Google Developer Group DevFest 2016 de Granada sobre Polymer
Polymerel fin a tus problemas con el front-end+Israel Blancas@iblancasa#DevFestGRXGDG Granada
View Slide
#DevFestGRXGDG Granada
Web Components are low-levelprimitives that let you defineyour own HTML Elements.#DevFestGRXGDG Granada
TemplateShadow DOMCustom ElementsHTML Importsnative client-side templatingscoping, compositiondefine new HTML/DOMloading web components#DevFestGRXGDG Granada
Primitives are designed so we canbuild libraries on top of them.#DevFestGRXGDG Granada
So what is Polymer?#DevFestGRXGDG Granada
Polymer is nota framework#DevFestGRXGDG Granada
Existing FrameworksApplicationsWeb PlatformWeb Components built with Polymer (or not)#DevFestGRXGDG Granada
Polymer is nota frameworkSure?#DevFestGRXGDG Granada
Over 3M pages#DevFestGRXGDG Granada
Let’s buildan element!Image by Gloria Viganò for the Noun Project#DevFestGRXGDG Granada
Hey user! Something awesome happened!#DevFestGRXGDG Granada
xHey user! Something awesome happened!#DevFestGRXGDG Granada
alert-banner.html<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>#DevFestGRXGDG Granada
alert-banner.html<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Import all of yourdependencies#DevFestGRXGDG Granada
alert-banner.html<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>A container for yourelement definition#DevFestGRXGDG Granada
alert-banner.html<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Local DOM is the DOMan elements is in charge ofcreating and managing#DevFestGRXGDG Granada
Shadow DOM#DevFestGRXGDG Granada
Shadow DOM || “Shady DOM”#DevFestGRXGDG Granada
Shadow DOM || “Shady DOM” == Local DOM#DevFestGRXGDG Granada
alert-banner.html<br/>.alert { background: blue; color: white; }<br/>Hey user! Something awesome happened!<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Hey user! Something awesome happHey user! Something awesome happ#DevFestGRXGDG Granada
alert-banner.html<br/>.alert { background: blue; color: white; }<br/>Hey user! Something awesome happened!<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Define yourprototype#DevFestGRXGDG Granada
Polymer!#DevFestGRXGDG Granada
alert-banner.html<br/>.alert { background: blue; color: white; }<br/>Hey user! Something awesome happened!<br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Replace hard-coded data#DevFestGRXGDG Granada
alert-banner.html<br/>.alert { background: blue; color: white; }<br/><br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>With content elements!#DevFestGRXGDG Granada
Light DOM - The world outsideyour component’s Local DOM#DevFestGRXGDG Granada
alert-banner.html<br/>.alert { background: blue; color: white; }<br/><br/>Polymer({<br/>is: ‘alert-banner'<br/>});<br/>Select content withCSS selectors#DevFestGRXGDG Granada
Polymer!Lorem ipsum dolor sit amet…#DevFestGRXGDG Granada
Polymer!Success! Your first component!#DevFestGRXGDG Granada
Polymer!Success! Your first component!Matching class#DevFestGRXGDG Granada
Success! Your first component!#DevFestGRXGDG Granada
ElementsBuilding blocks for a better web#DevFestGRXGDG Granada
There’s an element for that!
https://beta.webcomponents.org/collection/Polymer/elements#DevFestGRXGDG Granada
ApplicationsCombining elements into something great#DevFestGRXGDG Granada
Create or reuse elements in any app#DevFestGRXGDG Granada
App-wide Theming#303f9fCSS custom properties--dark-primary-color--light-primary-color--accent-color--primary-text-color#303f9f--dark-primary-color--light-primary-color--accent-color--primary-text-color#DevFestGRXGDG Granada
Production-ising Apps#DevFestGRXGDG Granada
Build process out of the box#DevFestGRXGDG Granada
#DevFestGRXGDG GranadaGDG Granada
polymer-project.org#DevFestGRXGDG Granada
Muchas gracias¿Preguntas?+Israel Blancas@iblancasa#DevFestGRXGDG Granada