Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The State of Angular Deployment, SSR, and Prere...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
260
Fast Angular Apps from End to End
mgechev
1
260
The State of Angular
mgechev
1
230
The State of Angular
mgechev
1
450
Software Engineering as a Superpower
mgechev
1
260
Introduction to Angular
mgechev
1
280
Internals of the Angular CLI
mgechev
2
1.5k
The State of Angular
mgechev
1
270
The Future of the Front-End Frameworks
mgechev
2
390
Other Decks in Programming
See All in Programming
AIで効率化できた業務・日常
ochtum
0
140
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
Vite+ Unified Toolchain for the Web
naokihaba
0
320
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
180
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.7k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
170
Typedesign – Prime Four
hannesfritz
42
3.1k
The SEO identity crisis: Don't let AI make you average
varn
0
490
How to build a perfect <img>
jonoalderson
1
5.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
The Invisible Side of Design
smashingmag
302
52k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
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