https://www.publickey1.jp/blog/22/webpackturbopackrustwebpack700nextjs_conf_2022.html
Reactベースのサーバサイドフレームワークとして知られるNext.jsの開発元のVercelは、日本時間10月25日深夜にイベント「Next.js Conf 2022」を開催。Next.jsの最新バージョンとなる「Next.js 13」と、Rust製の高速なバンドルツール「Turbopack」を発表しました。
Introducing Turbopack, the successor to Webpack.~700x faster than Webpack10x faster than ViteNative incremental architecture built with RustSupport for React Server ComponentsSupport for TS, JSX, CSS & moreNow open-source in Alpha.https://t.co/dHXXFfgGOJ
バンドルツールとは多数のJavaScriptやTypeScriptなどのコードを1つにまとめる機能を備えたツールです。多数のライブラリやコンポーネントなどを用いてチームで開発する大規模なWebアプリケーションの開発には欠かせません。
今回発表されたTurbopackは、代表的なバンドルツールの1つであるWebpackの開発者Tobias Koppers氏がVercelに参加して開発したものです。同社はWebpackの後継がTurbopackであると説明しています。
Turbopackの特徴はRustで記述されたネイティブアプリケーションであることと、一度実行された内容は再利用される仕組みを備えていることなどで、これにより大規模なアプリケーションでも高速な起動と実行を実現します。
Next.js 13ではこのTurbopackが標準のバンドルツールとなります。
Next.js Conf 2022の基調講演から、Turbopackに関する説明が行われた部分をまとめました。
関連:Next.js 13登場、動的なWebサイトの実現を強化。複数ページでの動的データの共有や、ステートを維持した共通ナビゲーションの構築など容易に。Next.js Conf 2022
VP of Developer Experience Lee Robinson氏。
Next.jsにおけるコンパイラインフラストラクチャの新しい始まりです。
かつて2016年には、JavaScriptのためのツールをJavaScriptで書くことは自然なことでした。Babel、tercer、Webpackなどのツールはそうして作られました。
しかしフロントエンドアプリケーションのサイズと複雑さの増加に対して、これらJavaScriptベースのツールによるコンパイルは性能面での限界に直面するようになります。
そこで私たちはRustベースのネイティブなツールへの移行を開始したことを前回のイベントでご紹介しました。まずBabelから移行し、トランスパイルの速度を17倍にしました。次に、tercerも置き換えることで、minificationが6倍速くなりました(新野注:Babelとtercerの移行先となったツールはSWC)。