Définissez l'UI une fois.
Rendez partout.
as-ui est un standard d'abstraction UI proposé. Une description indépendante du framework de composants et de layouts qui rend nativement sur React, Vue, Svelte, Angular et au-delà. Écrivez la structure. Choisissez le framework. Livrez.
Cette page documente le concept tel qu'il a été conçu. C'est une pré-spécification — un point de départ pour la discussion, pas un produit fini.
Une description. N'importe quel framework de composants la rend.
Le problème
Vendor lock-in du framework
Une UI écrite en React vit en React. La porter vers Vue ou Svelte signifie réécrire chaque composant, chaque morceau de logique, chaque style.
Divergence entre équipes
Une équipe construit en React, une autre en Vue. Même design system, mêmes composants — deux implémentations parallèles. Corriger un bug signifie le corriger deux fois.
Travail répété
Chaque migration majeure de framework recommence à zéro. Les mêmes formes d'UI sont reconstruites chaque fois qu'une équipe décide de changer de stack.
Le concept
Un contrat UI déclaratif
as-ui définit une description structurée d'UI — composants, composition, props, événements. La description est la source de vérité. Les frameworks fournissent des renderers qui traduisent la description dans leur propre système de composants.
Renderers de framework
Chaque framework supporté a un renderer qui lit le contrat et produit une sortie native. React reçoit du JSX. Vue reçoit des SFC. Svelte reçoit du Svelte. Même entrée, sortie native.
Ajustement dans l'écosystème
as-ui décrit la structure, as-cssdo décrit le style. Ensemble ils découplent les deux préoccupations du framework. Le contrat UI pointe vers des classes CSS sémantiques fournies par cssdo.
frameworkic — la série d'études cross-framework — est le banc d'essai naturel pour as-ui : la même application rendue par chaque framework, le tout à partir d'une seule description UI.
Intéressé par cette idée ?
Ce concept est à son stade le plus précoce. Si vous travaillez sur un framework de composants, un design system, ou si vous voulez simplement voir où cela mène — contactez-nous.