Введение
Обзор Fusion Framework, FMA и кроссплатформенной документации бэкенда для Node.js, Python и C# от Cipher Unit
Что такое Fusion?
Fusion Framework — кроссплатформенный бэкенд-фреймворк на общем Rust-ядре и FMA (Fusion Module Architecture).
Вы пишете HTTP API на классах на удобном языке. Маршрутизация, разбор запросов, сериализация ответов, settings и хелперы заголовков работают в Rust-движке — языковые привязки остаются тонкими и сосредоточены на DX.
Текущая версия пакета фреймворка в открытом репозитории: 1.2.6.
Зачем нужен Fusion
Командам часто нужны одни и те же HTTP-семантики на нескольких языках. Fusion держит одно ядро для маршрутизации и сериализации и даёт идиоматические API на Python, TypeScript/Node.js и C#. Приложения собираются из route-модулей и опциональных переиспользуемых пакетов, а не из одного бесструктурного скрипта.
Fusion разрабатывает Cipher Unit.
Поддержка языков
| Язык | Статус |
|---|---|
| Python | Доступен — pip install fusion-framework |
| TypeScript / Node.js | Доступен — npm i fusion-framework |
| C# | Доступен — NuGet Fusion-Framework (пространство имён FusionFramework) + fusion-ffi |
Рекомендуемый путь обучения
Читайте в таком порядке — сначала архитектура, затем CLI, затем ваш язык:
- Обзор архитектуры — ментальная модель стека
- Workspace и crates — core vs bindings
- FMA — как стыкуются модули и пакеты
- Чем Fusion не является — границы области
- Fusion Tool — скаффолд проектов и окружения
- Языковой гайд: Python · TypeScript · C#
- Settings и конфигурация —
fusion.<env>.json,FUSION_ENV, overlays - Router · Middleware · языковой Config
- Переиспользуемые пакеты
- Лучшие практики · Устранение неполадок
Инструменты
- Fusion Tool — официальный CLI для скаффолда проектов, управления окружениями и запуска команд проекта
- Fusion Desktop — графический интерфейс для управления Fusion-бэкендами на Windows и Linux
Fusion — open source под лицензией BSD. Подробнее о команде: cipherunit.xyz.
Версионирование
Fusion — молодой фреймворк, поэтому пока ядро стабилизируется мы используем осознанную стратегию версий.
Цель — непрерывное улучшение к надёжной основе для продакшен-бэкендов.