SlideShare a Scribd company logo
Google Polymer
Introduction
Buzzwords
Model View ViewModel(MVVM) - UI paradigm for applying context to data objects
JavaScript Object Notation(JSON) - A succinct syntax for representing data objects in text
Data Binding - Linking a data object to an interface component so that the interface and data object react
naturally to user interaction
Cascading Style Sheets(CSS) - Syntax for setting the look of an HTML element
Data Object Model(DOM) - Model that the browser uses to identify what/how elements should be
presented on the screen as well as how to interact with them.
Web Components - web standard for creating reusable custom widgets. Current state of implementation.
Material Design - Adds inherited characteristics to attributes like z-index. Allows page layout to react to
spontaneous events.
What is Polymer?
CSS Styling and Layouts JavaScript Widgets Databinding Uses Web Components
* What you get out of the box.
What does it solve?
Reduces spaghetti code in your JavaScript
Reduces coupling between groups of elements
Packages all dependencies with element for easy reuse
Gives you a bunch of cool custom controls
What does it solve? Pt.2
Product
Batch
Operator
Submit
Batch Product Operator
000-01 Product1 Dan
000-02 Product2 Jack
000-03 Product1 Sam
000-04 Product2 Dan
What does it solve? Pt.3
Product
Batch
Operator
Submit
Batch Product Date
000-01 Product1 12/8/15
000-02 Product2 12/9/15
000-03 Product1 12/10/15
000-04 Product2 12/11/15
CustomBatchForm
setContext()
insertRow()
CustomBatchTable
Adding Polymer to
ASP MVC Project
Polymer can be added to your
Content folder.
The file structure should look
similar to the this.
The only file that will need to be
included is the MyElement.html.
In this example it would be google-
map.html
Getting Started
WebComponents.JS adds support
for web components on older
browsers.
Include Steps
Add Reference to
WebComponents.js
Add Includes for all components
that you want to use
Uses the included element.
<!-- Polyfill Web Components for older
browsers -->
<script
src="webcomponentsjs/webcomponen
ts-lite.min.js"></script>
<!-- Import element -->
<link rel="import" href="google-
map.html">
<!-- Use element -->
<google-map latitude="37.790"
longitude="-122.390"></google-
map>
Notable Pieces of an Element
Definition
Each element definition has a
section for defining the
endpoints for properties and
event handlers.
Has includes for all underlying
dependencies
Has include for default CSS
<!-- Add all inherited web components -->
<!-- Add CSS as include or inline -->
<dom-module id="product-form">
<template>
Product:<input value=”{{product}}” />
Batch: <input value=”{{batch}}” />
Operator: <input value=”{{operator}}” />
</template>
<script>
Polymer({
is: 'product-form',
properties: {
product: String,
batch: String,
operator:String,
date: String
}
});
</script>
</dom-module>
Why Should I Use It
Common integration pattern for all elements
Support for one-way and two-way data binding
Implements Web Components
Extensible HTML elements
Setting Data Binding
Double mustache notation represents
two-way binding “{{myObject}}”
Double square brackets represents
one-way binding “[[myObject]]”
Data binding usually uses the “items”
attribute.
Use the “as” attribute to set the name
for a single item in the items list.
<template is="dom-bind">
<iron-ajax url="data.json" last-response="{{data}}" auto></iron-ajax>
<iron-list items="[[data]]" as="person">
<template>
<div>
Name: <span>[[person.name]]</span>
</div>
</template>
</iron-list>
</template>
Customizing CSS
Even though all elements will likely
come with a default styling. Polymer
allows for modifications of an
element's CSS.
paper-button.fancy {
background: green;
color: yellow;
}
paper-button.fancy:hover {
background: lime;
}
paper-button[disabled],
paper-button[toggles][active] {
background: red;
}
Demo Project
Feel free to look through the demo project
Also feel free to use the live demo
Here is the Polymer element catalog
Vulcanize - Tool for optimizing Web Component includes

More Related Content

PDF
Polymer
jskvara
 
PDF
Polymer vs other libraries (Devfest Ukraine 2015)
jskvara
 
PPTX
Polymer and web component
Imam Raza
 
PDF
Google Polymer Framework
Kostas Karolemeas
 
PPTX
How to build a web application with Polymer
Sami Suo-Heikki
 
PDF
Introduction to Web Components
Fu Cheng
 
PDF
Introduction to polymer project
Christoforus Surjoputro
 
PDF
Polymer, A Web Component Polyfill Library
naohito maeda
 
