SlideShare a Scribd company logo
1 of 63
High
Performance
Web
Components
@souders
stevesouders.com/docs/html5devconf-webcomp-20140522.pptx flickr.com/photos/brenderous/4255550788
flickr.com/photos/brenderous/4255550788
bigqueri.es/t/what-is-the-distribution-of-1st-party-vs-3rd-party-resources/100
flickr.com/photos/brenderous/4255550788
flickr.com/photos/countylemonade/5940567593
SPOF
flickr.com/photos/darwinbell/465459020/
en.wikipedia.org/wiki/Single_point_of_failure
Frontend
SPOF
flickr.com/photos/runneralan/9741423581
scripts
stylesheets
fonts
p(frontend SPOF)
= p(at least one 3rd party down)
= 1 – p(all 3rd party up)
= 1 – p(3rd party up)n
where
n = # of 3rd party JS, CSS, & fonts on
the page
flickr.com/photos/mkamp/2478311790
p(frontend SPOF)
example:
p(3rd party up) = 0.998 (17 hr/yr)
n = 10
p(frontend SPOF)
= 1 - p(3rd party up)n
= 1 - (0.998)10
= 1 – (0.98)
= 0.02 (7.2 days/yr) flickr.com/photos/mkamp/2478311790
bigqueri.es/t/what-is-the-distribution-of-1st-party-vs-3rd-party-resources/100
p(3rd party up)?
SLAs
99.9% - GA, Google Apps
99.95% - GAE, Amazon EC2
Uptime 2007-2012
99.93% - GoDaddy
99.86% - GitHub
99.67% - Google Apps
97.43% - AWS
flickr.com/photos/mkamp/2478311790iwgcr.org/wp-content/uploads/2013/06/IWGCR-Paris.Ranking-003.2-en.pdf
p(frontend SPOF)
flickr.com/photos/mkamp/2478311790
0.999 0.998 0.997
10 (50th)
0.010
(3.6)
0.020
(7.2)
0.030
(10.8)
23 (80th)
0.023
(8.3)
0.045
(16.4)
0.067
(24.4)
34 (90th)
0.033
(12.2)
0.066
(24.0)
0.097
(35.4)
p(3rd party up)
p(frontend SPOF)
n
(days/year)
flickr.com/photos/krhamm/171302038
sync
flickr.com/photos/8229345@N02/7980116331
async
load scripts async
var s0 = document.
getElementsByTagName('script')[0];
var s1 = document.
createElement('script');
s1.async = true;
s1.src = 'common.js';
s0.parentNode.insertBefore(s1, s0);
https://www.flickr.com/photos/thisisbossi/3069180895
HTML Templates
Shadow DOM
HTML Imports
Custom Elements
HTML Templates
Shadow DOM
HTML Imports
Custom Elements
Support
Chrome 33-34 with chrome://flags/
• experimental Web Platform features
• Experimental JavaScript
• HTML Imports
Chrome 36+: no flags
Polymer: http://www.polymer-project.org/
flickr.com/photos/callumscott2/167684986
navtiming.php:
<div id='navtiming-content'>
<input type=button
value='Nav Timing'
onclick='doNavTiming()'>
</div>
<script>
function doNavTiming() { ... }
</script>
navtiming.php:
<div id='navtiming-content'>
<input type=button
value='Nav Timing'
onclick='doNavTiming()'>
</div>
<script>
function doNavTiming() { ... }
</script>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
Race Condition?
<html>
<head>
<link rel="import" href="navtiming.php">
</head>
<body>
<div id="target"></div>
<script>
var link = document.
querySelector('link[rel=import]');
var content = link.import.
querySelector('#navtiming-content');
document.getElementById('target').
appendChild(content.cloneNode(true));
</script>
</body>
</html>
Race Condition!
resolution: BLOCK
Chrome 33-34:
stop parsing at next SCRIPT tag
Chrome 36:
stop parsing immediately – entire
BODY is blocked from rendering
flickr.com/photos/runneralan/9741423581
HTML Templates
Shadow DOM
HTML Imports
Custom Elements
Custom Elements
<link rel="import"
href="navtimingce.php">
navtimingce.php:
<script>
var NavTimingProto =
Object.create(HTMLElement.prototype);
NavTimingProto.createdCallback = function(){
this.innerHTML = "<input type=button…>"; };
document.registerElement('nav-timing',
{prototype: NavTimingProto});
function doNavTiming() {...};
Custom Elements
<link rel="import"
href="navtimingce.php">
navtimingce.php:
<script>
var NavTimingProto =
Object.create(HTMLElement.prototype);
NavTimingProto.createdCallback = function(){
this.innerHTML = "<input type=button…>"; };
document.registerElement('nav-timing',
{prototype: NavTimingProto});
function doNavTiming() {...};
Custom Elements
<link rel="import"
href="navtimingce.php">
navtimingce.php:
<script>
var NavTimingProto =
Object.create(HTMLElement.prototype);
NavTimingProto.createdCallback = function(){
this.innerHTML = "<input type=button…>"; };
document.registerElement('nav-timing',
{prototype: NavTimingProto});
function doNavTiming() {...};
Custom Elements
<link rel="import"
href="navtimingce.php">
navtimingce.php:
<script>
var NavTimingProto =
Object.create(HTMLElement.prototype);
NavTimingProto.createdCallback = function(){
this.innerHTML = "<input type=button…>"; };
document.registerElement('nav-timing',
{prototype: NavTimingProto});
function doNavTiming() {...};
MUST have
hyphen!
insert custom element
<nav-timing></nav-timing>
That's it!
<html>
<head>
<link rel="import" href="navtimingce.php">
</head>
<body>
<nav-timing></nav-timing>
</body>
</html>
Race Condition?
<html>
<head>
<link rel="import" href="navtimingce.php">
</head>
<body>
<nav-timing></nav-timing>
</body>
</html>
Race Condition!
solution: BLOCK
Chrome 33-34:
stop parsing at 1st SCRIPT tag
Chrome 36:
stop parsing immediately – entire
BODY is blocked from rendering
all:
ignore hyphenated tags if not
registered
flickr.com/photos/runneralan/9741423581
load HTML Imports async
var link = document.
createElement('link');
link.rel = 'import';
link.onload = function() {
var link = document.querySelector('link[rel=import]');
var content = link.import.querySelector('#navtiming-content');
document.getElementById('target').appendChild(content.cloneNode(true));
};
link.href = 'navtiming.php';
document.getElementsByTagName
('head')[0].appendChild(link);
load HTML Imports async
<link rel="import"
href="navtiming.php"
async
onload="function() {
var link = document.querySelector('link[rel=import]');
var content = link.import.querySelector('#navtiming-content');
document.getElementById('target').appendChild(content.cloneNode(true));
}">
more granularity
load asynchronously
load synchronously for
specific component(s)
flickr.com/photos/abitha_arabella/13444735444
suggested fixes
"lazyload" attribute – DONE!
"elements" attribute
make LINK valid w/in BODY
flickr.com/photos/chudo1909/6979697127stevesouders.com/blog/2013/12/02/html-imports-scope-security-and-suggestions/
flickr.com/photos/chhani/8016548370
HTML Imports block rendering
use link+async
spec in flux, make suggestions
check your site for Frontend
SPOF
takeaways
Steve Souders
@souders
stevesouders.com/docs/html5devconf-webcomp-20140522.pptx

