La version 0.6 du framework Rust Dioxus est disponible : Dioxus permet de construire des applications multiplateformes (web, desktop et mobiles) avec une seule base de code.
Dioxus est un framework pour construire des applications multiplateformes avec le langage de programmation Rust. Avec une seule base de code, vous pouvez créer des applications qui fonctionnent sur le web, les ordinateurs de bureau et les téléphones portables. La version 0.6 de Dioxus est disponible. Dioxus peut être considéré comme un hybride de Flutter et NextJS : des applications multiplateformes avec un support fullstack.
Dioxus est un framework Rust pour les développeurs qui leur permet de créer des applications multiplateformes avec une seule base de code. À bien des égards, Dioxus est similaire à Flutter : il intègre ses propres outils de construction, un écosystème et un langage de balisage pour déclarer l'interface utilisateur. Dans certains domaines clés, Dioxus adopte une approche différente :
- Les applications sont déclarées avec HTML et CSS au lieu d'une solution de style personnalisée.
- La réactivité est inspirée par des frameworks web tels que React et SolidJS.
- Le code de Dioxus s'exécute nativement sans machine virtuelle et permet une FFI directe avec les API du système.
L'objectif de Dioxus est de fournir un "meilleur Flutter" : plus rapide, plus fin et natif pour le web. Vous pouvez considérer Dioxus comme un hybride de Flutter et NextJS : des applications multiplateformes avec un support fullstack. Pour l'instant, les applications Dioxus ne peuvent être écrites qu'en Rust.
Voici la vision des développeurs de Dioxus :
Nous avons créé Dioxus parce que nous pensons que la norme actuelle de création d'applications est trop complexe. Les développeurs doivent apprendre et installer des dizaines d'outils différents juste pour lancer leur application dans le monde.
Notre vision de Dioxus est celle d'un framework rapide, flexible et avec une courbe d'apprentissage minimale. Nous voulons que les développeurs puissent en toute confiance faire passer leur application de l'idée à la production le plus rapidement possible. Nous pensons que moins d'outils et une architecture plus simple facilitent le développement d'applications. Les applications qui sont plus faciles à créer sont également plus rapides à mettre en production et ont plus de chances de réussir.
Syntaxe et écosystème
La syntaxe de Dioxus est similaire au balisage JSX de React, empruntant l'approche des composants et des crochets de React. Tous les composants sont des fonctions Rust qui prennent des propriétés, définissent l'état avec des crochets et renvoient un élément. Dioxus ne supporte que les balises rsx ! {} ; cela garantit que votre application est automatiquement optimisée et dispose d'un support devtools comme le hot-reloading avancé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #[component] fn Component(name: String) -> Element { let mut count = use_signal(|| 0); rsx! { h1 { "Hello, {name}" } p { "Count: {count}" } } }
Dioxus est conçu pour être facile à étendre et assez fin sur les API du système. Cela signifie que vous pouvez utiliser les API du système lorsque les API de première partie sont insuffisantes. Pour le web, cela peut signifier l'utilisation de web-sys et sur Android l'utilisation de jni.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 fn PromptModal() { #[cfg(web)] web_sys::call_web_function(); #[cfg(android)] jni_sys::call_android_function(); }
À propos de la version 0.6
Dioxus n'a pas encore atteint la version "1.0". Dioxus 0.6 est actullement la dernière version disponible, qui a stabilisé un grand nombre d'API et amélioré l'expérience des développeurs. Dioxus 0.6, c'est plus de 350 pull requests fusionnées et des centaines de problèmes résolus.
Voici les objectufs de la version 0.6 :
- Améliorer la qualité du hot-reloading, de l'autocomplétion et du regroupement d'actifs.
- Rendre le CLI de Dioxus plus robuste et plus facile à utiliser.
- Intégrer l'outillage mobile dans le CLI de Dioxus pour une prise en charge mobile de premier ordre.
Concernant l'Outils interactifs de ligne de commande (CLI), Dioxus 0.6 est livré avec une interface de ligne de commande complètement remaniée ! Les éditeurs de Dioxus ont complètement réécrit l'interface de commande pour prendre en charge de nouvelles fonctionnalités et améliorer la stabilité. Le nouveau CLI comporte des barres de progression en direct, des animations, un système de filtre interactif, la possibilité de changer les niveaux de logs à la volée, et bien plus encore.
Voici quelques exemples :
- Vous pouvez reconstruire manuellement votre application en appuyant sur r
- Vous pouvez changer le niveau de log de la sortie CLI à la volée et même inspecter les logs internes de Cargo.
- Dioxus publie tous les journaux internes de l'interface de programmation afin que vous puissiez déboguer tout problème.
- Dioxus capture les journaux pour le traçage WASM et les paniques.
- Cette version a abandonné le concept outdir et utilise à la place target/dx pour toutes les sorties.
- Prise en charge en ligne des émulateurs iOS et Android.
Source : Dioxus
Et vous ?
Pensez-vous que cet outil est crédible ou pertinent ?
Quel est votre avis sur Dioxus ?
Voir aussi :
Crux : une approche expérimentale du développement d'applications multiplateformes en Rust avec une meilleure testabilité, une meilleure sécurité et de meilleurs outils
Farm : un outil de construction Web écrit en Rust et qui serait 10 fois plus rapide que Vite et 20 fois plus rapide que Webpack. Il vise à faciliter et à accélérer le développement d'applications Web
Le Framework Electrobun : créer des applications de bureau multiplateformes écrites en TypeScript
"Flock" en tant que nouveau "Flutter+" : Fork du kit de développement logiciel d'interface utilisateur open-source Flutter, pour aider à étendre la main d'œuvre de Flutter et accélérer le développement
Partager