Polymer
jskvara
 
Polymer vs other libraries (Devfest Ukraine 2015)
jskvara
 
Polymer and web component
Imam Raza
 
Google Polymer Framework
Kostas Karolemeas
 
How to build a web application with Polymer
Sami Suo-Heikki
 
Introduction to Web Components
Fu Cheng
 
Introduction to polymer project
Christoforus Surjoputro
 
Polymer, A Web Component Polyfill Library
naohito maeda
 

What's hot (20)

PPTX
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza
 
PDF
Web Components & Polymer 1.0 (Webinale Berlin)
Hendrik Ebbers
 
PDF
Levent-Gurses' Introduction to Web Components & Polymer
Erik Isaksen
 
PDF
Web Components
Nikolaus Graf
 
PDF
Web Components with Polymer (extra Polymer 2.0)
Dhyego Fernando
 
PDF
Building a Secure App with Google Polymer and Java / Spring
sdeeg
 
PPTX
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
GreeceJS
 
PDF
Web Components + Backbone: a Game-Changing Combination
Andrew Rota
 
PDF
Polymer & the web components revolution 6:25:14
mattsmcnulty
 
PPTX
Polymer
LearningTech
 
PDF
Web Components and Modular CSS
Andrew Rota
 
PDF
A brave new web - A talk about Web Components
Michiel De Mey
 
PDF
Booting up with polymer
Marcus Hellberg
 
PPTX
Polymer / WebComponents
Arnaud Kervern
 
PDF
Web Components Everywhere
Ilia Idakiev
 
PDF
Introduction to Web Components
Rich Bradshaw
 
PDF
Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Spyros Ioakeimidis
 
PPTX
Polymer presentation in Google HQ
Harshit Pandey
 
PDF
The Complementarity of React and Web Components
Andrew Rota
 
PPT
Reaching for the Future with Web Components and Polymer
FITC
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza
 
Web Components & Polymer 1.0 (Webinale Berlin)
Hendrik Ebbers
 
Levent-Gurses' Introduction to Web Components & Polymer
Erik Isaksen
 
Web Components
Nikolaus Graf
 
Web Components with Polymer (extra Polymer 2.0)
Dhyego Fernando
 
Building a Secure App with Google Polymer and Java / Spring
sdeeg
 
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
GreeceJS
 
Web Components + Backbone: a Game-Changing Combination
Andrew Rota
 
Polymer & the web components revolution 6:25:14
mattsmcnulty
 
Polymer
LearningTech
 
Web Components and Modular CSS
Andrew Rota
 
A brave new web - A talk about Web Components
Michiel De Mey
 
Booting up with polymer
Marcus Hellberg
 
Polymer / WebComponents
Arnaud Kervern
 
Web Components Everywhere
Ilia Idakiev
 
Introduction to Web Components
Rich Bradshaw
 
Polymer - Welcome to the Future @ PyGrunn 08/07/2014
Spyros Ioakeimidis
 
Polymer presentation in Google HQ
Harshit Pandey
 
The Complementarity of React and Web Components
Andrew Rota
 
Reaching for the Future with Web Components and Polymer
FITC
 
Ad

Viewers also liked (16)

PDF
Polymer project presentation
jskvara
 
PPT
Polymers
sportymaaz
 
PPTX
Front-end architecture for cloud applications and Polymer
uEngine Solutions
 
PPTX
ChatOps Unplugged
VictorOps
 
PDF
Dry battery & lithium polymer batter
Emma Kwok
 
PDF
Wells Fargo Real Estate Securities Conference – New York
Corning_Owens
 
PDF
Trayecto de actividades_diplomado
Oscar Eduardo
 
PDF
아이러브포크 결과 보고서 (2)
Daniel Gray
 
PDF
Chat ops .. a beginner's guide
Jason Hand
 
PDF
Let's Play Dart
Jana Moudrá
 
PPTX
Captinamericamacrophotoshoot
Jo Lowes
 
PDF
4 q16 earnings presentation
corridorinfra2016ir
 
PDF
LSA17: State of the Association (LSA)
Localogy
 
PDF
02 fluid models
Tino Lc
 
PDF
SC17 Exhibitor Prospectus
inside-BigData.com
 
