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.2k
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
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
3.1k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
6
2.5k
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
10
4.8k
AI Coding Agent Enablement in TypeScript
yukukotani
21
15k
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
8.1k
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
3
770
React 19でお手軽にCSS-in-JSを自作する
yukukotani
6
980
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
12
3.4k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
14
8k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
CSC307 Lecture 04
javiergs
PRO
0
620
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
38k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
520
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
1.1k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
420
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
240
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
2k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
150
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.1k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Designing Experiences People Love
moore
143
24k
Visualization
eitanlees
150
16k
Statistics for Hackers
jakevdp
799
230k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Making Projects Easy
brettharned
120
6.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
82
We Have a Design System, Now What?
morganepeng
54
8k
How to make the Groovebox
asonas
2
1.9k
Evolving SEO for Evolving Search Engines
ryanjones
0
95
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
740
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