Большой каталог «на почитать» про $mol, web и не только
- вторник, 16 июня 2026 г. в 00:00:05
$mol — реактивный микромодульный фронтенд-фреймворк, который Дмитрий Карловский (nin-jin) и сообщество развивают с 2016 года. За эти годы накопилась сотня статей на Хабре и большая документация на mol.hyoo.ru, но разбросанные по годам и площадкам тексты сложно осваивать линейно.
Это навигатор. На каждый материал один абзац о сути и ссылка на оригинал.
Точка входа: что за фреймворк, как он позиционируется, кому подходит.
Презентация $mol как самостоятельной школы фронтенда: какие задачи решаются иначе, чем в мейнстриме, и почему на это стоит обратить внимание. Первое знакомство, если о $mol слышите впервые.
Ключевые свойства списком: реактивность из коробки, виртуализация рендеринга, типизированные стили, модульная сборка. Чек-лист для решения, нужен ли вам такой набор.
Манифест 2016 года, написанный ещё до выпуска $mol. Автор формулирует свойства, которыми, по его мнению, должен обладать UI-фреймворк. Эти требования и стали техническим заданием. Хорошо читать, чтобы понимать исходные мотивы и сравнивать с тем, что получилось.
Разбор устойчивых заблуждений: «непонятный синтаксис», «слишком экзотический», «нет сообщества». На каждое — конкретный контраргумент с примерами кода и ссылками. Подойдёт, если вы что-то уже слышали и сомневаетесь.
Хабр, 2026-04-03 · mol.hyoo.ru → Чем хорош?
До разговоров об устройстве удобно увидеть синтаксис и базовый пример.
Подробный разбор формата view.tree: почему отступы вместо скобок, почему <= и => вместо обычных операторов, какие проблемы это решает. Если первая реакция на код $mol была «что это вообще такое», начинайте отсюда.
Минимальный пример того, как получить работающее $mol-приложение на экране. Первое практическое упражнение после знакомства с синтаксисом.
Словарь понятий, специфичных для $mol: компонент, свойство, канал, владение, фракция. Справочник, к которому удобно возвращаться при чтении статей.
Десять лет проекта в пяти точках, от тизера до последнего обзора.
Самая ранняя публичная демонстрация: что задумано, как пишется код в view.tree, чем отличается от React и Angular того времени. Точка отсчёта, чтобы видеть, что изменилось за десятилетие.
Анонс на Хабре, с которого всё началось. Здесь введены микромодульный подход и автоматическая реактивность как базовые свойства, а не отдельные библиотеки. Помогает увидеть исходную мотивацию автора без позднейших слоёв.
Срез экосистемы через три года после релиза: какие модули появились, какие приложения собраны, чего ещё не хватает. Хорошо показывает, как из заявки 2016-го проект вырос в рабочий стек.
Авторская ретроспектива 2020 года: что подтвердилось, что переделано, что добавлено. Текст-переход от амбициозного манифеста к работающему фреймворку с продакшеном.
Юбилейный обзор 2025 года: текущий стек, продакшен-приложения, стабилизировавшиеся подсистемы, движение к $hyoo как продолжению $mol на распределённые данные. Точка входа, если приходите в проект сейчас и хотите сразу актуальную картину.
Реактивность — главный технический сюжет $mol. У Димы это целая школа со своими понятиями (атом, фракция, тонус), которая складывается с 2014 года, ещё до выхода самого $mol. Здесь собраны статьи трёх поколений: основания, новая теория 2026 года и реализация в $mol_wire.
Самая ранняя статья vintage о реактивности, 2014 год. Вводится понятие «атом»: единица состояния, которая знает о своих зависимостях и автоматически перевычисляется. По времени и идеям эта работа предшествует MobX. Читать ради понимания фундамента.
Продолжение: тот же атом, но с кодом на TS и разбором, как отслеживаются зависимости. Подходит, если хотите написать свою реактивную систему или понять, что под капотом у $mol_wire.
Зрелое описание атома 2016 года: жизненный цикл, инвалидация, ленивое вычисление, освобождение ресурсов. Это уже не идея, а спецификация работающей системы. Подходит как академическая база перед чтением свежих статей о $mol_wire.
Парадигма ORP: как объединяются объектная парадигма и автоматическая реактивность. Объясняет, почему $mol-классы выглядят как обычные TS-классы, а ведут себя как реактивные графы.
Разбор того, как длинные синхронные вычисления разбиваются на кванты, чтобы не блокировать поток. По-английски. Нужна для понимания производительной модели $mol на больших данных.
Это части большого авторского доклада «Реактивные системы», который полностью доступен на page.hyoo.ru — там же анализ практичности и дополнительные материалы. На Хабр Дима выкладывает отдельные части. Ниже — в порядке появления.
Открывает цикл. Определение реактивности через отношения значений и зависимостей, без привязки к конкретному фреймворку. Если нужен единое определение, к которому можно обращаться в спорах, начинайте отсюда.
Какими приёмами реактивная система отсекает вычисления, результат которых не нужен. Практическая статья: после неё понятно, почему @mem и подобные декораторы дают такой прирост.
Понятие «тонус»: степень готовности зависимостей считаться сразу или отложенно. Объясняет, почему в одних системах реакция на изменение моментальная, а в других запаздывает.
О порядке выполнения реакций: когда он гарантирован, когда нет, какие гарантии даёт $mol_wire. Подходит тем, кто сталкивался с непредсказуемым порядком пересчёта в других системах.
Завершает цикл: как реактивный граф перестраивается при изменении кода или зависимостей, и почему этот процесс может быть оптимальным. Закрывает рассказ об инвариантах и переходит к инженерным деталям.
Видео-доклад целиком и подборка разборов — на странице «Реактивные системы».
Программная статья 2022 года: какие свойства должны быть у идеального реактивного движка, как $mol_wire им соответствует, какие компромиссы приняты. Хороша как ориентир, чтобы увидеть авторский вкус в проектировании.
Перевод концепций $mol на язык людей, привычных к React и MobX: что соответствует хукам, что — observable, что — autorun. Лучшая точка входа, если у вас уже есть бэкграунд в одном из этих стеков.
Конкретика: как $mol_wire кеширует значения, когда сбрасывает кеш, как устроена инвалидация по графу. Понадобится, когда вы уже пишете на $mol и хотите оптимизировать.
Как пересадить $mol_wire в чужой проект (React, Vue) и получить пользу без переезда всего стека. Практическая статья для тех, кто хочет попробовать $mol-реактивность точечно.
Сравнительный бенчмарк менеджеров состояний: Redux, MobX, Zustand, Recoil, $mol_wire и другие. С методологией и воспроизводимым репозиторием. Подходит, если нужны цифры для технического решения.
Как фреймворк устроен изнутри: сборка, шаблонизация, рендеринг, стили.
Базовая статья о MAM (Mol Application Manager): как одна папка модуля содержит код, стили, тесты, а зависимости описываются автоматически по импортам. Если непривычно отсутствие package.json в каждом модуле, начинайте отсюда.
Расширенная версия с разбором глубокой конфигурации и нестандартных случаев. Понадобится, когда нужно подключить нестандартную интеграцию или собрать собственный билдер.
Как поднять локальную среду разработки $mol с нуля: установка, dev-server, отладка. Первый практический шаг после прочтения «Зачем».
Как тянуть npm-пакеты в $mol-проект и как $mol сам публикует модули в npm. Понадобится, если нужно встроить чужой код или, наоборот, отдать $mol-модуль внешним потребителям.
Большая статья 2020 года о формате .tree как универсальном AST для любых данных и кода. Объясняет, почему один и тот же формат удобен и для шаблонов, и для конфигов, и для замены JSON.
Исторический исток формата 2015 года: чем .tree отличается от существующих, какие свойства даёт. Хорошо показывает эволюцию идеи от лаконичного формата сериализации до основы шаблонизатора.
Видео по теме: «Tree — единый AST чтобы править всеми» — на странице раздела «Технические спецификации» у автора.
Как из мелких $mol-компонентов собираются крупные, как переопределяются свойства, как работает наследование. Базовое руководство для повседневной работы.
Теоретический разбор того же принципа: почему декларативная композиция в $mol устроена так, какие свойства это даёт. Хорошо читается после практики «Композиции компонентов».
Главная архитектурная фишка $mol: рендерится только то, что попадает в видимую область. Разбирается, как это устроено и почему даёт стабильный FPS на тяжёлых интерфейсах. Важный текст для разговоров о производительности.
Видео по теме: «Автоматическая виртуализация рендеринга» — на странице mol.hyoo.ru → Архитектура.
Как $mol типизирует стили на уровне TypeScript: автодополнение, проверка ошибок при компиляции, поддержка тем. Подходит, если устали ловить опечатки в строковых классах и инлайн-стилях.
Видео по теме: «Продвинутый CSS-in-TS» — на странице mol.hyoo.ru → Архитектура.
Как $mol работает с каскадом CSS: что наследуется, что переопределяется на компонентном уровне, как устроены темы. Практическое руководство для всех, кто пишет UI на $mol.
Математический подход к дизайн-системе: как из небольшого набора базовых констант получаются согласованные размеры, отступы и сетки. Полезна, если строите свою дизайн-систему и устали от магических чисел.
Механизм каналов: способ передачи данных между компонентами без жёсткой связи через пропсы. Объясняет, как двусторонняя связь работает прозрачно для разработчика.
Практическая часть для тех, кто уже понимает идею и хочет писать код.
Стартовая страница руководства: что делать дальше и в каком порядке читать. Точка отсчёта для всех практических глав.
Текущая идиома $mol для работы с сетью — синхронный код через $mol_fetch (поверх $mol_wire_sync): пишешь как обычный return, fiber сам ретраит на промисах, view сам показывает error-плашку — без try/catch. Страница «Асинхронность» в официальном руководстве описывает более старый стиль с $mol_wire_async, поэтому надёжнее смотреть исходник модуля и его demo.
Исходник $mol_fetch · mol.hyoo.ru → Асинхронность (исторический контекст)
Встроенный механизм i18n: где хранятся переводы, как добавлять, как переключать языки в рантайме. Понадобится, когда проект выйдет на международный рынок.
Как сделать $mol-приложение видимым для поисковых ботов, не прибегая к классическому SSR. Подойдёт всем, кто думает о SEO, но не хочет тащить node-рендер.
Базовая страница: как устроены тесты в $mol-модулях, как их запускать, какие есть утилиты. Стартовая точка перед тематическими статьями.
Подход, при котором тесты живут рядом с кодом на каждом уровне модульной иерархии. Объясняет, как это снижает стоимость поддержки и облегчает рефакторинг.
Видео по теме: «Фрактальное тестирование» — на странице раздела «Теория программирования» на page.hyoo.ru.
Теория: какие бывают виды тестов, что они проверяют, какие свойства даёт каждый уровень. Общая основа, не привязанная к $mol.
Разбор популярных мифов: «100% покрытие = надёжный код», «юнит-тесты ловят все баги» и подобных. Хорошо читается в паре с предыдущей.
Полноценное приложение на $mol — клеточный автомат Конвея. Минимальный пример нетривиального UI с состоянием и рендером. Удобно разбирать построчно.
mol.hyoo.ru → Руководство · исходная статья на Хабре, 2017-11-09
Реализация известной казуальной головоломки. Пример работы с состоянием, анимациями и пользовательским вводом.
Минимальный аналог Excel: формулы, ссылки между ячейками, перерасчёт по графу. Хорошая демонстрация реактивности на нетривиальной модели данных.
mol.hyoo.ru → Руководство · исходная статья на Хабре, 2017-09-27
Инструмент $mol_app_bench и подход к измерению производительности фронтенда. Подходит, если хотите проверять решения цифрами, а не на ощущениях.
mol.hyoo.ru → Руководство · исходная статья на Хабре, 2017-02-19
Отдельные библиотеки и форматы $mol. Многие из них можно использовать без всего стека.
Типизированная работа с датами по ISO 8601: моменты, интервалы, длительности. Решает классическую путаницу с Date, часовыми поясами и арифметикой. Подключается в любой проект.
Хабр, 2015-07-20 · mol.hyoo.ru → Руководство
Декларативный конструктор регулярных выражений с типизацией результата. Вы пишете на TypeScript то, что регулярка должна найти, и получаете обратно типизированную структуру совпадений.
Хабр, 2021-06-08 · mol.hyoo.ru → Руководство
Альтернативный формат разметки текста, без двусмысленностей и неожиданных интерпретаций, которыми страдает классический Markdown. Подойдёт, если вы строите редактор контента или вики.
Безопасное исполнение пользовательского JavaScript-кода в браузере. Две статьи: «hack me if you might!» как пригласительный challenge, и «взломай меня, если сможешь!» как разбор архитектуры решения.
Хабр, 2021-05-06 · Хабр, 2020-06-22
Утилита, закрывающая дыры в стандартной системе типов TS: тонкие случаи с [object Object], неявные any, разбор того, что компилятор пропускает. Подходит, если проект страдает от рантайм-сюрпризов.
Сериализация данных в компактный бинарный вид с типизированным восстановлением. Сравнивается с JSON, BSON, MsgPack, CBOR. Две связанные статьи: одна о решении, другая о процессе его проектирования.
Хабр, 2025-11-14 · Хабр, 2025-12-09
Предложение нового способа кодирования текста как альтернативы UTF-8: что не так с UTF-8 на длинной дистанции и какой формат решает эти проблемы. Дискуссионная, но техническая.
Подход к дизайну REST-API, в котором учтены болевые места разработчика-потребителя: согласованность, предсказуемость, версионирование. Подойдёт бэкенд-командам.
Алгоритм глубокого сравнения объектов с оптимизациями: где это нужно в реактивных системах и как избежать тормозов на больших структурах.
$mol написан на TypeScript. Эта глава — про приёмы языка, которые автор использует и формализует.
Подборка нетривиальных приёмов и подводных камней TS. Помогает понять, как сделана типизация в $mol и почему некоторые конструкции выглядят неожиданно.
Как сделать DI без отдельной библиотеки, через сам язык. Описывается паттерн $mol_ambient-стиля, который используется во всей экосистеме.
Авторская система именования переменных, функций, файлов. Объясняет, почему в $mol такие префиксы и почему модули называются именно так.
Идея, что имена в коде должны масштабироваться как фрактал: от общего к частному без перескоков. Применяется в $mol для именования компонентов и их свойств.
Базовый набор правил, которым следует автор: что считать читаемым, что поддерживаемым, как договариваться о стиле в команде.
Хабр, 2014-09-14 · mol.hyoo.ru → Сообщество
Подход к разбиению крупного решения на части: какие принципы соблюдать, какие нарушать осознанно. Подойдёт для архитектурных решений в большом проекте.
Разбор Open/Closed Principle: что в формулировке корректно, что устарело, какая альтернативная формулировка ближе к реальности.
Тот же разбор для принципа подстановки Лисков. Подойдёт тем, кто пересматривает SOLID критически.
Анализ Test-Driven Development: где это работает, где приводит к лишней работе, какие альтернативы рассмотрены.
Параллельный с $mol проект: попытка построить распределённый стек хранения и синхронизации данных (CRDT, криптография, локально-первая модель). Здесь собраны статьи о принципах. Текущая реализация — $giper_baza (новое поколение, заменившее ранний $hyoo_crus); отдельной публикации про неё на Хабре пока нет, актуальный код и примеры — в репозитории.
Уровни изоляции и видимости транзакций применительно не к классическим БД, а к распределённым CRDT-системам. Объясняет, что вы можете обещать пользователю и чего нет.
Систематика того, как параллельные узлы могут договариваться о состоянии: от классических консенсус-протоколов до CRDT. Карта пространства решений.
page.hyoo.ru → Теория программирования
Видео по теме: «Реактивные системы» — на той же странице раздела.
Четвёртая часть цикла о том, как может выглядеть веб следующего поколения: локально-первый, без обязательного сервера, с авторской криптографией поверх. Видение, к которому ведёт $hyoo.
Подборка экспериментальных идей: что произойдёт, если отказаться от привычных предположений о структуре хранилищ. Подходит, когда хочется свежих идей за пределами текущего стека.
Демонстрация: дейтинг-приложение, построенное на $hyoo как пример распределённого продакшена. Хороший практический кейс к теоретическим статьям выше.
Как устроена работа сообщества вокруг $mol и где его уже применяют.
Стартовая страница раздела о сообществе: ценности, способы взаимодействия, тон общения. Прочитать перед тем, как заходить в чаты и issue-трекеры.
Кому $mol полезен в первую очередь и в каких задачах: размер команды, тип продукта, требования к производительности. Честный фильтр перед инвестицией времени.
Шкала владения $mol: что должен знать новичок, какие задачи решает мидл, какой код пишет сеньор. Подойдёт командам, которые планируют внедрение.
Как организуется команда, использующая $mol: владение модулями, ревью, релиз-процесс. Практические рекомендации, отличающиеся от привычного React-флоу.
Реальные продакшен-кейсы: какие приложения собраны на $mol, какие задачи решены. Подойдёт для разговоров с заказчиком или CTO.
Отзывы разработчиков, перешедших на $mol: что понравилось, что вызвало сопротивление, что стало неожиданным. Реалистичный взгляд изнутри.
Самые частые опасения тех, кто только смотрит на $mol, с разбором: какие из них обоснованы, какие — стереотипы. Прочитать до того, как браться за первый проект.
Практика быстрого прототипирования на $mol: как собрать рабочее приложение из готовых компонентов за день. Подойдёт для стартапов и хакатонов.
Универсальный принцип принятия решений: в выборе между «вызвать восхищение» и «не вызвать злости» — выбирать второе. Работает в любых ситуациях от продуктовой фичи до собственной реплики в обсуждении. Под капотом — минимакс из теории игр и модель Кано.
Цифры, бенчмарки и сравнения с другими решениями.
Аналитический раздел сайта документации: статистика по UX, архитектуре, исходному коду и интеграциям. Раскладка проекта в цифрах. Удобно для презентаций.
mol.hyoo.ru → Аналитика · Пользовательский опыт · Архитектура · Исходный код · Интеграции
Прямое сравнение компонентов $mol с аналогами из популярных UI-китов: размер бандла, API, производительность. Подойдёт при выборе стека для нового проекта.
Подборка случаев, когда идеи $mol явно или неявно повлияли на другие фреймворки и инструменты. Подходит для исторического контекста.
Подход к измерению производительности на уровне отдельных операций: где интуиция обманывает, где нет. Методическая статья для всех, кто принимает технические решения по цифрам.
После того, как обзорная часть прочитана, есть смысл идти в систематические курсы и точки входа.
Систематический курс автора по реактивности: от базовых понятий до проектирования собственного движка. Удобен как учебный план, если хотите глубоко разобраться, а не быстро применить.
page.hyoo.ru → Уникальные курсы
Курс по CRDT и связанным алгоритмам. Поддерживающий материал для проекта $hyoo. Подходит разработчикам, которые планируют идти в локально-первые приложения.
page.hyoo.ru → Уникальные курсы
Карта парадигм и того, какое место в ней занимает $mol. Подойдёт для теоретического кругозора и осмысленного выбора инструментов.
Профиль Дмитрия Карловского: образование, карьера, контакты, текущие проекты. Подходит тем, кто хочет писать напрямую или искать партнёрство.
Готовые приложения, демки, библиотека иконок. Удобно потрогать руками без локальной установки.
Если хочется попробовать руками прямо сейчас — есть песочница для view.tree.
Оригиналы: Хабр nin-jin и документация mol.hyoo.ru.