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
Dear performant app,
Search
Nishu Goel
August 03, 2021
Programming
0
100
Dear performant app,
Talks the optimisation techniques for your dear frontend application
Nishu Goel
August 03, 2021
Tweet
Share
More Decks by Nishu Goel
See All by Nishu Goel
Diagnosing INP & Breaking down long tasks
nishugoel
0
590
The Angular Router - TrivandrumTechCon20
nishugoel
4
230
Creating Libraries in Angular
nishugoel
0
200
CRUD operations in Angular 7
nishugoel
1
380
ngIndia - HostBinding() and HostListener()
nishugoel
0
280
Other Decks in Programming
See All in Programming
データベースの技術選定を突き詰める ~複数事例から考える最適なデータベースの選び方~
nnaka2992
3
2.9k
ソフトウェア品質特性、意識してますか?AIの真の力を引き出す活用事例 / ai-and-software-quality
minodriven
16
4.6k
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
260
KANNA Android の技術的課題と取り組み
watabee
1
600
In geheimer Mission: AI Agents entwickeln
joergneumann
0
130
イベントソーシングとAIの親和性ー物語とLLMに理解できるデータ
tomohisa
0
120
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
150
GitHub Copilot for Azureを使い倒したい
ymd65536
1
350
医療系ソフトウェアのAI駆動開発
koukimiura
1
150
VibeCoding時代のエンジニアリング
daisuketakeda
0
270
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
440
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
0
140
Featured
See All Featured
Scaling GitHub
holman
459
140k
How to train your dragon (web standard)
notwaldorf
91
6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.7k
For a Future-Friendly Web
brad_frost
177
9.7k
Building an army of robots
kneath
305
45k
Writing Fast Ruby
sferik
628
61k
Navigating Team Friction
lara
185
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
Nishu Goel Dear non-performant app,
Nishu Goel Dear app, performant non-performant
Nishu Goel @TheNishuGoel NishuGoel
Why are discussing performance? bit.ly/dear_performant_app
Why are discussing performance?
Core Web Vitals - loading, - interactivity, - and visual
stability bit.ly/dear_performant_app
LCP Largest Contentful paint 2.5 seconds 4 seconds
FID First Input delay 100 ms 300 ms
CLS Cumulative layout shift 0.1 0.25
LCP (Largest Contentful paint) 2.5 seconds 4 seconds let’s work
towards the we need to unblock our render, and make it show up faster
LCP (Largest Contentful paint) 2.5 seconds 4 seconds let’s work
towards the Inline fonts Inline critical CSS Optimise files Preload important resources Lazy load resources Serve adaptive navigator.connection.effectiveType === '4g' <link rel="stylesheet" href="app.css" media="print" onload=“this.media=‘all’">, critters <link href="https://fonts.googleapis.." rel="stylesheet"> use imagemin, use CDN, responsive images, newer formats (webp, jpeg2000) <link rel="preload"… loading="lazy"
FID (First input delay) 100 ms 300 ms let’s work
towards the Our page needs to be interaction ready and respond quicker
FID (First input delay) 100 ms 300 ms let’s work
towards the Defer unused Javascript (code splitting, async/defer) Minimise unused polyfills import {lazy} from “React” const AddEditWebsite = lazy(() => import(‘./add-edit-website')); type=module / nomodule <script defer….. /> <script async….. />
CLS (Cumulative layout shift) 0.1 0.25 let’s work towards the
Our page elements need to NOT jump and please the users’ eyes
CLS (Cumulative layout shift) 0.1 0.25 let’s work towards the
Give dimensions to images, iframe etc. elements dynamic content only when user is expecting it bit.ly/dear_performant_app
Weak Ref & Finalizers https://nishugoel.medium.com/heard-of-weak-refs-in-javascript-1132b3c1c44 bit.ly/dear_performant_app
thank you. bit.ly/dear_performant_app