Retour au blogDéveloppement

Dioxus : le framework Rust qui défie React pour le web, le desktop et le mobile

CZSyn
22 juillet 2026
7 min

Dioxus, framework Rust à plus de 37 900 étoiles GitHub, promet une base de code unique pour le web, le desktop et le mobile. Décryptage pour une équipe React.

Un poste de développeur la nuit avec un écran affichant du code Rust et un arbre de composants d'interface, entouré des silhouettes d'une fenêtre desktop et d'un smartphone symbolisant le web, le desktop et le mobile
Ce qu'il faut retenir.
  1. Dioxus est un framework Rust open source (licences MIT et Apache-2.0) qui affiche plus de 37 900 étoiles et 1 800 forks sur GitHub, avec une équipe à temps plein soutenue par FutureWei, Satellite.im et le GitHub Accelerator program.
  2. Son modèle de composants en macro RSX et sa gestion d'état par signaux s'inspirent de React, Solid et Svelte, avec hot-reload intégré et une CLI unique (dx) qui compile web, desktop (macOS, Linux, Windows) et mobile (iOS, Android).
  3. La dernière version stable, 0.7.9, est sortie le 8 mai 2026, la 40e release du projet. Dioxus vise des apps web sous 50 ko et des binaires desktop ou mobile de quelques mégaoctets à peine.

Résumé généré par IA

Le 8 mai 2026, l'équipe de Dioxus Labs a publié la version 0.7.9 de son framework, la quarantième release du projet depuis sa création. Sur GitHub, le dépôt affiche aujourd'hui plus de 37 900 étoiles et 1 800 forks. Suffisamment pour que la question mérite d'être posée sérieusement dans une équipe web habituée à React : Dioxus promet de construire des applications web, desktop et mobile à partir d'une seule base de code, écrite en Rust.

On vous explique ce que ce framework change concrètement si votre stack repose aujourd'hui sur React, et ce qu'il ne change pas.

Dioxus en quelques mots, pour ceux qui découvrent

Dioxus est un framework fullstack open source, publié sous double licence MIT et Apache-2.0, maintenu par Dioxus Labs sur dioxuslabs.com. Il permet d'écrire des composants d'interface avec la macro rsx!, très proche visuellement du JSX de React, et de gérer l'état avec des signaux plutôt qu'avec le hook useState classique. Voici l'exemple fourni par le projet lui-même, un compteur complet :

fn app() -> Element {
    let mut count = use_signal(|| 0);
    rsx! {
        h1 { "High-Five counter: {count}" }
        button { onclick: move |_| count += 1, "Up high!" }
        button { onclick: move |_| count -= 1, "Down low!" }
    }
}

Le projet est soutenu par une équipe à temps plein, financée notamment par FutureWei, Satellite.im et le programme GitHub Accelerator. Autour du cœur du framework gravite une communauté active sur Discord et un GitHub dédié aux crates communautaires les plus utiles à l'écosystème.

RSX et signaux : du déjà-vu pour un développeur React

La syntaxe rsx! reprend volontairement des réflexes React : des balises imbriquées, des accolades pour interpoler des expressions, des gestionnaires d'événements comme onclick. Ce n'est pas un hasard : le README du projet revendique une gestion d'état qui « combine le meilleur de React, Solid et Svelte ». Concrètement, use_signal fonctionne comme un signal fin (au sens Solid ou Svelte) : la mise à jour ne redéclenche pas un rendu complet de l'arbre, contrairement au modèle de re-render de React. Le tout reste néanmoins bâti sur un DOM virtuel, comme l'indique le tag « virtualdom » associé au dépôt.

Pour une équipe qui connaît déjà React, la courbe d'apprentissage de Dioxus ne se situe donc pas vraiment dans le modèle de composants, volontairement familier, mais dans Rust lui-même : le système de propriété et d'emprunt (ownership/borrowing), le typage strict, et des temps de compilation à surveiller sur de gros projets.

Une CLI, un seul outil pour web, desktop et mobile

Toute la mécanique de build passe par la CLI dx. Un dx serve lance un serveur de développement avec hot-reload sur le HTML, le CSS et les assets. Une fonctionnalité expérimentale, dx serve --hotpatch, va plus loin en proposant du hot-patching de code Rust en temps réel. Pour le mobile, dx serve --platform android suffit à lancer l'application sur un émulateur ou un appareil connecté.

