- Rust のコンパイル性能を活用し、React アプリケーションのビルドと実行速度を最大化したランタイム加速レンダリング基盤
- React Server Components を標準サポートし、クライアントに送信される JavaScript 量を削減
- Rolldown-Vite ベースの次世代 Rust バンドラーにより、設定不要で高速ビルドを実現
- tsgo を用いた TypeScript 完全対応により、10倍高速な型チェックを提供
- Vite ベースの HMR、詳細なエラーメッセージ、ネイティブ速度の開発ツールで、スムーズな開発体験を実現
Rust ベースの性能最適化
- Rust でコンパイルされ、ネイティブレベルの速度を提供
- React アプリケーションの性能ボトルネックを最小化する構造
React Server Components のサポート
- React Server Components を標準搭載
- クライアントに送信される JavaScript 量を減らし、読み込み効率を向上
- サーバー中心のレンダリングにより 転送最適化 を実現
設定不要のビルド環境
- Rolldown-Vite を基盤とした Zero Configuration 構成
- Rust で書かれたバンドラーが 電光石火のビルド速度 を提供
バンドリングと型安全性
- Rolldown を用いたネイティブ速度のバンドリングにより 最大限の性能を確保
- tsgo による TypeScript 完全対応
開発者体験
- Vite ベースの HMR(Hot Module Replacement) によりコード変更を即座に反映
- 詳細なエラーメッセージ と ネイティブ速度の開発ツール により、円滑なワークフローを支援
- 開発効率と生産性を高める Rust-React 統合環境 を提供
1件のコメント
Hacker Newsの意見
正直このプロジェクトは気に入った。だが、説明とドキュメントの質があまりにも不足している
「rust-powered」という表現が、単にrolldownでJSをバンドルするという意味なら問題ないが、Rustフレームワークだと誤解されやすい
また、「seamless NPM package integration」のような文言はLLMが書いたように感じる。ほとんどのJSライブラリはすでにそう動くので意味がない
それでも、React向けのシンプルなフレームワークがほとんどないことを考えると、空のプロジェクトからすぐにRSCへ進めるこの単純さは本当に素晴らしい。これこそスローガンにすべきだ
コードベースはドキュメントよりずっと成熟して見えた。Viteプラグインもオプション対応がしっかりしているのに、まだ文書化されていないだけだ
後で見てみると、Rustランタイムが実際にJSを実行していることが分かった。だが、これがフレームワークと分離されているのか、それともRustランタイム上でしか動かないのかが気になる。Nodeでも動くのか知りたい
「Rust-powered」はバンドラーではなくサーバーランタイムを意味する。HTTPサーバー、RSCレンダラー、ルーティングはすべてRustで書かれており、Reactコンポーネントは内蔵のV8エンジンで実行される
npm統合の部分は、Rustランタイムがnode_modulesの解決を直接処理するという意味だった。Denoのようにnpm specifierは使わない
「Zero to RSC in minutes」というスローガン案のほうがずっと明確だ。ランタイムの安定化に集中していたせいでドキュメントが後回しになっていたが、今こそ補うべき時期だ
Reactはもう現代JSフレームワークの中で最悪だと思う。Vueのほうがずっと先に進んでいるし、SvelteやSolid、Markoでさえもっと良いと感じる
それでも最悪ではない。JSXと関数コンポーネント、シンプルな状態管理という革新で普及に成功した
今はコミュニティ規模が大きすぎて簡単には置き換わらないだろう。他のフレームワークも少しずつ改善しているが、革新の幅はそれほど大きくない
自分は個人プロジェクトでMVC/MVVM構造を使っていて、はるかに扱いやすい。IDEプラグインへの依存も低く、TypeScriptのバージョンも自由に選べる
Rust + Reactの組み合わせを試している。自分が作ったreact-velloは、Rust製GPUレンダラーのVelloをReactレンダラーとして公開している
WASM + WebGPUを通じてブラウザ内でRustがレンダリングを担当し、Reactで宣言的に図形やテキストを描画できる
wasm-bindgenとtsifyで両者をつなぐのがとても簡単で、まるで同じ言語のように感じる。エンジニアリングの真髄だと思う
React Velloも素晴らしそうだ、共有してくれてありがとう
「React Server Components framework powered by a Rust runtime」という説明が核心だ
RustベースのWebフレームワークを探しているならLeptosを勧める
関連リンク: HNの議論, YouTubeデモ
ただ、rariは別のアプローチを取っている。Rustフレームワークではなく、Rustランタイム上で動作するReact Server Componentsフレームワークだ
目標はRustの複雑さを隠し、JS/TS開発者がRustを知らなくても高性能なReactアプリを作れるようにすることだ
「Rust-Powered Performance — Native speed with Rust compilation for blazing-fast builds and runtime」という文言が笑える
当のRust自体はコンパイルが遅いのに、他言語の速さを誇る手助けをしている感じだ
ReasonMLやReact-Reasonのように動くのか気になる。RustがJSエンジンを再実装したのか理解できない
Rustはサーバーランタイムの役割を担う。Node.jsの代わりに、Rustサーバーが内蔵のV8エンジンでReact Server Componentsを実行する
つまりReactコード自体はそのままだが、サーバーがRustベースなのでNodeより高速な性能を提供する
作者です。今は問題は解決した。原因はrate limiterが攻撃的すぎる動作をしていたことだった
自分はJVMバックエンド向けに似たものを作っている — double-view
GraalVMでJSを実行しているが、統合の問題のためJSをWebAssemblyにコンパイルする必要がある。rariも同じ方式なのか気になる
名前が「Ferrari」のように速そうで、Reactと組み合わさった感じがしていい。特定のユースケースや着想があったのか気になる
自分も最近オープンソースプロジェクトを公開したので、あなたのプロジェクトが注目されているのを見ると嬉しい
でもFerrariとの連想も気に入っているし、性能というテーマにもよく合う
Rustを多く使ってきたので、React開発でもその性能上の利点をJS開発者に届けたいと思った
Rustの複雑さは隠しつつ、速さはそのまま持ち込むのが目標だった
プロジェクト公開おめでとう! 何を作ったのか気になる
ドキュメントがServer Componentsから始まっていたが、最近のセキュリティ事故の後でもまだ流行しているのか気になる
参考: React Server Components RCE脆弱性レポート