Если вы собирали интерфейсы на React, Vue или Svelte, вы уже понимаете большую часть того, что делает $mol — просто названия другие. Эти фреймворки отличные и популярны заслуженно; эта страница — таблица перевода, а не соревнование, чтобы вы быстрее почувствовали себя как дома.
ИдеяReactVueSvelte$molКомпонентфункция / классSFC (.vue)файл .svelte.view.tree + .view.tsЛокальное состояниеuseStateref / reactivelet x@ $mol_memПроизводное значениеuseMemocomputed$:y= …@ $mol_mem (читает другие ячейки)Побочный эффектuseEffectwatchEffect$:{ … }@ $mol_action (явный, никогда не автоматический)Загрузка данных при монтированииuseEffect(fetch)onMounted(fetch)onMount(fetch)хука нет: читайте данные в свойстве, вью запросит их, когда отрендеритсяПропсыpropspropsexport letсвязывания в view.treeСобытиеonClick@clickon:clickclick?<=>handler?Двустороннее полеcontrolled inputv-modelbind:valuevalue?<=>field?Списокitems.map()v-for{#each}ключевое Row*Условиеcond&& …v-if{#if}присвоить null, чтобы убратьОбщее состояниеRedux / ContextPinia / providestoresлюбой объект с @ $mol_memРоутингReact RouterVue RouterSvelteKit$mol_state_argСтилиCSS-in-JSscoped <style><style>типизированный .view.css.ts
Разница глубже, чем словарь выше — важно, кто решает повторяющиеся проблемы. В React, Vue и Svelte это паттерны, которые ты переписываешь в каждом компоненте и по-своему ломаешь. В моле это свойства одного механизма, поэтому целый класс работы не получает удобный API, а просто исчезает.Где таблица выше переименовывает — тут мол это просто убирает.