FEgenerator
Demo: https://everyonesaythankyouted.github.io/example/
Что это
- Минимальный JSON→UI рантайм для браузера, вдохновлённый DearPyGui.
- Рендерит интерфейсы прямо из JSON без сборки и бэкенда: JavaScript-рантайм интерпретирует спецификации и создаёт UI.
Зачем
- Быстрое прототипирование интерфейсов, демо и внутренних тулзов.
- Разделение UI (JSON) и логики (JS: actions/plugins), что упрощает итерации и тестирование.
- Лёгкая публикация на GitHub Pages — достаточно положить
src/иexample/.
Как это работает
- JSON-спека описывает окна, виджеты, меню, хоткеи и темы.
- Рантайм
src/runtime.jsзагружает и применяет спеки:load,loadThemesFromUrl,loadHotkeysFromUrl,loadMenubarFromUrl. - Действия — ES-модули в
example/actions/*.js, регистрируются черезregisterActions(...)и дополняют поведение. - Плагины — ES-модули с
manifest.json(см.example/plugins/), добавляют новые типы/виджеты. - Транспорт (RPC) настраивается через
runtime.setTransport(...).
Основные возможности
- Декларативный UI в JSON (окна, вкладки, спойлеры, слайдеры, таблицы и пр.).
- Темы, хоткеи, менюбары, тосты, контекстные меню (см.
example/windows/*.json). - Плагины:
dataframe,charts(пример расширений с манифестами). - Гибкая загрузка окон и action-модулей по требованию.
Структура
src/— ядро рантайма.example/— демо-спеки, действия и плагины.
Быстрый старт локально
- Установите Python 3.
- В корне проекта:
python -m http.server 8080 - Откройте:
http://localhost:8080/example/
Лицензия
- 0BSD — максимально разрешительная. См.
LICENSE.