Si vous avez construit des interfaces avec React, Vue ou Svelte, vous comprenez déjà l'essentiel de ce que fait $mol — seuls les noms diffèrent. Ces frameworks sont excellents et populaires pour de bonnes raisons ; cette page est une table de traduction, pas une compétition, pour vous aider à vous sentir vite chez vous.
IdéeReactVueSvelte$molComposantfonction / classeSFC (.vue)fichier .svelte.view.tree + .view.tsÉtat localuseStateref / reactivelet x@ $mol_memValeur dérivéeuseMemocomputed$:y= …@ $mol_mem (lit d'autres cellules)Effet de borduseEffectwatchEffect$:{ … }@ $mol_action (explicite, jamais automatique)Charger des données au montageuseEffect(fetch)onMounted(fetch)onMount(fetch)pas de hook : les données se lisent dans une propriété, la vue les demande quand elle se rendPropspropspropsexport letliaisons dans view.treeÉvénementonClick@clickon:clickclick?<=>handler?Saisie bidirectionnelleinput contrôlév-modelbind:valuevalue?<=>field?Listeitems.map()v-for{#each}Row* à cléConditionnelcond&& …v-if{#if}assigner null pour retirerÉtat partagéRedux / ContextPinia / providestorestout objet avec @ $mol_memRoutageReact RouterVue RouterSvelteKit$mol_state_argStyleCSS-in-JS<style> scopé<style>.view.css.ts typé
La différence la plus profonde n'est pas le vocabulaire ci-dessus — c'est qui résout les problèmes récurrents. Dans React, Vue ou Svelte, ce sont pour la plupart des motifs que vous réimplémentez dans chaque composant et cassez à votre manière. Dans $mol, ce sont les propriétés d'un seul mécanisme, si bien que toute cette catégorie de travail disparaît au lieu de recevoir une API plus agréable.Là où le tableau ci-dessus renomme les choses, c'est ici que $mol les supprime réellement.