More Related Content

What's hot

JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)Steve Souders
 
Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Steve Souders
 
How fast are we going now?
How fast are we going now?How fast are we going now?
How fast are we going now?Steve Souders
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing apiAaron Peters
 
Your Script Just Killed My Site
Your Script Just Killed My SiteYour Script Just Killed My Site
Your Script Just Killed My SiteSteve Souders
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...MilanAryal
 
High Performance Snippets
High Performance SnippetsHigh Performance Snippets
High Performance SnippetsSteve Souders
 
Souders WPO Web2.0Expo
Souders WPO Web2.0ExpoSouders WPO Web2.0Expo
Souders WPO Web2.0Expoguest0b3d92d
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web DesignChristopher Schmitt
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed BumpsNicholas Zakas
 
[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Matt Raible
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaCaelum
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web AppsFITC
 
PWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPSPWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPSChang W. Doh
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSFITC
 

What's hot (20)

JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013
 
How fast are we going now?
How fast are we going now?How fast are we going now?
How fast are we going now?
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing api
 
do u webview?
do u webview?do u webview?
do u webview?
 
Your Script Just Killed My Site
Your Script Just Killed My SiteYour Script Just Killed My Site
Your Script Just Killed My Site
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...
 
High Performance Snippets
High Performance SnippetsHigh Performance Snippets
High Performance Snippets
 
Souders WPO Web2.0Expo
Souders WPO Web2.0ExpoSouders WPO Web2.0Expo
Souders WPO Web2.0Expo
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
 
[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
PWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPSPWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPS
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
 

Viewers also liked

Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerErik Isaksen
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.Stephen Woods
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is hereGil Fink
 
Which seed to pick minerals 101
Which seed to pick   minerals 101Which seed to pick   minerals 101
Which seed to pick minerals 101blogthin
 
Sales Data Analysis using SQL & Excel
Sales Data Analysis using SQL & ExcelSales Data Analysis using SQL & Excel
Sales Data Analysis using SQL & ExcelHanbit Choi
 
FindLaw | Internet Crime Report
FindLaw | Internet Crime ReportFindLaw | Internet Crime Report
FindLaw | Internet Crime ReportLegalDocs
 
NHS finances: the challenge all political parties need to face - updated tabl...
NHS finances: the challenge all political parties need to face - updated tabl...NHS finances: the challenge all political parties need to face - updated tabl...
NHS finances: the challenge all political parties need to face - updated tabl...The Health Foundation
 
Example Public Service Announcement
Example Public Service AnnouncementExample Public Service Announcement
Example Public Service Announcementwrhsbusiness
 
E-UPDates—A Monthly Statistical Bulletin (Sample)
E-UPDates—A Monthly Statistical Bulletin (Sample)E-UPDates—A Monthly Statistical Bulletin (Sample)
E-UPDates—A Monthly Statistical Bulletin (Sample)Ecofin Surge
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web ComponentsAndrew Rota
 
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENT
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENTSHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENT
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENTIrfan Yusuf
 
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...Andreas Grabner
 

Viewers also liked (14)

Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & Polymer
 
HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.HTML5 Touch Interfaces: SXSW extended version.
HTML5 Touch Interfaces: SXSW extended version.
 
Web components the future is here
Web components   the future is hereWeb components   the future is here
Web components the future is here
 
Which seed to pick minerals 101
Which seed to pick   minerals 101Which seed to pick   minerals 101
Which seed to pick minerals 101
 
How To Format A Resume
How To Format A ResumeHow To Format A Resume
How To Format A Resume
 
Sales Data Analysis using SQL & Excel
Sales Data Analysis using SQL & ExcelSales Data Analysis using SQL & Excel
Sales Data Analysis using SQL & Excel
 
FindLaw | Internet Crime Report
FindLaw | Internet Crime ReportFindLaw | Internet Crime Report
FindLaw | Internet Crime Report
 
NHS finances: the challenge all political parties need to face - updated tabl...
NHS finances: the challenge all political parties need to face - updated tabl...NHS finances: the challenge all political parties need to face - updated tabl...
NHS finances: the challenge all political parties need to face - updated tabl...
 
Example Public Service Announcement
Example Public Service AnnouncementExample Public Service Announcement
Example Public Service Announcement
 
E-UPDates—A Monthly Statistical Bulletin (Sample)
E-UPDates—A Monthly Statistical Bulletin (Sample)E-UPDates—A Monthly Statistical Bulletin (Sample)
E-UPDates—A Monthly Statistical Bulletin (Sample)
 
Announcement
AnnouncementAnnouncement
Announcement
 
The Complementarity of React and Web Components
The Complementarity of React and Web ComponentsThe Complementarity of React and Web Components
The Complementarity of React and Web Components
 
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENT
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENTSHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENT
SHORT MESSAGE, ANNOUNCEMENT, ADVERTISEMENT
 
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...
Performance Quality Metrics for Mobile Web and Mobile Native - Agile Testing ...
 

Similar to High Performance Web Components

The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014Tommie Gannert
 
Souders WPO Web 2.0 Expo
Souders WPO Web 2.0 ExpoSouders WPO Web 2.0 Expo
Souders WPO Web 2.0 ExpoSteve Souders
 
Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Naresha K
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceLeonardo Balter
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Chris Alfano
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事Sofish Lin
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on labNAVER D2
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on labNAVER D2
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4DEVCON
 
You're Doing it Wrong - WordCamp Atlanta
You're Doing it Wrong - WordCamp AtlantaYou're Doing it Wrong - WordCamp Atlanta
You're Doing it Wrong - WordCamp AtlantaChris Scott
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Joao Lucas Santana
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
Rugalytics | Ruby Manor Nov 2008
Rugalytics | Ruby Manor Nov 2008Rugalytics | Ruby Manor Nov 2008
Rugalytics | Ruby Manor Nov 2008Rob
 

Similar to High Performance Web Components (20)

The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014
 
Souders WPO Web 2.0 Expo
Souders WPO Web 2.0 ExpoSouders WPO Web 2.0 Expo
Souders WPO Web 2.0 Expo
 
Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014
 
JSConf US 2010
JSConf US 2010JSConf US 2010
JSConf US 2010
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open Source
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
 
Core CSS3
Core CSS3Core CSS3
Core CSS3
 
JS-05-Handlebars.ppt
JS-05-Handlebars.pptJS-05-Handlebars.ppt
JS-05-Handlebars.ppt
 
Web-Performance
Web-PerformanceWeb-Performance
Web-Performance
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
 
Fast by Default
Fast by DefaultFast by Default
Fast by Default
 
You're Doing it Wrong - WordCamp Atlanta
You're Doing it Wrong - WordCamp AtlantaYou're Doing it Wrong - WordCamp Atlanta
You're Doing it Wrong - WordCamp Atlanta
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
Rugalytics | Ruby Manor Nov 2008
Rugalytics | Ruby Manor Nov 2008Rugalytics | Ruby Manor Nov 2008
Rugalytics | Ruby Manor Nov 2008
 

More from Steve Souders

Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript FasterSteve Souders
 
The Perception of Speed
The Perception of SpeedThe Perception of Speed
The Perception of SpeedSteve Souders
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web ComponentsSteve Souders
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Steve Souders
 
Browserscope Launch at TAE
Browserscope Launch at TAEBrowserscope Launch at TAE
Browserscope Launch at TAESteve Souders
 
Even Faster Web Sites at The Ajax Experience
Even Faster Web Sites at The Ajax ExperienceEven Faster Web Sites at The Ajax Experience
Even Faster Web Sites at The Ajax ExperienceSteve Souders
 
SXSW: Even Faster Web Sites
SXSW: Even Faster Web SitesSXSW: Even Faster Web Sites
SXSW: Even Faster Web SitesSteve Souders
 

More from Steve Souders (9)

Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript Faster
 
The Perception of Speed
The Perception of SpeedThe Perception of Speed
The Perception of Speed
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web Components
 
Cache is King
Cache is KingCache is King
Cache is King
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09
 
Browserscope Launch at TAE
Browserscope Launch at TAEBrowserscope Launch at TAE
Browserscope Launch at TAE
 
Even Faster Web Sites at The Ajax Experience
Even Faster Web Sites at The Ajax ExperienceEven Faster Web Sites at The Ajax Experience
Even Faster Web Sites at The Ajax Experience
 
SXSW: Even Faster Web Sites
SXSW: Even Faster Web SitesSXSW: Even Faster Web Sites
SXSW: Even Faster Web Sites
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

High Performance Web Components