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
2fast2furios
Search
Denis
June 01, 2019
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2fast2furios
fast web for people
Denis
June 01, 2019
More Decks by Denis
See All by Denis
Refactoring
denredsky
0
230
npm
denredsky
0
110
Other Decks in Programming
See All in Programming
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
contenteditable と日本語入力に向き合う
colorful12
0
200
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
AmebaブログはKMPから卒業します
kmars0605
0
180
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
ActionController meets Protocol Buffers
sorah
0
520
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
JIS keyboard support in Omarchy
lef237
0
110
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Code Review Best Practice
trishagee
74
20k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Between Models and Reality
mayunak
4
500
How to train your dragon (web standard)
notwaldorf
96
6.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Why Our Code Smells
bkeepers
PRO
340
58k
Crafting Experiences
bethany
1
380
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