Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Web Components: The Future of Web Applications
Search
Ire Aderinokun
June 17, 2017
Programming
6
1.6k
Web Components: The Future of Web Applications
Talk at Google I/O Extended Lagos
Ire Aderinokun
June 17, 2017
Tweet
Share
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
480
What about CSS? Progressive Enhancement & CSS (Updated)
ireade
4
480
Building "The Loop" (Introduction to Frontend Development)
ireade
3
290
Demystifying Angular Universal
ireade
5
560
Introduction to UI/UX Design
ireade
9
700
Building Modern Progressive Web Apps
ireade
7
1.6k
What about CSS? Progressive Enhancement & CSS
ireade
9
4.7k
Hosting with Firebase
ireade
3
800
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
140
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
Level up your Gemini CLI - D&D Style!
palladius
1
170
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
150
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
connect-python: convenient protobuf RPC for Python
anuraaga
0
360
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
400
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
210
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
470
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
260
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
480
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
Scaling GitHub
holman
464
140k
KATA
mclloyd
PRO
32
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Embracing the Ebb and Flow
colly
88
4.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
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?