À propos du projet

Topcoat est un framework Rust modulaire et complet pour créer des applications web full-stack. Il privilégie la simplicité et la productivité, offrant une approche unique qui combine le rendu côté serveur avec la réactivité côté client, sans nécessiter de couche API séparée ni d'étape de compilation côté client. Les fonctionnalités clés incluent : - **Rendu côté serveur avec composants asynchrones** : Les composants peuvent être asynchrones et interroger directement la base de données, éliminant ainsi le code passe-partout API traditionnel. - **Réactivité client sans code passe-partout** : L'expression `$(...)` est du Rust typé statiquement qui s'exécute sur le serveur pour le rendu initial et se traduit en JavaScript pour une réexécution instantanée dans le navigateur, sans bundle wasm ni étape de compilation côté client. - **Modèles HTML puissants** : La macro `view!` prend en charge les flux de contrôle Rust familiers, les attributs conditionnels et un formateur en ligne de commande (`topcoat fmt`). - **Routage basé sur les modules** : Optionnellement, l'arborescence des routes est déduite de la structure des modules de l'application, sans étape de compilation. - **Composants prêts à l'emploi** : Topcoat UI est une bibliothèque de composants basée sur Tailwind, inspirée de shadcn/ui, avec des composants copiés dans le projet pour une personnalisation facile. - **Regroupement d'actifs** : Le regroupeur analyse le binaire à la recherche d'appels `asset!`, copie ou télécharge les fichiers, et les sert avec une mise en cache agressive. Inclut des utilitaires pour les polices web et les icônes. - **Prise en charge intégrée de Tailwind** : Fonctionnalité optionnelle pour intégrer Tailwind CSS sans Node. - **Intégrations tierces** : htmx, Alpine AJAX, Datastar, et plus encore. Topcoat est à un stade précoce et expérimental, avec des changements cassants attendus. La feuille de route inclut des fonctionnalités comme l'export statique, la navigation côté client, l'authentification, et plus. Pour plus d'informations, consultez le [guide de démarrage](https://github.com/tokio-rs/topcoat/blob/main/crates/topcoat/docs/getting_started.md) et la [documentation](https://docs.rs/topcoat/latest/topcoat).