- Turborepo は JavaScript / TypeScript 向けの高性能ビルドシステム
- 増分ビルド、並列実行、リモートキャッシュ(Vercel インフラを使用)などを用いて性能向上を図っている
- 当初は優れた性能を示した esbuild を追って作られた
- Turbo パッケージにより、Rust で書かれた Turbopack とコードベースが統合される
- Go 言語がサーバー開発で見せる利点と、ビルドツールを作る際に求められる点は異なると感じた
- Go: goroutine モデル、Context API、およびサーバーインフラ向けの標準ライブラリに注力
- Rust: プロセス管理、ファイルシステム、低レベルな OS 概念、ユーザーのコンピューターへの配布
- 強力なエコシステムがあり、多様で優れた crate(パッケージ)がすでに多い
- C/C++ ライブラリを利用するのが Go と比べて簡単かつ高速
- Turbopack と同じコードベースに進めば、保守性やコード共有などで利点がある
- Rust は開発者をより幸福にし、その結果としてさまざまな良い効果をもたらす
- 現在は「Rust-Go-Rust」という構成で使われているが、今後も移行は続く
4件のコメント
Rustはいいですね
たまに難易度が無駄に高いように感じることもありますが
キャリアやスタックのつながりを見ると、
Jsは最終的にrustに行き着くことが多い気がしますね。
Goはインフラ寄りに移っていくことが多い気がして…
自分も不思議とGoにはあまり惹かれず、Rustのほうがいいと感じるんですよね.. (Node.jsが現在のメインプラットフォームです)
ブラウザを作るモジラのチームが出したからですかね..
たしかにSREチームはGoを好んでいましたね