$mol экосистема получила поддержку Node.js в модуле $mol_storage, экспериментальный путь к нативным GTK-интерфейсам и несколько инструментов для редактирования и управления интерфейсами. Для разработчиков это не очередной список мелких коммитов: фреймворк постепенно выходит за пределы браузерного UI и закрывает прикладные задачи — от оценки свободного места на диске до безопасной работы со ссылками.
О наборе изменений за август и сентябрь сообщает Habr / Новости. Центральное техническое обновление — поддержка Node.js в $mol_storage. Модуль теперь может получать сведения о файловой системе: объём занятого и свободного пространства, общий размер хранилища, долю использования и её логарифмический уровень. Такие данные полезны серверным утилитам, локальным приложениям и инструментам диагностики: разработчику не нужно отдельно обвязывать системные вызовы, чтобы, например, предупредить пользователя о почти заполненном диске.
Важна именно смена контекста. $mol традиционно ассоциируется с декларативной разработкой интерфейсов для веба, а появление Node.js-совместимости в хранилище делает часть привычных API пригодной и для окружений вне браузера. Это ещё не означает, что фреймворк внезапно превратился в замену серверным платформам. Но для проектов, где фронтенд, локальная логика и сервисные сценарии хотят держать в одном наборе подходов, граница между ними становится менее жёсткой.
Параллельно развивается встроенный WYSIWYG-редактор. На первом этапе в нём появилась работа со строчным форматированием, затем — с блочной структурой текста. Инструменты для выделенного фрагмента вынесли в отдельное меню, а текущий абзац можно преобразовать в нужный тип блока. Вложенность управляется знакомой схемой: Tab уводит блок глубже, Shift + Tab возвращает его на уровень выше. Редактор пока развивается, однако уже нацелен не на декоративное поле ввода, а на создание структурированного контента — заметок, документации или рабочих баз знаний.
Ещё один новый модуль, $mol_hotkey2, предлагает декларативно связывать сочетания клавиш с действиями компонента. Вместо ручной обработки событий в разных частях приложения комбинацию можно описывать рядом с логикой самого интерфейса. На бумаге это небольшое API-улучшение, но горячие клавиши быстро превращаются в источник разрозненного кода, когда приложение перестаёт быть формой с двумя кнопками. Для сложных внутренних систем и редакторов такой подход способен сделать поведение интерфейса заметно прозрачнее.
В экосистеме также появился отдельный модуль для GTK. Его задача — дать проектам на $mol возможность строить нативные интерфейсы без WebView. Проект находится на ранней стадии, поэтому говорить о готовой альтернативе привычным desktop-стекам преждевременно. Но направление любопытное: если декларативная модель $mol сможет работать поверх нативного UI, разработчики получат возможность проверять гипотезы о десктопных приложениях без обязательной упаковки браузерного движка вместе с продуктом.
Для повседневной разработки добавились и более приземлённые вещи. В b-on-g подготовлен компонент сбора отзывов с просмотром отправленных сообщений — его можно подключить к небольшому сервису или документации без самостоятельной сборки формы обратной связи. Обновлена документация smalljs, опубликована версия music v1, авторы которой обещают отдельно раскрыть масштаб переработки. Отдельный плагин $bog_selection посвящён операциям выделения, включая сценарии с Ctrl+A и Ctrl+C. По отдельности это небольшие детали, но именно из таких деталей обычно складывается скорость сборки внутренних продуктов.
Не обошлось без безопасности. В $mol_link добавили фильтрацию скриптовых протоколов, а в Giper Baza закрыли зарегистрированную проблему безопасности. Это обновление выглядит менее эффектно, чем WYSIWYG-редактор или GTK, но для библиотек, которые работают со ссылками и пользовательским контентом, оно куда важнее красивого демо. Фильтрация опасных схем URL снижает риск того, что интерфейс пропустит ссылку с исполняемым сценарием.
Для русскоязычных команд, которые присматриваются к $mol, нынешний набор изменений показывает практический вектор развития: $mol экосистема пытается покрыть не только рендеринг компонентов, но и редакторы, клавиатурное управление, обратную связь, локальные ресурсы и desktop-эксперименты. Главный вопрос теперь не в количестве модулей, а в том, насколько быстро ранние направления вроде GTK обрастут документацией, стабильными API и реальными внедрениями. Если это произойдёт, $mol сможет претендовать на более заметную роль в проектах, которым тесно в одном браузере.