SlideShare a Scribd company logo
{{ Polymer }}
What? Yet another JS Framework?!!
“ The Polymer library is designed to make it easier and faster for
developers to create great, reusable components for the modern
web. ”
WebComponents? Modular Web Design? Reusable Components?
What is it?
Web Components are a set of standards currently being produced by Google engineers as a W3C
specification that allow for the creation of reusable widgets or components in web documents and web
applications. The intention behind them is to bring component-based software engineering to the World Wide
Web. The components model allows for encapsulation and interoperability of individual HTML elements.
Support for Web Components is present in some WebKit-based browsers like Google Chrome and Opera and
is in Mozilla Firefox (requires a manual configuration change). Microsoft's Internet Explorer has not implemented
any Web Components specifications at the time of writing. Backwards compatibility with older browsers is
implemented using JavaScript-based polyfills.
Web Components consist of 4 main elements which can be used separately or all together:
● Custom Elements
● Shadow DOM
● HTML Imports
● HTML Templates

Recommended for you

Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022

The document discusses browser internals and trends related to mobile browsers. It provides an overview of the major rendering engines including WebKit, Blink, and Chromium. It then focuses on specifics of Android's WebView and how it has transitioned to using the Chromium engine. Finally, it describes the multi-process architecture of Chromium which separates rendering and browser components across multiple processes for improved stability.

Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014

Introduction speech about my up and coming Wade.Go client-side centric web framework for Go. The project is at http://github.com/phaikawl/wade

gowebgolang
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters

At WordCamp Norway I presented about why Javascript matters when developing for WordPress. The amount of Javascript grows and it's time that developers look more into Javascript. The focus is around the example I build for WordSesh to show what you can do with Javascript and Node.js

wordpressnode.jsnorway
Where does Polymer fit into all this?
Shadow DOM? What? Why?
Huh?
With Shadow DOM, elements can get a new kind of node associated with them. This
new kind of node is called a shadow root. An element that has a shadow root
associated with it is called a shadow host. The content of a shadow host isn’t rendered;
the content of the shadow root is rendered instead.
<button>Hello, world!</button>
<script>
var host = document.querySelector('button');
var root = host.createShadowRoot();
root.textContent = 'こんにちは、影の世界!';
</script>
Awesome!!
Hello World! こんにちは、影の世界!

Recommended for you

Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction

Blazor is a new web framework that allows web applications to be written in C# instead of JavaScript. It uses WebAssembly to run .NET code directly in the browser. Developers write Blazor apps using Razor components with HTML and C# code. At runtime, the Blazor runtime compiles the Razor components to WebAssembly, which generates the app's rendering tree and updates the DOM efficiently as the app runs. Blazor provides a way to build interactive client-side web UI using .NET instead of JavaScript.

blazor.net coreasp.net core 2
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline

This document discusses the Android Chromium rendering pipeline. It covers topics like the critical rendering path in browsers, Chromium's multi-process architecture, and differences between Chrome, Chromium WebView, and the Android rendering model. The document also looks at how Chromium uses techniques like GPU acceleration, multi-threading, and layers to improve performance. Finally, it examines the current and future states of the Android WebView.

webviewchromium-powered android webviewchromium
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer Tools

The talk explains that Chrome Developer Tools are actually just an (un)usual web page, every Blink browser has an embedded WebSocket server and that allows Node Inspector to reuse Developer Tools GUI for building Node.js debugger.

