Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The State of Angular Deployment, SSR, and Prere...
Search
Minko Gechev
April 03, 2020
Programming
3.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The State of Angular Deployment, SSR, and Prerendering, ng-conf keynote
Minko Gechev
April 03, 2020
More Decks by Minko Gechev
See All by Minko Gechev
Change the World With Open Source Software
mgechev
0
280
Fast Angular Apps from End to End
mgechev
1
280
The State of Angular
mgechev
1
240
The State of Angular
mgechev
1
470
Software Engineering as a Superpower
mgechev
1
280
Introduction to Angular
mgechev
1
300
Internals of the Angular CLI
mgechev
3
1.6k
The State of Angular
mgechev
1
280
The Future of the Front-End Frameworks
mgechev
2
410
Other Decks in Programming
See All in Programming
Security issues being discussed on Web Platforms
petamoriken
0
890
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
高専キャリア LT 発表内容
crysta1221
6
5.7k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
800
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
120
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
160
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.7k
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
FreeBSDでZabbixを動かす.pdf
kenkino
0
200
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
140
What We Talk About When We Talk About XP
m_seki
2
610
新卒PdEのリアル
ryu1013
1
490
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Odyssey Design
rkendrick25
PRO
2
800
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Embracing the Ebb and Flow
colly
88
5.2k
Transcript
@yourtwitter The State of Angular Deployment, SSR, and Prerendering ng-conf
keynote twitter.com/mgechev github.com/mgechev blog.mgechev.com Minko Gechev
@mgechev Web in 1991
twitter.com/mgechev @mgechev
@mgechev CGI
twitter.com/mgechev Request page HTML @mgechev
twitter.com/mgechev Execute program Request page HTML @mgechev LCP
@mgechev Largest Contentful Paint (LCP) is a user-centric metric for
estimating when the page is useful for the user. web.dev/lcp
@mgechev Each interaction requires complete page reload
twitter.com/ mgechev
twitter.com/mgechev Execute program Request page HTML @mgechev LCP
twitter.com/mgechev Execute program Request page HTML @mgechev Loading Request scripts
JS LCP TTI
twitter.com/mgechev Execute program Request page HTML @mgechev Fetch data (ajax)
Loading Request scripts LCP TTI JS
twitter.com/ mgechev @mgechev
@mgechev @mgechev
@mgechev
@mgechev @mgechev
twitter.com/mgechev Request / HTML @mgechev
twitter.com/mgechev Request / Loading Request scripts HTML JS @mgechev
twitter.com/mgechev Request / Loading Request scripts Loading Execute scripts HTML
JS @mgechev
twitter.com/mgechev Request / Loading Request scripts Loading Execute scripts HTML
JS @mgechev TTI LCP
twitter.com/mgechev Request / Loading Request scripts Loading Execute scripts HTML
JS @mgechev
twitter.com/ mgechev
@mgechev Sometimes the bundle just can’t get any smaller Minko
Gechev
@mgechev What if the server…was a browser?
twitter.com/mgechev Request / Run app on server HTML @mgechev Request
scripts JS
twitter.com/ mgechev
twitter.com/mgechev
twitter.com/mgechev @mgechev
@yourtwitter Angular Universal in Crunchbase Amanda Cifaldi Senior Staff Engineer
twitter.com/algcifaldi
Our Mission: Democratize access to company information and provide solutions
that guide our users to their next opportunities Angular Universal +
Our Mission: Democratize access to company information and provide solutions
that guide our users to their next opportunities Angular Universal +
Our Mission: Democratize access to company information and provide solutions
that guide our users to their next opportunities
some pages took seconds to load 20 20 But...
// TODO: // access + information => // opportunities?
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
None
biggest funding rounds this year
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
biggest funding rounds this year
First wave: Crawls any source that can be requested and
any links in that source
Second wave: Renders and crawls JS- generated content, and can
be hours or weeks behind the first
https://www.crunchbase.com
recent series a funding in sf tech
None
recent series a funding in sf tech 70% organic traffic
recent series a funding in sf tech
None
recent series a funding in sf tech
recent series a funding in sf tech data science companies
in new york
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
2K pages per minute
2K pages per minute 1M visitors per week
2K pages per minute 1M visitors per week 6 continents
served
2K pages per minute 1M visitors per week 6 continents
served 150 milliseconds per request
None
Our Mission: Democratize access to company information and provide solutions
that guide our users to their next opportunities Angular Universal +
@mgechev Challenges with Universal • Change-refresh time • Deployment
@yourtwitter $ ng add @nguniversal/express-engine $ ng run [PROJECT_NAME]:serve-ssr New
in v9!
@yourtwitter $ ng update @nguniversal/express-engine
twitter.com/mgechev @ManfredSteyer @AlanAgius4 @mgechev
twitter.com/mgechev Deployment
twitter.com/ mgechev New in @angular/fire
New in @angular/fire
twitter.com/ mgechev New in @angular/fire
twitter.com/mgechev Request / HTML @mgechev Request scripts JS TTI Run
app on server LCP
twitter.com/mgechev Request / HTML @mgechev Request scripts JS TTI Run
app on server LCP If not cached Return from the cache Cache LCP
@mgechev Prerendering
@yourtwitter $ ng add @nguniversal/express-engine $ ng run [PROJECT_NAME]:prerender Using
Universal at build-time New in v9!
@mgechev Building the app Prerendering <2s for 800 pages ng
run app:prerender
twitter.com/mgechev
twitter.com/mgechev @mgechev JAMStack By HeroDevs
twitter.com/mgechev @mgechev
@mgechev Thank you! twitter.com/mgechev github.com/mgechev blog.mgechev.com Survey: mgv.io/talk