José M. Pérez
Solutions Engineer at Facebook
Better performance for component-based web apps
Madrid | November 30 - December 1, 2018
José M. Pérez - @jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Senior Software Engineer at Spotify
Google Developer Expert in Web Technologies
I build things using web
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Source: The State of Javascript 2018
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Low end device?
Might not afford new one
Old browser?
Might not have permissions to install new one
Slow network?
On a plane, subway, public wifi, limited data plan...
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
<Router>
<TabBar>
<LazyLoad(CoverArt)>
<Connect(NowPlayingBar)>
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Server-Side Rendering
Waiting for server response
Visible, non-interactive page
Client-Side Rendering
Waiting for server response
Blank page
Execute JS
time
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Ready
Ready
Execute JS
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
* With the exception of YUI Loader, Require.JS and custom tools
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
bundle.js
bundle.js
home.js
about.js
contact.js
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Serve the code for the current path
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Viewport
Serve the code for the current path
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Serve the code for the current path screen
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Serve the code for the current screen
Serve the code for the current screen and browser
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
styles.css
bundle.js
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
bundle.js
account.js
about.js
blog.js
JS code
CSS code within JS
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Serve the code for the current screen and browser
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
Serve the code Break the behemoth of JS and CSS for the current screen and browser
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
BETTER PERFORMANCE FOR COMPONENT-BASED WEB APPS
@jmperezperez
@jmperezperez
By José M. Pérez
Modern tools are fun to use and they are useful to create websites with great performance.