google developer tools devtools debugger node insp
How do I use this?
● install node,js
● install bower: npm install -g bower (as root or admin)
● run bower init to initialize the directory
● run bower install --save Polymer/polymer#^1.
0.0 to download and install Polymer
● install elements as bower install Polymer/iron-
input
● Have fun.
Some Magic?
<!DOCTYPE html>
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
function initialize() {
var mapProp = {
center:new google.maps.LatLng(51.508742,-0.120850),
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>
What??
<link rel="import" href="components/google-map/google-map.html">
<google-map lat="51.508742" long="-0.120850"></google-map>
Yada Yada Yada, Can we please see it working?
Demo

Recommended for you

Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)

This is the presentation I was using when delivering the free meetup "Node.js Jump Start" (Crash Course). You can find the video at https://www.youtube.com/watch?v=UEVaBHMTLcQ

node.jsjavascriptjump start
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS

Given at CSS Dev Conf 2014 in New Orleans on October 14, 2014. This full presentation written with Web Components can be viewed with Chrome 36+ online at http://andrewrota.github.io/web-components-and-modular-css-presentation/presentation/index.html#0. The source of the presentation is available on GitHub: https://github.com/andrewrota/web-components-and-modular-css-presentation.

cssweb componentsjs
Chromium ui framework(shared)
Chromium ui framework(shared)Chromium ui framework(shared)
Chromium ui framework(shared)

This slides describe overview of ChromeOS UI Framework, consists of many visual components and aura, and aura shell.

ashchromeaura
Any more resources??
● https://www.polymer-project.org
● http://www.sitepoint.com/introduction-to-web-components-
and-polymer-tutorial/
● https://elements.polymer-project.org/
● http://builtwithpolymer.org/
Thank You

More Related Content

What's hot

Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
Joone Hur
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Krzysztof (Chris) Ozog
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
Gil Fink
 
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
NAVER D2
 
Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014
Nguyễn Thành Hải
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters
Marko Heijnen
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
JamieTaylor112
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
Hyungwook Lee
 
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer Tools
Miroslav Bajtoš
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
Haim Michael
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
Andrew Rota
 
Chromium ui framework(shared)
Chromium ui framework(shared)Chromium ui framework(shared)
Chromium ui framework(shared)
gnomekr
 
Going Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMSGoing Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMS
dotCMS
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
Simona Clapan
 
Jekyll, static websites generator
Jekyll, static websites generatorJekyll, static websites generator
Jekyll, static websites generator
Francesco Napoletano
 
Creating better behat features
Creating better behat featuresCreating better behat features
Creating better behat features
robincawser
 
Extending GWT
Extending GWTExtending GWT
Extending GWT
isurusndr
 
Web components
Web componentsWeb components
Web components
Gil Fink
 
Introduction to blogging with Jekyll
Introduction to blogging with JekyllIntroduction to blogging with Jekyll
Introduction to blogging with Jekyll
Eric Lathrop
 

What's hot (20)

Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
 
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
 
Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014Wade.Go Introduction Speech - SFD HCMC 2014
Wade.Go Introduction Speech - SFD HCMC 2014
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer Tools
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
 
Chromium ui framework(shared)
Chromium ui framework(shared)Chromium ui framework(shared)
Chromium ui framework(shared)
 
Going Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMSGoing Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMS
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
 
Jekyll, static websites generator
Jekyll, static websites generatorJekyll, static websites generator
Jekyll, static websites generator
 
Creating better behat features
Creating better behat featuresCreating better behat features
Creating better behat features
 
Extending GWT
Extending GWTExtending GWT
Extending GWT
 
Web components
Web componentsWeb components
Web components
 
Introduction to blogging with Jekyll
Introduction to blogging with JekyllIntroduction to blogging with Jekyll
Introduction to blogging with Jekyll
 

Viewers also liked

Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)
Manuel Carrasco Moñino
 
Polymer, A Web Component Polyfill Library
Polymer, A Web Component Polyfill LibraryPolymer, A Web Component Polyfill Library
Polymer, A Web Component Polyfill Library
naohito maeda
 
Building a single page application with Polymer
Building a single page application with PolymerBuilding a single page application with Polymer
Building a single page application with Polymer
Bart Wouters
 
Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in Components
Anton Ivanov
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with Polymer
Sami Suo-Heikki
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
Red Pill Now
 
Polymer - New Era of Web Development
Polymer - New Era of Web DevelopmentPolymer - New Era of Web Development
Polymer - New Era of Web Development
Alexander Kirillov
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza
 
Web Components mit Polymer und AngularJS 1.x
Web Components mit Polymer und AngularJS 1.xWeb Components mit Polymer und AngularJS 1.x
Web Components mit Polymer und AngularJS 1.x
inovex GmbH
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
sdeeg
 
Polymer and web component
Polymer and web componentPolymer and web component
Polymer and web component
Imam Raza
 
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer ElementsRock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
Manuel Carrasco Moñino
 
Polymer project presentation
Polymer project presentationPolymer project presentation
Polymer project presentation
jskvara
 
Intro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsIntro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin Elements
Manuel Carrasco Moñino
 
Polymer ppt
Polymer pptPolymer ppt
Polymers
PolymersPolymers
Polymers
sportymaaz
 

