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
Bundle Side Optimization in Future JavaScript -...
Search
Yuku Kotani
November 27, 2021
Programming
2
3.1k
Bundle Side Optimization in Future JavaScript - JSConf JP 2021
JSConf JP 2021
Yuku Kotani
November 27, 2021
Tweet
Share
More Decks by Yuku Kotani
See All by Yuku Kotani
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
6
2.2k
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
10
4.3k
AI Coding Agent Enablement in TypeScript
yukukotani
21
13k
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
7.9k
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
3
680
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
920
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
12
3.3k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
14
7.9k
Capacitor製のWebViewアプリからReact Native製のハイブリッドアプリへ
yukukotani
5
1.8k
Other Decks in Programming
See All in Programming
エンジニアに事業やプロダクトを理解してもらうためにやってること
murabayashi
0
130
Kotlin + Power-Assert 言語組み込みならではのAssertion Library採用と運用ベストプラクティス by Kazuki Matsuda/Gen-AX
kazukima
0
100
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
4
2.1k
CSC509 Lecture 09
javiergs
PRO
0
290
One Enishi After Another
snoozer05
PRO
0
180
Researchlyの開発で参考にしたデザイン
adsholoko
0
110
Pythonに漸進的に型をつける
nealle
1
160
Module Proxyのマニアックな話 / Niche Topics in Module Proxy
kuro_kurorrr
0
2.5k
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
620
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
120
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
9.6k
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
480
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
4 Signs Your Business is Dying
shpigford
186
22k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
What's in a price? How to price your products and services
michaelherold
246
12k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
KATA
mclloyd
PRO
32
15k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Six Lessons from altMBA
skipperchong
29
4.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
Bundle Side Optimization in Future JavaScript JSConf JP 2021 Yuku
Kotani (@MonchiFC)
2 Yuku Kotani (@MonchiFC) - Software Engineer @ Ubie Discovery
- AI https://ubie.app/ - TypeScript+Next.js / Kotlin+Spring Boot / GraphQL / Capacitor - Student (B3) @ - Blog https://yuku.dev 2
3 Web - - ECMAScript - - 3rd-party script
4 - (Dead Code Elimination) - (Mangling) - (Code Splitting)
- (Tree Shaking)
5 - (Dead Code Elimination) terser, Rollup - (Mangling) terser
- (Code Splitting) webpack, Rollup, Next.js, Nuxt - (Tree Shaking) webpack, Rollup
6 - (Dead Code Elimination) terser, Rollup - (Mangling) terser
- (Code Splitting) webpack, Rollup, Next.js, Nuxt - (Tree Shaking) webpack, Rollup
7 DDD
8 DDD
9 1st Approach: Dead Code Elimination
10 - - obj obj
11 TypeScript obj User obj isAdult getFullname getFullName
12 TS AST JavaScript TypeScript TS Compiler JS AST JavaScript
webpack JS AST DCE JavaScript terser JS ⾒
13 TS AST JavaScript TS Compiler JS AST JavaScript webpack
JS AST DCE JavaScript terser JS ⾒ TypeScript
14 TS AST JS JavaScript DCE SWC, Rome TypeScript
15 1 SWC Rome
16 2nd Approach: Tree Shaking
17 Tree Shaking JS/TS
18 Tree Shaking JS/TS A. - / `obj.method()` -
19
20 A. Bind-this operator
21 Bind-this operator func.bind() func.call() Stage-1 this JavaScript Bind Operator
https://yuku.dev/articles/2021-11-11/javascript-bind-this-op
22 Bind-this operator TypeScript This Parameter ⾒ This :: This
Parameter
23 2 ECMAScript
24 - class-based OOP - SWC Rome - ECMAScript JS-way
https://meety.net/matches/SwBiENIgCVFp