Côté empaquetage, dx bundle produit un binaire optimisé pour chaque cible : génération d'images .avif, compression du WebAssembly et minification pour le web, avec un objectif affiché de moins de 50 ko pour un « hello world ». Sur desktop, le rendu passe par Webview ou, de façon expérimentale, par WGPU ou Freya (basé sur Skia), avec des binaires portables annoncés à moins de 3 Mo sur macOS, Linux et Windows. Sur mobile, Dioxus génère des fichiers .ipa et .apk et permet d'appeler directement du code Java ou Objective-C avec un overhead minimal. Un jeu de composants primitifs, inspiré de shadcn/ui et de Radix Primitives, est fourni pour démarrer sans tout reconstruire soi-même.

Le fullstack, la vraie carte différenciante

C'est sans doute le point le moins comparable à un simple projet React côté client : Dioxus s'intègre en profondeur avec axum côté serveur. Le framework fournit des server functions, des extracteurs, des middlewares et une intégration de routage, avec du rendu côté serveur, de l'hydratation, du suspense, de la génération de site statique et de la régénération incrémentale. S'y ajoutent des briques prêtes à l'emploi : WebSockets, Server-Sent Events, streaming, upload et téléchargement de fichiers, hot-reload côté serveur. L'idée est de pouvoir brancher un backend Rust existant ou d'utiliser ces briques telles quelles, sans écrire une API séparée en Node ou en Python.

Comment tester Dioxus en quelques minutes

Pour installer la CLI, le plus simple est :

curl -fsSL https://dioxuslabs.com/install.sh | bash

ou, à partir des sources du dépôt :

cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked

Les exemples présents à la racine du dépôt se lancent avec cargo run --example nom_exemple, ou avec la CLI pour tester le hot-reload : dx serve --example nom_exemple --platform web -- --no-default-features. Un point pratique à connaître : le README précise que les exemples de la branche main ciblent en permanence la version de développement (« git ») de Dioxus et de sa CLI, et renvoie vers une branche dédiée du dépôt pour des exemples alignés sur la dernière release stable. Si vous testez le projet pour la première fois, mieux vaut garder ce détail en tête avant de comparer un comportement observé à la documentation stable.

Notre lecture chez CZSyn

Rust sur le front n'est pas une nouveauté en soi : des projets comme Yew ou Leptos explorent ce terrain depuis plusieurs années. Ce qui distingue Dioxus, c'est la combinaison d'une traction communautaire réelle (37 900 étoiles, une équipe financée à temps plein), d'un outillage de build unifié pour trois cibles, et d'une intégration fullstack pensée dès le départ plutôt qu'ajoutée après coup.

Cela ne veut pas dire qu'il faut réécrire votre application React demain. Pour une équipe déjà en JavaScript ou TypeScript, la courbe d'apprentissage de Rust reste un investissement réel, à ne pas sous-estimer sur un projet avec des échéances serrées. En revanche, Dioxus prend tout son sens dans des contextes précis : une équipe qui possède déjà du Rust côté backend ou embarqué et souhaite mutualiser ses compétences sur le front, un besoin fort de binaires desktop ou mobile légers sans passer par un empaquetage web classique, ou un projet où la sécurité mémoire et la performance brute pèsent plus lourd que la vitesse de recrutement de développeurs.

Notre recommandation pour une PME ou une équipe technique française : ce n'est pas un remplacement à adopter dans l'urgence pour un projet web classique, mais un framework à suivre sérieusement, éventuellement via un projet pilote ciblé (un outil interne desktop, une app mobile compagnon) plutôt qu'une migration de votre plateforme principale.

Une techno Rust ou un choix d'architecture front à challenger ?

Nous accompagnons les équipes techniques dans le choix et l'intégration de leur stack front, du développement sur-mesure au dépannage. Audit gratuit sous 24h.

06 64 81 45 03

ou programmez votre appel · devis gratuit en ligne

29 avis 5/5 · +200 projets livrés · réponse express

Sources primaires

Un projet en tête ?

Diagnostic gratuit, devis ferme, et un seul interlocuteur du premier appel à la mise en ligne.