Viewers also liked (16)

Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)Introducing GWT Polymer (vaadin)
Introducing GWT Polymer (vaadin)
 
Polymer, A Web Component Polyfill Library
Polymer, A Web Component Polyfill LibraryPolymer, A Web Component Polyfill Library
Polymer, A Web Component Polyfill Library
 
Building a single page application with Polymer
Building a single page application with PolymerBuilding a single page application with Polymer
Building a single page application with Polymer
 
Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in Components
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with Polymer
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
Polymer - New Era of Web Development
Polymer - New Era of Web DevelopmentPolymer - New Era of Web Development
Polymer - New Era of Web Development
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
 
Web Components mit Polymer und AngularJS 1.x
Web Components mit Polymer und AngularJS 1.xWeb Components mit Polymer und AngularJS 1.x
Web Components mit Polymer und AngularJS 1.x
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
 
Polymer and web component
Polymer and web componentPolymer and web component
Polymer and web component
 
Rock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer ElementsRock GWT UI's with Polymer Elements
Rock GWT UI's with Polymer Elements
 
Polymer project presentation
Polymer project presentationPolymer project presentation
Polymer project presentation
 
Intro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin ElementsIntro to Web Components, Polymer & Vaadin Elements
Intro to Web Components, Polymer & Vaadin Elements
 
Polymer ppt
Polymer pptPolymer ppt
Polymer ppt
 
Polymers
PolymersPolymers
Polymers
 

Similar to Polymer Web Framework - Swecha Boot Camp

Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
Paul Jensen
 
Web components Introduction
Web components IntroductionWeb components Introduction
Web components Introduction
Eugenio Romano
 
Polymer 101
Polymer 101Polymer 101
Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...
Marios Fakiolas
 
Web components, so close!
Web components, so close!Web components, so close!
Web components, so close!
Aleks Zinevych
 
Web components
Web componentsWeb components
Web components
Mohd Saeed
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven development
Gil Fink
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
Mikhail Kuznetcov
 
Implementing Vanilla Web Components
Implementing Vanilla Web ComponentsImplementing Vanilla Web Components
Implementing Vanilla Web Components
sonumanoj
 
Web Components
Web ComponentsWeb Components
Web Components
FITC
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
_Dewy_
 
Puppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node APIPuppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node API
ubunturk
 
Webcomponents TLV October 2014
Webcomponents TLV October 2014Webcomponents TLV October 2014
Webcomponents TLV October 2014
Dmitry Bakaleinik
 
WebGL Awesomeness
WebGL AwesomenessWebGL Awesomeness
WebGL Awesomeness
Stephan Seidt
 
Polymer
PolymerPolymer
Polymer
LearningTech
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
Hyungwook Lee
 
Prueba ppt
Prueba pptPrueba ppt
Prueba ppt
Ulises Torelli
 
Html5v1
Html5v1Html5v1
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in Salesforce
Jitendra Zaa
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
Thierry TROUIN ☁
 

Similar to Polymer Web Framework - Swecha Boot Camp (20)

Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Web components Introduction
Web components IntroductionWeb components Introduction
Web components Introduction
 
Polymer 101
Polymer 101Polymer 101
Polymer 101
 
Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...
 
Web components, so close!
Web components, so close!Web components, so close!
Web components, so close!
 
Web components
Web componentsWeb components
Web components
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven development
 
Web components api + Vuejs
Web components api + VuejsWeb components api + Vuejs
Web components api + Vuejs
 
Implementing Vanilla Web Components
Implementing Vanilla Web ComponentsImplementing Vanilla Web Components
Implementing Vanilla Web Components
 
Web Components
Web ComponentsWeb Components
Web Components
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
Puppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node APIPuppeteer - Headless Chrome Node API
Puppeteer - Headless Chrome Node API
 
Webcomponents TLV October 2014
Webcomponents TLV October 2014Webcomponents TLV October 2014
Webcomponents TLV October 2014
 
WebGL Awesomeness
WebGL AwesomenessWebGL Awesomeness
WebGL Awesomeness
 
Polymer
PolymerPolymer
Polymer
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
Prueba ppt
Prueba pptPrueba ppt
Prueba ppt
 
Html5v1
Html5v1Html5v1
Html5v1
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in Salesforce
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
 

More from Swecha | స్వేచ్ఛ

