FlutterベースのUIでWeb・デスクトップ・モバイルアプリを開発できる、フロントエンドの知識が不要なPythonフレームワーク。
DioxusLabs/dioxus
React風のコンポーネントとシグナルを備え、単一のコードベースからWeb、デスクトップ、モバイルアプリを構築できるRustフレームワーク。
代替できる製品:React Native
Electron
- スター
- 39,451
- フォーク
- 1,938
- 未解決の Issue
- 850
- 最終コミット
- 4 日前
これは何?
Dioxusは、Web、デスクトップ、iOS、Android、およびサーバー上で動作するユーザーインターフェースを構築するためのRustフレームワークです。HTMLに似たRSXマクロでコンポーネントを記述し、通常のHTMLとCSSでスタイリングします。状態管理にはシグナルを使い、組み込みのCLI(dx)から、ホットリロードに対応した開発サーバーや、デプロイ用のバンドルを利用できます。
フルスタックアプリ向けに、DioxusはWebフレームワークのaxumと連携し、サーバー関数、サーバーサイドレンダリング、ハイドレーション、WebSockets、SSE、ストリーミング、ファイルのアップロードとダウンロード、ミドルウェアを提供します。レンダリング先には、WebAssembly経由のDOM、システムのWebView、サーバーサイドレンダリング、liveview、実験的なWGPUベースのレンダラーがあります。AndroidではJNI、AppleプラットフォームではObjective-Cを通じてネイティブAPIを呼び出せます。
また、shadcn/uiとRadix Primitivesをモデルにしたプリミティブなコンポーネントも公式に提供しています。dx CLIでは、モバイル向けの.ipaファイルと.apkファイルをビルドできます。
主な機能
- 01単一のRustコードベースで、Web、デスクトップ、iOS、Androidを対象に開発できる。
- 02マークアップとスタイルのホットリロードに対応し、Rustコードのホットパッチにも実験的に対応。
- 03React風のコンポーネントモデルと、シグナルベースの状態管理。
- 04axumとの連携、サーバー関数、ハイドレーション対応のSSRによるフルスタック開発。
- 05開発サーバー、バンドル、モバイルパッケージのビルドに対応する組み込みのdx CLI。
ユースケース
- 同じコードからデスクトップ版も作れる、RustベースのWebアプリを開発する。
- プラットフォームAPIを呼び出せる、ネイティブアプリのような操作感のモバイルアプリをRustで作成する。
- axumを基盤とするサーバーバックエンドを備えたフルスタックRustアプリケーションを開発する。
- ロジックをRustに保ちながら、HTMLとCSSでUIコンポーネントを試作する。
クイックスタート
- 1
cargo で git から Dioxus CLI をインストールする
cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked - 2
リポジトリのルートから example を実行する
cargo run --example <example> - 3
web プラットフォームで hot-reloading を有効にして example を配信する
dx serve --example <example> --platform web -- --no-default-features
使う前に知っておきたいこと
- main ブランチの example は最新の安定版ではなく git 版を対象としています。安定版の example には 0.6 ブランチを使用してください。
- dx serve --hotpatch による hot-patching や WGPU renderer など、一部の注目機能は experimental とされています。
トピック
よくある質問
- dioxus とは?
- React風のコンポーネントとシグナルを備え、単一のコードベースからWeb、デスクトップ、モバイルアプリを構築できるRustフレームワーク。 Dioxusは、Web、デスクトップ、iOS、Android、およびサーバー上で動作するユーザーインターフェースを構築するためのRustフレームワークです。HTMLに似たRSXマクロでコンポーネントを記述し、通常のHTMLとCSSでスタイリングします。状態管理にはシグナルを使い、組み込みのCLI(dx)から、ホットリロードに対応した開発サーバーや、デプロイ用のバンドルを利用できます。
- dioxus は無料で使えますか?ライセンスは?
- dioxus は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dioxus は今もメンテナンスされていますか?
- 活発にメンテナンス中。dioxus の最終コミットは 2026年10月17日 です。
- dioxus は何に使えますか?
- 同じコードからデスクトップ版も作れる、RustベースのWebアプリを開発する。 プラットフォームAPIを呼び出せる、ネイティブアプリのような操作感のモバイルアプリをRustで作成する。 axumを基盤とするサーバーバックエンドを備えたフルスタックRustアプリケーションを開発する。 ロジックをRustに保ちながら、HTMLとCSSでUIコンポーネントを試作する。
- dioxus のインストール方法は?
- cargo で git から Dioxus CLI をインストールする: cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked リポジトリのルートから example を実行する: cargo run --example <example> web プラットフォームで hot-reloading を有効にして example を配信する: dx serve --example <example> --platform web -- --no-default-features
- dioxus はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/DioxusLabs/dioxus
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Googleが提供する、単一のDartコードベースからネイティブコンパイルされたモバイル、Web、デスクトップアプリを構築するためのオープンソースSDK。
モバイル、デスクトップ、Webアプリ向けのオープンソースでプライバシー重視の分析ツール。FirebaseやGoogle Analyticsの代替として利用できます。
1つのコードベースから、SPA、SSR/SSGサイト、PWA、ブラウザー拡張機能、モバイルアプリ、Electronアプリを構築できるVue.jsフレームワーク。
React Native for Webは、React NativeのコンポーネントやAPIをReact DOM経由でWebブラウザーに描画するライブラリです。
Facebook製のJavaScriptスタイリングライブラリ。UI向けに最適化されたアトミックCSSを定義できます。