このプロジェクトについて

Dioxusは、1つのコードベースでクロスプラットフォームアプリケーションを構築するためのRustのフレームワークおよびツールセットです。READMEによれば、同じプロジェクトをWebAssemblyとDOMを介したWeb向け、macOS/Linux/Windowsでのデスクトップ向け(webview経由、実験的にWGPUまたはSkiaベースのFreyaレンダラ経由)、iOS/Android向けモバイル(ipa/apk出力、JavaおよびObjective-Cへの直接コール)、サーバーサイドレンダリングに対応できます。 プログラミングモデルは要素を返す関数と宣言的マークアップのrsx!マクロを中心に据え、状態はシグナルで扱います。READMEではこの状態管理はReact、Solid、Svelteのアイデアに触発されたものと説明しています。フルスタック開発ではaxumとの統合に対応し、サーバー関数、エクストラクター、ミドルウェア、ルーティング、Suspense、ハイドレーション、静的サイト生成、増分再生成、WebSockets、SSE、ストリーミング、ファイルアップロード・ダウンロード、フォームを提供します。既存のaxumバックエンドとの統合も可能です。 ツールの提供はdioxus-cliによって行われます。dx serveコマンドはマークアップ、スタイル、アセットの統合ホットリロード付きでアプリを実行し、実験的なdx serve --hotpatchオプションでRustコードをリアルタイム更新できます。dx bundleコマンドは最適化付きでアプリをビルド・バンドルし、READMEではavif生成、wasm圧縮およびウェブ用のミニファイに言及しています。インストールはインストールスクリプトまたはcargo installによるgitからの提供であり、リポジトリの例もcargo run --exampleで実行可能です。 プロジェクトはshadcn/uiとRadix Primitivesに基づいた第一-partyのプリミティブコンポーネントセットを同梱し、HTML要素とリスナーをMDNドキュメントで文書化しています。また、ドキュメントサイトは新機能のテストベッドとして使われ、Dioxus自体による継続的インテグレーションが実行されています。 Dioxusはコミュニティ主導のプロジェクトと位置づけられ、活発なDiscordおよびGitHub issueトラッカー、コミュニティ運営のSDK、関連クレート用GitHub組織があります。小規模のフルタイムコアチームがFutureWei、Satellite.im、GitHub Acceleratorプログラムによって支えられています。リポジトリには中国語、ポルトガル語(ブラジル)、日本語、トルコ語、韓国語への翻訳済みREADMEが含まれます。ライセンスはMITまたはApache-2.0のデュアルです。