PDF
LSA17: Local 2020 - Advice from the Future (GoDaddy, Verve, Alignable, DAC Gr...
Localogy
 
Polymer project presentation
jskvara
 
Polymers
sportymaaz
 
Front-end architecture for cloud applications and Polymer
uEngine Solutions
 
ChatOps Unplugged
VictorOps
 
Dry battery & lithium polymer batter
Emma Kwok
 
Wells Fargo Real Estate Securities Conference – New York
Corning_Owens
 
Trayecto de actividades_diplomado
Oscar Eduardo
 
아이러브포크 결과 보고서 (2)
Daniel Gray
 
Chat ops .. a beginner's guide
Jason Hand
 
Let's Play Dart
Jana Moudrá
 
Captinamericamacrophotoshoot
Jo Lowes
 
4 q16 earnings presentation
corridorinfra2016ir
 
LSA17: State of the Association (LSA)
Localogy
 
02 fluid models
Tino Lc
 
SC17 Exhibitor Prospectus
inside-BigData.com
 
LSA17: Local 2020 - Advice from the Future (GoDaddy, Verve, Alignable, DAC Gr...
Localogy
 
Ad

Similar to Google Polymer Introduction (20)

PDF
Web components are the future of the web - Take advantage of new web technolo...
Marios Fakiolas
 
PDF
Intro to Web Components, Polymer & Vaadin Elements
Manuel Carrasco Moñino
 
PDF
Александр Кашеверов - Polymer
DataArt
 
PDF
Introduction to Polymer and Firebase - Simon Gauvin
Simon Gauvin
 
PDF
Polymer
Josef Ježek
 
PDF
Polymer - pleasant client-side programming with web components
psstoev
 
PDF
Polymer Web Framework - Swecha Boot Camp
Swecha | స్వేచ్ఛ
 
PDF
2014 03-25 - GDG Nantes - Web Components avec Polymer
Horacio Gonzalez
 
PDF
The Structure of Web Code: A Case For Polymer, November 1, 2014
Tommie Gannert
 
PPTX
Web Components: The Future of Web Development is Here
John Riviello
 
PDF
Devoxx France - Web Components, Polymer et Material Design
Horacio Gonzalez
 
PPTX
Web Components: The Future of Web Development is Here
John Riviello
 
PPTX
An Introduction to Web Components
Red Pill Now
 
PDF
Polymer 2.0 codelab for extreme beginners
Sylia Baraka
 
PDF
Web components - An Introduction
cherukumilli2
 
PPTX
Introduction to Web Components & Polymer Workshop - U of I WebCon
John Riviello
 
PDF
Polymer Code Lab in Dart - DevFest Kraków 2014
jskvara
 
PDF
Polymer 101
Alea Soluciones, S.L.
 
PDF
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
Rahat Khanna a.k.a mAppMechanic
 
PDF
Custom Elements with Polymer Web Components #econfpsu16
John Riviello
 
Web components are the future of the web - Take advantage of new web technolo...
Marios Fakiolas
 
Intro to Web Components, Polymer & Vaadin Elements
Manuel Carrasco Moñino
 
Александр Кашеверов - Polymer
DataArt
 
Introduction to Polymer and Firebase - Simon Gauvin
Simon Gauvin
 
Polymer
Josef Ježek
 
Polymer - pleasant client-side programming with web components
psstoev
 
Polymer Web Framework - Swecha Boot Camp
Swecha | స్వేచ్ఛ
 
2014 03-25 - GDG Nantes - Web Components avec Polymer
Horacio Gonzalez
 
The Structure of Web Code: A Case For Polymer, November 1, 2014
Tommie Gannert
 
Web Components: The Future of Web Development is Here
John Riviello
 
Devoxx France - Web Components, Polymer et Material Design
Horacio Gonzalez
 
Web Components: The Future of Web Development is Here
John Riviello
 
An Introduction to Web Components
Red Pill Now
 
Polymer 2.0 codelab for extreme beginners
Sylia Baraka
 
Web components - An Introduction
cherukumilli2
 
Introduction to Web Components & Polymer Workshop - U of I WebCon
John Riviello
 
Polymer Code Lab in Dart - DevFest Kraków 2014
jskvara
 
MAppMechanic CodeLabs - PolymerJS Advanced Topics for Custom Elements
Rahat Khanna a.k.a mAppMechanic
 
Custom Elements with Polymer Web Components #econfpsu16
John Riviello
 

Recently uploaded (20)

PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
Exploring AI Agents in Process Industries
amoreira6
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Presentation about variables and constant.pptx
kr2589474
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
oapresentation.pptx
mehatdhavalrajubhai
 

Google Polymer Introduction

  • 2. Buzzwords Model View ViewModel(MVVM) - UI paradigm for applying context to data objects JavaScript Object Notation(JSON) - A succinct syntax for representing data objects in text Data Binding - Linking a data object to an interface component so that the interface and data object react naturally to user interaction Cascading Style Sheets(CSS) - Syntax for setting the look of an HTML element Data Object Model(DOM) - Model that the browser uses to identify what/how elements should be presented on the screen as well as how to interact with them. Web Components - web standard for creating reusable custom widgets. Current state of implementation. Material Design - Adds inherited characteristics to attributes like z-index. Allows page layout to react to spontaneous events.
  • 3. What is Polymer? CSS Styling and Layouts JavaScript Widgets Databinding Uses Web Components * What you get out of the box.
  • 4. What does it solve? Reduces spaghetti code in your JavaScript Reduces coupling between groups of elements Packages all dependencies with element for easy reuse Gives you a bunch of cool custom controls
  • 5. What does it solve? Pt.2 Product Batch Operator Submit Batch Product Operator 000-01 Product1 Dan 000-02 Product2 Jack 000-03 Product1 Sam 000-04 Product2 Dan
  • 6. What does it solve? Pt.3 Product Batch Operator Submit Batch Product Date 000-01 Product1 12/8/15 000-02 Product2 12/9/15 000-03 Product1 12/10/15 000-04 Product2 12/11/15 CustomBatchForm setContext() insertRow() CustomBatchTable
  • 7. Adding Polymer to ASP MVC Project Polymer can be added to your Content folder. The file structure should look similar to the this. The only file that will need to be included is the MyElement.html. In this example it would be google- map.html
  • 8. Getting Started WebComponents.JS adds support for web components on older browsers. Include Steps Add Reference to WebComponents.js Add Includes for all components that you want to use Uses the included element. <!-- Polyfill Web Components for older browsers --> <script src="webcomponentsjs/webcomponen ts-lite.min.js"></script> <!-- Import element --> <link rel="import" href="google- map.html"> <!-- Use element --> <google-map latitude="37.790" longitude="-122.390"></google- map>
  • 9. Notable Pieces of an Element Definition Each element definition has a section for defining the endpoints for properties and event handlers. Has includes for all underlying dependencies Has include for default CSS <!-- Add all inherited web components --> <!-- Add CSS as include or inline --> <dom-module id="product-form"> <template> Product:<input value=”{{product}}” /> Batch: <input value=”{{batch}}” /> Operator: <input value=”{{operator}}” /> </template> <script> Polymer({ is: 'product-form', properties: { product: String, batch: String, operator:String, date: String } }); </script> </dom-module>
  • 10. Why Should I Use It Common integration pattern for all elements Support for one-way and two-way data binding Implements Web Components Extensible HTML elements
  • 11. Setting Data Binding Double mustache notation represents two-way binding “{{myObject}}” Double square brackets represents one-way binding “[[myObject]]” Data binding usually uses the “items” attribute. Use the “as” attribute to set the name for a single item in the items list. <template is="dom-bind"> <iron-ajax url="data.json" last-response="{{data}}" auto></iron-ajax> <iron-list items="[[data]]" as="person"> <template> <div> Name: <span>[[person.name]]</span> </div> </template> </iron-list> </template>
  • 12. Customizing CSS Even though all elements will likely come with a default styling. Polymer allows for modifications of an element's CSS. paper-button.fancy { background: green; color: yellow; } paper-button.fancy:hover { background: lime; } paper-button[disabled], paper-button[toggles][active] { background: red; }
  • 13. Demo Project Feel free to look through the demo project Also feel free to use the live demo Here is the Polymer element catalog Vulcanize - Tool for optimizing Web Component includes

Editor's Notes

  • #4: Only focusing on Web Components for this speech. I may misrepresent Angular and other technologies due to lack of experience with them The approach that polymer takes is to package all of the CSS and JavaScript for an element into one file. Polymer syntax looks a lot more like WPF than Angular does. Blog describing the current state of Web Components implementation. Mozilla also has a framework called X-Tag.
  • #6: In many cases an input value may map directly to a specific cell. This will cause issues if the implementation of the table changes.
  • #7: Each dotted box represents a custom element Use the black box approach to element groupings Create well defined points of entry. Also can make use of the observer pattern.
  • #8: Note that these are .HTML files and not CSS or JavaScript
  • #10: A public function would be represented as property like setContext: function(contextObj) { }