Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Web Components: The Future of Web Applications
Search
Ire Aderinokun
June 17, 2017
Programming
1.6k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web Components: The Future of Web Applications
Talk at Google I/O Extended Lagos
Ire Aderinokun
June 17, 2017
More Decks by Ire Aderinokun
See All by Ire Aderinokun
Web Accessibility: It Doesn't Have to Be Hard
ireade
4
1.1k
Becoming a GDE & Overcoming Stage Fright
ireade
4
520
What about CSS? Progressive Enhancement & CSS (Updated)
ireade
4
540
Building "The Loop" (Introduction to Frontend Development)
ireade
3
340
Demystifying Angular Universal
ireade
5
600
Introduction to UI/UX Design
ireade
9
760
Building Modern Progressive Web Apps
ireade
7
1.7k
What about CSS? Progressive Enhancement & CSS
ireade
9
5.3k
Hosting with Firebase
ireade
3
820
Other Decks in Programming
See All in Programming
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
600
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
1
130
AI Augmentation Techniques with Liberty
ivargrimstad
1
310
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
280
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
450
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
160
sbt 2.0: takeoff
eed3si9n
0
190
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
260
GraphQL の onError と Nullability のこれから
quramy
0
200
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
190
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The SEO Collaboration Effect
kristinabergwall1
1
610
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
We Are The Robots
honzajavorek
0
420
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Transcript
Web Components: The Future of Web Applications Ire Aderinokun I/O
Extended Lagos
Hello! • Ire Aderinokun • Frontend Developer and User Interface
Designer • Google Expert in Web Technologies • Writer, bitsofco.de • Software Developer at eyeo
Building Applications on the Web is Hard
None
Android <android.support.design.widget. BottomNavigationView />
iOS UITabBar UITabBarController
Web
This is because the Web is an open platform
Building Blocks of the Web
Early Websites
Websites Today
But Web Technologies are getting better
The Solution is Web Components!
Web Components are a set of new web platform features
that let you create your own HTML elements
<bottom-navigation> <floating-action-button> <ire-aderinokun> <caniuse-embed> <inlinetweetjs> <meme-generator> <inlinetweetjs> <bitsofcode>
Encapsulated & Reusable
1B+ mobile devices natively support Web Components, right now!
None
What is the Polymer Project?
– The Polymer Team “Our mission is to make life
better for users and developers, by helping developers unlock the web platform’s full potential and by spurring the web platform to evolve and improve.”
The Polymer Project is a look into the future of
web development
None
1. Polymer Library
The Polymer Library is a Javascript Library that helps you
create custom reusable HTML elements, and use them to build performant, maintainable apps
Why use the Polymer Library?
Polymer 2.0 ! Improved Interoperability Data System Improvements Uses Native
APIs Polymer CLI
2. Elements
None
None
None
None
3. PRPL
None
4. App Toolbox
Polymer App Toolbox is a collection of components, tools and
templates for building Progressive Web Apps with Polymer
Features • Component-based architecture using Polymer • Routing using the
<app-route> elements • Offline caching using Service Workers • Build tooling to support delivery over HTTP/1 or HTTP/2
5. Tooling
Polymer CLI
Commands • polymer init • polymer serve • polymer lint
• polymer test • polymer build • polymer analyze
polymer init
What can you actually do with Web Components?
<caniuse-embed>
None
cheese.polymer-project.org
None
None
How do Web Components work?
4 Key Web Technologies HTML Imports Shadow DOM HTML Templates
Custom Elements
Custom Elements • An API for creating your own HTML
elements by creating a Class that extends from HTMLElement • customElements.define()
HTML Templates • A mechanism for defining content that can
be stored for subsequent use in a document • <template></template>
Shadow DOM • A mechanism for encapsulating a DOM and
CSS, so that they can remain separate from the main document • document.body.attachShadow()
HTML Imports • A way to package and share HTML
files • <link rel=“import” href=“component.html”>
None
None
A Simple Native Web Component
None
Custom Elements API
Base HTMLElement Class
Shadow DOM
Content
None
None
How do Polymer Components Work?
None
Import Polymer Library
Custom Elements API
HTML Template
Data Binding
None
Let’s Build a Web Component!
<meme-maker>
Join In! 1. Install Polymer CLI • npm install -g
polymer-cli 2. Create project directory • mkdir meme-maker && cd meme-maker 3. Create a new Polymer project • polymer init 4. or Clone the final repository • bit.ly/meme-maker-polymer
Diving Deeper
www.Polymer-Project.org
None
None
Thank you! Any Questions?