Dioxus : Créez des applications fullstack avec Rust, pour le Web, le bureau et le mobile.

Dioxus : La réponse de l'écosystème Rust au développement d'interfaces utilisateur multiplateformes

Dioxus s'impose comme un puissant framework d'application fullstack, entièrement développé en Rust, conçu pour répondre à la demande croissante de solutions à codebase unique pour diverses plateformes. Du web au bureau en passant par les environnements mobiles, Dioxus offre un moyen robuste et efficace de développer des applications hautes performances avec des paradigmes familiers, tout en tirant parti de la puissance et de la sécurité de Rust.

Unifier le développement sur toutes les plateformes

Au cœur de sa conception, Dioxus vise à simplifier le développement en permettant aux ingénieurs d'écrire une application une seule fois et de la déployer partout. Ceci est rendu possible grâce à ses capacités de rendu polyvalentes, supportant :

  • Web : Rend directement vers le DOM en utilisant WebAssembly, avec des options de rendu côté serveur (SSR) et de réhydratation côté client. Il affiche des performances impressionnantes, livrant des applications "hello world" d'environ 50 Ko.
  • Bureau : Utilise Webview ou le rendu expérimental WGPU/Freya (Skia) pour des applications de bureau proches du natif sur macOS, Linux et Windows. Il offre surtout un accès complet au système natif sans nécessiter de communication inter-processus (IPC).
  • Mobile : Fournit des applications au rendu natif pour Android et iOS en utilisant Webview ou le rendu expérimental WGPU/Skia. Il prend en charge la génération de fichiers .ipa et .apk et permet des appels directs vers Java et Objective-C.
  • Rendu Côté Serveur (SSR) : Des fonctionnalités telles que la "suspense", l'hydratation et un rendu côté serveur robuste, ainsi que des fonctions serveur, des extracteurs, des middlewares et le routage, permettent des solutions web fullstack puissantes.

Les fonctionnalités clés qui distinguent Dioxus

  1. Configuration zéro-conflit et rechargement à chaud instantané : Les développeurs peuvent démarrer immédiatement avec dx serve et profiter du rechargement à chaud de Rust en moins d'une seconde et du rechargement à chaud des assets, accélérant considérablement la boucle de rétroaction du développement.
  2. Gestion ergonomique de l'état : S'inspirant de React, Solid et Svelte, Dioxus propose un système de gestion de l'état basé sur les signaux, à la fois puissant et facile à utiliser.
  3. Framework web fullstack fortement typé : Son server_fn intégré permet des appels RPC directs et fortement typés du frontend vers le backend, avec streaming, suspense et découpage de bundle.
  4. Bundler intégré : La commande dx bundle optimise les applications pour le déploiement, générant des assets efficaces comme les images .avif et les fichiers .wasm compressés, ce qui conduit à des tailles d'application exceptionnellement petites (par exemple, applications web < 50 Ko, applications de bureau/mobile < 5 Mo).
  5. Composants primitifs de première partie : Un ensemble complet de primitives d'interface utilisateur, modélisé d'après shadcn/ui et Radix-Primitives, aide les développeurs à démarrer rapidement la conception de leur interface utilisateur.
  6. Documentation et communauté supérieures : Dioxus se targue d'une documentation claire et complète, constamment mise à jour et utilisée pour tester de nouvelles fonctionnalités. Il entretient également une communauté vibrante et active sur Discord et GitHub.

Dioxus en comparaison

Dioxus occupe une place unique dans l'écosystème dense des frameworks d'interface utilisateur. Bien qu'il partage des similitudes conceptuelles avec des frameworks comme React, son approche native de Rust et sa compilation multiplateforme le différencient significativement des solutions basées sur JavaScript comme Electron ou Tauri (bien qu'il puisse être utilisé avec Tauri). Comparé à d'autres frameworks UI Rust comme Leptos, Yew, egui et Iced, Dioxus met souvent l'accent sur sa portée plus large (web, bureau, mobile), son DSL de type Rust pour la définition de l'interface utilisateur et son modèle d'interface utilisateur "retained mode" qui tire parti des technologies web natives pour de meilleures performances et une meilleure autonomie de la batterie.

L'avantage Dioxus

Dioxus tire parti des capacités de Rust pour fournir des applications non seulement performantes et sûres en mémoire, mais aussi incroyablement productives à développer. Sa capacité à créer des applications véritablement natives et légères sur plusieurs systèmes d'exploitation à partir d'un unique codebase Rust le positionne comme un outil inestimable pour le développement de logiciels modernes. Alors qu'il continue de mûrir avec une équipe de base dédiée à temps plein et un fort soutien de la communauté, Dioxus est appelé à devenir un choix incontournable pour les développeurs à la recherche d'une solution robuste, efficace et pérenne pour leurs besoins en applications fullstack.

Original Article: Voir l’original

Partager cet article