À propos du projet

Dioxus est un framework et un ensemble d'outils pour construire des applications multiplateformes en Rust à partir d'une base de code unique. Le README indique que le même projet peut cibler le web via WebAssembly et le DOM, le bureau sur macOS, Linux et Windows via une webview ou expérimentalement via WGPU ou le moteur de rendu Freya basé sur Skia, le mobile pour iOS et Android avec des sorties ipa et apk et des appels directs Java et Objective-C, ainsi que le rendu côté serveur. Le modèle de programmation s'articule autour d'une fonction retournant un Element et de la macro rsx! pour le marquage déclaratif, avec un état géré par des signaux ; le README décrit cette gestion d'état comme s'inspirant d'idées de React, Solid et Svelte. Pour le travail fullstack, le framework s'intègre à axum et propose des fonctions serveur, des extracteurs, des middlewares, le routage, Suspense, l'hydratation, la génération de sites statiques, la régénération incrémentielle, les WebSockets, SSE, le streaming, le téléchargement et l'envoi de fichiers, ainsi que des formulaires, avec la possibilité d'intégrer un backend axum existant. L'outillage est fourni par le dioxus-cli. La commande dx serve exécute une application avec un rechargement à chaud intégré pour le marquage, les styles et les ressources, et une option expérimentale dx serve --hotpatch met à jour le code Rust en temps réel. La commande dx bundle construit et regroupe les applications avec des optimisations, et le README mentionne la génération avif, la compression wasm et la minification pour le web. L'installation est proposée via un script d'installation ou cargo install depuis git, et les exemples du dépôt peuvent également être exécutés avec cargo run --example. Le projet livre également un ensemble de composants primitifs propriétaires modelés sur shadcn/ui et Radix Primitives, documente les éléments HTML et les écouteurs en utilisant les docs MDN, et précise que son site de documentation sert de banc d'essai pour les nouvelles fonctionnalités et exécute l'intégration continue avec Dioxus lui-même. Dioxus est décrit comme étant piloté par la communauté, avec un Discord actif et un suivi des problèmes sur GitHub, un SDK géré par la communauté et une organisation GitHub pour les crates associées, ainsi qu'une petite équipe principale à plein temps soutenue par FutureWei, Satellite.im et le programme GitHub Accelerator. Le dépôt comprend des README traduits en chinois, portugais (Brésil), japonais, turc et coréen. La licence est double MIT ou Apache-2.0.