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
2fast2furios
Search
Denis
June 01, 2019
Programming
0
100
2fast2furios
fast web for people
Denis
June 01, 2019
Tweet
Share
More Decks by Denis
See All by Denis
Refactoring
denredsky
0
230
npm
denredsky
0
100
Other Decks in Programming
See All in Programming
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Oxlint JS plugins
kazupon
1
870
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
CSC307 Lecture 02
javiergs
PRO
1
770
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
270
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
ラッコキーワード サービス紹介資料
rakko
1
2.2M
Why Our Code Smells
bkeepers
PRO
340
58k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
First, design no harm
axbom
PRO
2
1.1k
Test your architecture with Archunit
thirion
1
2.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Un-Boring Meetings
codingconduct
0
200
Docker and Python
trallard
47
3.7k
Transcript
React Russia 2019 Быстрее, стройнее, умнее Красновский Денис telegram: @jquery_dlya_slabih
React Russia 2019 2
React Russia 2019 3 Hello, WEB Slowking, Slowpoke, Slowbro и
Slow web
React Russia 2019 4 SEO
React Russia 2019 5 User experience
React Russia 2019 6
React Russia 2019 7 Check it! • Sonarlint • Lighthouse
• PageSpeed Insights
React Russia 2019 8 Bad news…
React Russia 2019 9
React Russia 2019 10
React Russia 2019 11 Phase 2 1. Оптимизация ресурсов (js,
css, html, images, …) 2. Code splitting 3. Правильная поддержка старых браузеров 4. Compress it
React Russia 2019 12 Browserslist Share target browsers across projects
and front-end tools, like @Autoprefixer, @Stylelint and @babeljs
React Russia 2019 13 Define browsers environment
React Russia 2019 14 Webpack Static module bundler for modern
JavaScript applications
React Russia 2019 15 JS optimization Since version 4 webpack
runs optimizations for you depending on the chosen mode, still all optimizations are available for manual configuration and overrides
React Russia 2019 16 optimization.minimizer
React Russia 2019 17 CSS optimization • css-loader • postcss-loader
• optimize-css-assets-webpack-plugin
React Russia 2019 18 CSS optimization
React Russia 2019 19 CSS optimization
React Russia 2019 20 CSS optimization
React Russia 2019 21 HTML optimization html-webpack-plugin remove render blocking
scripts
React Russia 2019 22 Images optimization image-webpack-loader or https://jakearchibald.github.io/svgomg/
React Russia 2019 23 Babel The compiler for next generation
JavaScript
React Russia 2019 24 babel-preset-env • modules • loose •
targets
React Russia 2019 25 babel-plugin-transform-react-remove-prop-types
React Russia 2019 26 vendors ~ 294 KB app ~
149 KB max weight page ~ 197 KB … min weight page ~ 8 KB Code splitting [theory]
React Russia 2019 27 WEBSITE PAGE 3 PAGE 2 LOGIN
… PAGE 10 VENDORS APP.JS LOGIN.JS PAGE_1.JS … PAGE_10.JS w/o code splitting [theory] APP.CSS LOGIN.CSS PAGE_1.CSS … PAGE_10.CSS
React Russia 2019 28 WEBSITE PAGE 3 PAGE 2 LOGIN
… PAGE 10 VENDORS APP.JS With сode splitting [theory] APP.CSS LOGIN.JS LOGIN.CSS PAGE_3.JS PAGE_3.CSS
React Russia 2019 29 Code splitting [practice]
React Russia 2019 30 Old browsers support • В идеале
необходим сплит между старыми и новыми браузерами • Правильно работать с @babel/polyfill
React Russia 2019 31 @babel/polyfill • modules • loose •
targets • useBuiltIns
React Russia 2019 32 useBuiltIns • entry • usage
React Russia 2019 33 Compress it • nginx • compression-webpack-plugin
React Russia 2019 34 Expected result
React Russia 2019 35 Result
React Russia 2019 36 P.S.
React Russia 2019 37 Pitfalls 1. оверхед 2. dev инструменты
в production коде 3. npm driven development
React Russia 2019 38 npm driven development
React Russia 2019 39 Tools 1. Import-cost 2. bundlephobia.com 3.
duplicate-package-checker-webpack-plugin
React Russia 2019 40 Спасибо за внимание, вопросы? Telegram: @jquery_dlya_slabih
http://bit.ly/reactDomClick