Intro to Free Software | Swecha
Intro to Free Software | SwechaIntro to Free Software | Swecha
Intro to Free Software | Swecha
Swecha | స్వేచ్ఛ
 
Intro to OpenClipArt - by Swecha
Intro to OpenClipArt - by SwechaIntro to OpenClipArt - by Swecha
Intro to OpenClipArt - by Swecha
Swecha | స్వేచ్ఛ
 
Inkscape - A brief
Inkscape - A briefInkscape - A brief
Inkscape - A brief
Swecha | స్వేచ్ఛ
 
Android by Swecha
Android by SwechaAndroid by Swecha
Bala Swecha-Bridging the Digital Divide
Bala Swecha-Bridging the Digital DivideBala Swecha-Bridging the Digital Divide
Bala Swecha-Bridging the Digital Divide
Swecha | స్వేచ్ఛ
 
Mongo db
Mongo dbMongo db
The Deep and Dark Web
The Deep and Dark WebThe Deep and Dark Web

More from Swecha | స్వేచ్ఛ (7)

Intro to Free Software | Swecha
Intro to Free Software | SwechaIntro to Free Software | Swecha
Intro to Free Software | Swecha
 
Intro to OpenClipArt - by Swecha
Intro to OpenClipArt - by SwechaIntro to OpenClipArt - by Swecha
Intro to OpenClipArt - by Swecha
 
Inkscape - A brief
Inkscape - A briefInkscape - A brief
Inkscape - A brief
 
Android by Swecha
Android by SwechaAndroid by Swecha
Android by Swecha
 
Bala Swecha-Bridging the Digital Divide
Bala Swecha-Bridging the Digital DivideBala Swecha-Bridging the Digital Divide
Bala Swecha-Bridging the Digital Divide
 
Mongo db
Mongo dbMongo db
Mongo db
 
The Deep and Dark Web
The Deep and Dark WebThe Deep and Dark Web
The Deep and Dark Web
 

Polymer Web Framework - Swecha Boot Camp

  • 2. What? Yet another JS Framework?!! “ The Polymer library is designed to make it easier and faster for developers to create great, reusable components for the modern web. ”
  • 3. WebComponents? Modular Web Design? Reusable Components?
  • 4. What is it? Web Components are a set of standards currently being produced by Google engineers as a W3C specification that allow for the creation of reusable widgets or components in web documents and web applications. The intention behind them is to bring component-based software engineering to the World Wide Web. The components model allows for encapsulation and interoperability of individual HTML elements. Support for Web Components is present in some WebKit-based browsers like Google Chrome and Opera and is in Mozilla Firefox (requires a manual configuration change). Microsoft's Internet Explorer has not implemented any Web Components specifications at the time of writing. Backwards compatibility with older browsers is implemented using JavaScript-based polyfills. Web Components consist of 4 main elements which can be used separately or all together: ● Custom Elements ● Shadow DOM ● HTML Imports ● HTML Templates
  • 5. Where does Polymer fit into all this?
  • 7. Huh? With Shadow DOM, elements can get a new kind of node associated with them. This new kind of node is called a shadow root. An element that has a shadow root associated with it is called a shadow host. The content of a shadow host isn’t rendered; the content of the shadow root is rendered instead. <button>Hello, world!</button> <script> var host = document.querySelector('button'); var root = host.createShadowRoot(); root.textContent = 'こんにちは、影の世界!'; </script>
  • 9. How do I use this? ● install node,js ● install bower: npm install -g bower (as root or admin) ● run bower init to initialize the directory ● run bower install --save Polymer/polymer#^1. 0.0 to download and install Polymer ● install elements as bower install Polymer/iron- input ● Have fun.
  • 10. Some Magic? <!DOCTYPE html> <html> <head> <script src="http://maps.googleapis.com/maps/api/js"></script> <script> function initialize() { var mapProp = { center:new google.maps.LatLng(51.508742,-0.120850), zoom:5, mapTypeId:google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="googleMap" style="width:500px;height:380px;"></div> </body> </html>
  • 12. Yada Yada Yada, Can we please see it working? Demo
  • 13. Any more resources?? ● https://www.polymer-project.org ● http://www.sitepoint.com/introduction-to-web-components- and-polymer-tutorial/ ● https://elements.polymer-project.org/ ● http://builtwithpolymer.org/