SlideShare a Scribd company logo
⚡
Creating Hyper Performant
Web Apps with React
🌏🌐🌍🌐🌎
What is Performance?
• As an industry, we misuse the word
“performance” as an analogy for speed
• There is no Speed in Web Performance
• Web Performance has more to do with
reliability than it does speed
• But don’t worry, we’ll talk about speed too
performance: performing a task or function
⁉
What is reliability?
• Under what circumstances does your experience perform?
• How reliable is your experience as raw HTML?
• What happens when JavaScript breaks or is unavailable?
(it happens 1.1% of the time)
• Does your experience weather the storms of the web?
🤞
storms of the web
• poor network connectivity 📵
• outdated browsers 👾
• conflicts with browser plugins 😔
• firewalls 🔥
• unreachable CDNs 👋
• uncaught errors ⁉
⛈
the www
Authoring the world–wide web is a great power. With it
comes a responsibility to strive for experiences that
can be accessed anywhere by anyone
🌐
The Front End “stack”
• HTML provides us with reliability, optimal delivery,
and accessibility
• CSS allows us to style our documents
• JavaScript enhances our documents by adding
asynchronous features
• Use the stack responsibly. Use the right tool for
the right job. It is no more appropriate to use
HTML for styling (ew) than it is to use JavaScript to
deliver initial content.
🛠
The Back End “stack”
• Node is awesome
• Node is far and away the most well suited
back end stack for isomorphic progress
enhancement
• With a Node backend, we can serve
meaningful initial HTML content from the
same JavaScript source files used on the
front end (React components)
🛠
delivering content
• Sending content initially as part of a semantic
HTML document is the quickest and most
reliable way to deliver it to web users ⚡
• Content first delivery is best practice for a great
SEO score 📈
• Do not use JavaScript to initially deliver content
• But how do we do that with React?
📑
Markup.Tips
• Only load polyfills if needed (fail feature detection)
• Don’t bundle common libraries and framework in
your app.js. Seriously, just don’t
• Leverage the Browser Cache, expiry headers
• Cache bust assets w/ version # or hash (app.1.2.0.min.js)
• Use Sass silent classes to keep CSS weight down
⚡
Time for Coding
• Get started with this Glitch, the front end code
of a simple React component
• Test the Glitch without script. Notice it cakes
its pants
• Remix this Glitch and follow along as we add
server side rendering
• Appendix: final working source code
🤓
Ad

Recommended

Gatsby intro
Gatsby intro
Ben McCormick
 
Supporting large scale React applications
Supporting large scale React applications
Maurice De Beijer [MVP]
 
Building large scalable mission critical business applications on the web
Building large scalable mission critical business applications on the web
Maurice De Beijer [MVP]
 
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Performance Testing w/ WebPage Test Private Instance (DrupalCamp Ohio)
Bill Condo
 
Optimizing Your Site for Holiday Traffic
Optimizing Your Site for Holiday Traffic
WP Engine UK
 
How to Design Reliable and Scalable Webhooks with RabbitMQ
How to Design Reliable and Scalable Webhooks with RabbitMQ
Jim Liao
 
Cvcc performance tuning
Cvcc performance tuning
John McCaffrey
 
Embracing the Future
Embracing the Future
Jemuel Young
 
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
Tom Howard
 
Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)
Aleks (Aleksander) Shklyar
 
ESNext, service workers, and the future of the web
ESNext, service workers, and the future of the web
Jemuel Young
 
improving the performance of Rails web Applications
improving the performance of Rails web Applications
John McCaffrey
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Fastly
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Devina Dhawan's talk - Women and non binary focused intro to AWS
Devina Dhawan's talk - Women and non binary focused intro to AWS
AWS Chicago
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
Windy cityrails performance_tuning
Windy cityrails performance_tuning
John McCaffrey
 
An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...
Steve Pember
 
Building fast aspnet websites
Building fast aspnet websites
Maarten Louage
 
2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress
shendison
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
Steve Pember
 
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
Eyal Eizenberg
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
Why Wordnik went non-relational
Why Wordnik went non-relational
Tony Tam
 
The WordPress REST API as a Springboard for Website Greatness
The WordPress REST API as a Springboard for Website Greatness
WP Engine UK
 
Vue.JS Hello World
Vue.JS Hello World
Emanuell Dan Minciu
 
Performance - When, What and How
Performance - When, What and How
Astrails
 
Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
Frontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 

More Related Content

What's hot (20)

No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
Tom Howard
 
Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)
Aleks (Aleksander) Shklyar
 
ESNext, service workers, and the future of the web
ESNext, service workers, and the future of the web
Jemuel Young
 
improving the performance of Rails web Applications
improving the performance of Rails web Applications
John McCaffrey
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Fastly
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Devina Dhawan's talk - Women and non binary focused intro to AWS
Devina Dhawan's talk - Women and non binary focused intro to AWS
AWS Chicago
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
Windy cityrails performance_tuning
Windy cityrails performance_tuning
John McCaffrey
 
An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...
Steve Pember
 
Building fast aspnet websites
Building fast aspnet websites
Maarten Louage
 
2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress
shendison
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
Steve Pember
 
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
Eyal Eizenberg
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
Why Wordnik went non-relational
Why Wordnik went non-relational
Tony Tam
 
The WordPress REST API as a Springboard for Website Greatness
The WordPress REST API as a Springboard for Website Greatness
WP Engine UK
 
Vue.JS Hello World
Vue.JS Hello World
Emanuell Dan Minciu
 
Performance - When, What and How
Performance - When, What and How
Astrails
 
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
Tom Howard
 
Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)
Aleks (Aleksander) Shklyar
 
ESNext, service workers, and the future of the web
ESNext, service workers, and the future of the web
Jemuel Young
 
