À propos du projet
Leptos est un framework web Rust full-stack et isomorphe pour la construction d’interfaces utilisateur déclaratives. Il exploite la réactivité fine, ce qui signifie que les composants s’exécutent une fois pour créer des nœuds DOM réels et configurer un système réactif qui met à jour les nœuds individuels directement, sans surcharge de DOM virtuel.
Les principales capacités incluent :
- Rendu full-stack : rendu côté client, rendu côté serveur (SSR) et SSR avec hydratation.
- Streaming HTTP de données (Resources) et de HTML (streaming hors ordre ou en ordre de composants Suspense).
- Fonctions serveur isomorphiques : écrivez de la logique serveur uniquement (requêtes de base de données, authentification) aux côtés des composants clients et appelez-les avec la même forme sans maintenir une API REST séparée.
- Un routeur basé sur les fondamentaux du web (liens et formulaires) qui fonctionne à la fois sur le serveur et le client.
- Deux syntaxes de templating : une macro view! de type JSX et une syntaxe de builder.
- Signaux réactifs Copy + 'static pour une gestion ergonomique de l’état.
Le framework fournit des templates de démarrage pour Actix et Axum, et s’intègre avec l’outil de build cargo-leptos. Il peut également être utilisé avec Trunk ou une configuration simple wasm-bindgen. Le système réactif peut en outre piloter des toolkits GUI natifs à l’aide d’écouteurs d’événements et d’effets.
Par rapport à Yew et Dioxus, Leptos utilise la réactivité fine plutôt qu’un DOM virtuel. Par rapport à Sycamore, Leptos utilise un format de template de type JSX et inclut les fonctions serveur dans le framework de base plutôt que de s’appuyer sur un metaframework séparé. Le projet indique que ses API sont fondamentalement stabilisées sans qu’aucun changement architectural majeur ne soit prévu, et note que des membres de la communauté l’utilisent pour des sites web de production.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.