Farm 1.0(ファームバンドラー)
2024年公開のRust+OXC Web Build Tool。Rust Native Bundler+Module Federation+HMR <100ms+Vite Plugin互換+Lazy Loading最適化搭載。
概要
Farm 1.0は2024年に1.0 General Availabilityを迎えた、中国国内のEnvironmentで開発が進むRust製Web Build Tool。Rspack(ByteDance)・Rolldown(VoidZero)と並ぶ「第3世代Rust Bundler」の一角を担い、特にVite Plugin互換性とMicro-Frontend向けのModule Federation標準対応に特化した設計が特徴。中国の大手企業でWebpack 5置き換えが進行中の文脈で、企業内Micro-Frontendアーキテクチャに最適化された機能(Module Federation v2/Lazy Compilation/Persistent Caching)を提供する。コア技術はRust+OXC(JavaScript Toolchain)で、HMR(Hot Module Replacement)レイテンシ<100ms、初回起動時間Webpack比7-20倍速を実現。
主な特徴・仕組み
- Rust Native Bundler: コア全体がRust製、SWC/OXCで Pure Rust Pipeline構築
- Module Federation v2 標準対応: Webpack 5 Module Federation API完全互換+独自拡張
- HMR <100ms レイテンシ: 大規模アプリでも100ms未満のホットリロード性能
- Vite Plugin互換層: vite/rollup pluginの大半がfarm.config.tsで動作可能
- Persistent Caching: 初回ビルド以降は変更ファイルのみ再ビルド、CI/CD最適化
- Lazy Compilation: ルート単位の遅延コンパイル、開発時メモリ削減
- TypeScript First: SWCベースの型チェックなしTypeScriptトランスパイル
- CSS Modules: PostCSS統合、CSS-in-JSフレームワーク互換
- React Server Components対応: 2024 Q3にRSC対応、Next.js 15-likeなRSC開発体験
- Tree Shaking: Rust実装の最適化Tree Shaking、Dead Code Elimination
- Migration Tool: Webpackプロジェクトを自動変換するMigration CLI同梱
スペック比較表
| 項目 | Farm 1.0 | Rspack 1.0 | Rolldown 1.0 | Webpack 5 | Vite 6 |
|---|---|---|---|---|---|
| 開発元 | OSS Community | ByteDance | VoidZero | Webpack Foundation | Vue Team |
| 言語 | Rust+OXC | Rust+SWC | Rust+OXC | JavaScript | Rust+esbuild+Rolldown |
| Module Federation | v2標準 | v2 Plugin | v2 Plugin | v1標準 | Plugin (Module Federation Vite) |
| HMR Latency | <100ms | ~150ms | ~80ms | ~500ms | ~50ms |
| Plugin互換 | Vite/Rollup | Webpack | Rollup | Webpack | Rollup |
| First Build | 7-20× Webpack速 | 5-10× Webpack速 | 12× Rollup速 | (基準) | 中速 |
| Production Bundle | 同等 | 同等 | 同等 | (基準) | 同等 |
| 採用例 | 中国系大手 | ByteDance | Vite 7予定 | 全業界 | Vue/Svelte系 |
具体例・対応製品
- Farm CLI v1.5+:
npm create farm@latest、TypeScript+React/Vue/Solid/Lit テンプレート同梱 - Module Federation v2 Plugin: 1ファイルで Module Federation設定、Webpack 5互換API
- vite-plugin-farm: Vite 6プロジェクトを Farmへ移行する変換ツール
- Farm React Server Components: 2024 Q3 GA、Next.js Like RSC環境構築可能
- 競合機種: Rspack(ByteDance主導)、Rolldown(Vite 7基盤予定)、Turbopack(Vercel/Next.js 15+)、esbuild(Vite 5まで)
自作PCでの選び方・注意点
Farm 1.0はRust製Build Toolの選択肢が増えたエコシステムにおいて、特にVite Plugin互換層を持つ点が差別化要素。既存Vite 5プロジェクトをFarmへ移行する場合、farm.config.tsの作成と一部Plugin設定の修正のみで完了し、ビルド時間の大幅短縮が見込める。一方、英語ドキュメントの充実度はRspack(ByteDance公式英語Doc)に対し劣り、中国語Documentに頼る場面が多い。Module Federation v2標準対応はMicro-Frontendアーキテクチャを採用する企業向けの最大の魅力で、Webpack 5 Module Federation v1からの移行Path確立。Lazy Compilation機能は数百ファイル規模の大規模アプリで開発体験が劇的向上(Vite 5は遅延コンパイルなし)。日本国内ではRspack/Vite/Turbopack選択が一般的だが、Module Federation+Vite Pluginの組合せが必要なら Farm 1.0が選択肢に入る。GitHub Stars 8K+(2026年5月)、コミュニティ規模はRspack(15K)に劣るが急成長中。
関連用語との違い
Rspack 1.0との違い: RspackはWebpack互換API、FarmはVite/Rollup互換。RspackはByteDance社内主導、Farmは中立OSS。Module Federation対応Approachが異なり(RspackはPlugin、Farmは標準)、Vite移行が容易ならFarmが有利。 Rolldown 1.0との違い: RolldownはRollup互換+Vite 7のデフォルトbundler予定、FarmはVite Plugin互換+独立Build Tool。RolldownはVite次世代の置き換え狙い、Farmは独自エコシステム志向。
よくある質問(FAQ)
Q1: 既存Webpack 5プロジェクトを Farm 1.0に移行できる? A: 自動Migration CLIで90%以上自動変換可能。Module Federation・Babel・PostCSS設定はそのまま動作。残りの10%はカスタムLoader移行で、Webpack Loader互換層は2024 Q4以降に追加予定。
Q2: Vite 6からFarm 1.0に移行するメリットは? A: Module Federation v2標準対応・Persistent Caching・Lazy Compilation。Vite 6にこれら機能はPlugin経由で追加可能だがネイティブ性能差あり。Micro-Frontendを使わない場合はVite 6維持が無難。
Q3: Production Buildの最適化はどれくらい? A: Tree Shaking・Code Splitting・Minification(SWCベース)はWebpack 5/Vite 6と同等品質。Bundle SizeはWebpack 5比で5-10%減程度、HMRと初回ビルド時間がメインの差別化要素。
まとめ
- Farm 1.0 = 2024年GA Rust+OXC Web Build Tool
- Rspack/Rolldownと並ぶ第3世代Rust Bundler
- Module Federation v2標準対応+Vite Plugin互換+HMR <100ms
- 7-20× Webpack速の初回ビルド、Persistent Caching+Lazy Compilation
- 中国系企業のMicro-Frontendアーキテクチャ向け最適化