improving the performance of Rails web Applications
improving the performance of Rails web Applications
John McCaffrey
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Fastly
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Devina Dhawan's talk - Women and non binary focused intro to AWS
Devina Dhawan's talk - Women and non binary focused intro to AWS
AWS Chicago
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
Windy cityrails performance_tuning
Windy cityrails performance_tuning
John McCaffrey
 
An introduction to Reactive applications, Reactive Streams, and options for t...
An introduction to Reactive applications, Reactive Streams, and options for t...
Steve Pember
 
Building fast aspnet websites
Building fast aspnet websites
Maarten Louage
 
2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress
shendison
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
Steve Pember
 
Tipping the scale - Eyal Eizenberg - Wix
Tipping the scale - Eyal Eizenberg - Wix
Eyal Eizenberg
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
Why Wordnik went non-relational
Why Wordnik went non-relational
Tony Tam
 
The WordPress REST API as a Springboard for Website Greatness
The WordPress REST API as a Springboard for Website Greatness
WP Engine UK
 
Performance - When, What and How
Performance - When, What and How
Astrails
 

Similar to Creating Hyper Performant Web Apps with React (20)

Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
Frontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 
ITT Flisol 2013
ITT Flisol 2013
Domingo Suarez Torres
 
Tips tricks deliver_high_performing_secure_web_pages
Tips tricks deliver_high_performing_secure_web_pages
Aditya Singh
 
Build your own analytics power tools
Build your own analytics power tools
Alban Gérôme
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
Taylor Lovett
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterprise
Taylor Lovett
 
All about that reactive ui
All about that reactive ui
Paul van Zyl
 
Intro to CakePHP
Intro to CakePHP
Walther Lalk
 
Responsibly Architecting for the World–Wide Web
Responsibly Architecting for the World–Wide Web
Jp DeVries
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017
ElifTech
 
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
aravym456
 
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
aravym456
 
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
Sigma Software
 
Node.js primer
Node.js primer
Swapnil Mishra
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)
Igalia
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Marie Smith
 
What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
Kishore Chandra
 
Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
Tips tricks deliver_high_performing_secure_web_pages
Tips tricks deliver_high_performing_secure_web_pages
Aditya Singh
 
Build your own analytics power tools
Build your own analytics power tools
Alban Gérôme
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
Taylor Lovett
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterprise
Taylor Lovett
 
All about that reactive ui
All about that reactive ui
Paul van Zyl
 
Responsibly Architecting for the World–Wide Web
Responsibly Architecting for the World–Wide Web
Jp DeVries
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017
ElifTech
 
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
mearn-stack-new_ccvbhbhvgvgcdszsxdxfcf.pptx
aravym456
 
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
aravym456
 
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
Sigma Software
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)
Igalia
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Marie Smith
 
What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 
Meanstack Introduction by Kishore Chandra
Meanstack Introduction by Kishore Chandra
Kishore Chandra
 
Ad

Recently uploaded (20)

MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Transmission Media. (Computer Networks)
Transmission Media. (Computer Networks)
S Pranav (Deepu)
 
GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Transmission Media. (Computer Networks)
Transmission Media. (Computer Networks)
S Pranav (Deepu)
 
GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
What is data visualization and how data visualization tool can help.pdf
What is data visualization and how data visualization tool can help.pdf
Varsha Nayak
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Ad

Creating Hyper Performant Web Apps with React

  • 1. ⚡ Creating Hyper Performant Web Apps with React 🌏🌐🌍🌐🌎
  • 2. What is Performance? • As an industry, we misuse the word “performance” as an analogy for speed • There is no Speed in Web Performance • Web Performance has more to do with reliability than it does speed • But don’t worry, we’ll talk about speed too performance: performing a task or function ⁉
  • 3. What is reliability? • Under what circumstances does your experience perform? • How reliable is your experience as raw HTML? • What happens when JavaScript breaks or is unavailable? (it happens 1.1% of the time) • Does your experience weather the storms of the web? 🤞
  • 4. storms of the web • poor network connectivity 📵 • outdated browsers 👾 • conflicts with browser plugins 😔 • firewalls 🔥 • unreachable CDNs 👋 • uncaught errors ⁉ ⛈
  • 5. the www Authoring the world–wide web is a great power. With it comes a responsibility to strive for experiences that can be accessed anywhere by anyone 🌐
  • 6. The Front End “stack” • HTML provides us with reliability, optimal delivery, and accessibility • CSS allows us to style our documents • JavaScript enhances our documents by adding asynchronous features • Use the stack responsibly. Use the right tool for the right job. It is no more appropriate to use HTML for styling (ew) than it is to use JavaScript to deliver initial content. 🛠
  • 7. The Back End “stack” • Node is awesome • Node is far and away the most well suited back end stack for isomorphic progress enhancement • With a Node backend, we can serve meaningful initial HTML content from the same JavaScript source files used on the front end (React components) 🛠
  • 8. delivering content • Sending content initially as part of a semantic HTML document is the quickest and most reliable way to deliver it to web users ⚡ • Content first delivery is best practice for a great SEO score 📈 • Do not use JavaScript to initially deliver content • But how do we do that with React? 📑
  • 9. Markup.Tips • Only load polyfills if needed (fail feature detection) • Don’t bundle common libraries and framework in your app.js. Seriously, just don’t • Leverage the Browser Cache, expiry headers • Cache bust assets w/ version # or hash (app.1.2.0.min.js) • Use Sass silent classes to keep CSS weight down ⚡
  • 10. Time for Coding • Get started with this Glitch, the front end code of a simple React component • Test the Glitch without script. Notice it cakes its pants • Remix this Glitch and follow along as we add server side rendering • Appendix: final working source code 🤓