This is all way too complicated
and too much code for a
standard website...
My CTO
Slide 4
Slide 4 text
This is how
we do it!
Slide 5
Slide 5 text
I love building websites!
(But secretly, I'm super overwhelmed*)
* don't tell anyone
Slide 6
Slide 6 text
Sometimes I even
dream about this...
Slide 7
Slide 7 text
Did we(b development)
lose the right direction?
Slide 8
Slide 8 text
my-links.online/wrong-direction
Slide 9
Slide 9 text
httparchive.org
Slide 10
Slide 10 text
Page weight
Slide 11
Slide 11 text
Transferred JS Bytes
Slide 12
Slide 12 text
Time to interactive
Slide 13
Slide 13 text
HTML CSS JavaScript
React Vue Angular Svelte Remix
webpack Rollup Parcel
AWS GCloud Netlify Vercel Deno
*
* a very incomplete list
Slide 14
Slide 14 text
Hello world!
2012
10KB / 50KB
Hello world!
2022
100KB / 300KB*
Complexity
* powered by 200MB+ of text files #node_modules
Slide 15
Slide 15 text
I’ve been building on the web for 15+
years in some capacity,
and it has never been
so easy to build complex apps.
Josh Comeau
100% agree!
How many sites need to be complex apps, though?
Slide 16
Slide 16 text
Whoops!
Slide 17
Slide 17 text
Should really everything
be an app, today?
Slide 18
Slide 18 text
Video platforms Blogs Shops
Image & Illustration software
Marketing sites Games
Productivity Apps PWAs
Streaming sites Social Networks
Slide 19
Slide 19 text
Website Web App
Grey zone
Slide 20
Slide 20 text
MPA vs. SPA
Multi Page App Single Page App
Slide 21
Slide 21 text
MPA vs. SPA
Multi Page App Single Page App
Slide 22
Slide 22 text
I need a new site what
should I use?
You should use Framework X with
SSR, an offline strategy!
It depends...
What's your use case?
Slide 23
Slide 23 text
Every technology choice
has tradeo!s
Slide 24
Slide 24 text
...
Hello world!
Slide 25
Slide 25 text
Server dynamically
delivering HTML
CSS, JavaScript, Images
coming from a CDN
Slide 26
Slide 26 text
Server dynamically
delivering HTML
CSS, JavaScript, Images
coming from a CDN
Slide 27
Slide 27 text
Server dynamically
delivering HTML
CSS, JavaScript, Images
coming from a CDN
Slide 28
Slide 28 text
First render
(All of it!)
index.html
main.css
jQuery.js
A Fetch-Render Waterfall
some-spaghetti.js
DB Calls
API Calls
API Calls
API Calls
Server Browser
index.html
DB Calls
API Calls
API Calls
API Calls
All done!
Slide 29
Slide 29 text
Browsers are freaking good
at rendering websites!
Slide 30
Slide 30 text
...
Hello world!
Slide 31
Slide 31 text
...
Loading...
Slide 32
Slide 32 text
<$App>
Slide 33
Slide 33 text
<$App>
App
Sidebar
Nav
Main
TweetBox
Tweets
SideBar
Trends
OtherNonSense
Data for OtherNonSense
Data for Trends
Data for Tweets
A Render-Fetch Waterfall (aka "fetch as you render")
Slide 34
Slide 34 text
<$App>
App
Sidebar
Nav
Main
TweetBox
Tweets
SideBar
Trends
OtherNonSense
Data for OtherNonSense
Data for Trends
Data for Tweets
A Render-Fetch Waterfall (aka "fetch as you render")
Network?
CPU?
Memory?
Slide 35
Slide 35 text
You can make your server fast,
but you can't control
the user's network.
Remix docs