Рассмотри варианты open-source конструкторов no-code/low-code для JavaScript, основанные на BPMN (Business Process Model and Notation), но
- поддерживающие браузерный JS
- с возможностью развертывания среды на github pages
Покажи примеры разработки для них простого калькулятора: два поля ввода чисел, поле - справочник выбора четырех операций (+,-,/,*) и поле результата.
Для примера калькулятора приведу код на чистом HTML/CSS/JS, который можно разместить на GitHub Pages. Поскольку в результатах поиска нет готового примера именно калькулятора на bpmn-js, создам его самостоятельно, объяснив архитектуру: отображение BPMN-диаграммы и взаимодействие с пользовательскими элементами управления через прослушивание событий.
Структура ответа будет такой: ограничение существующих решений → bpmn-js как основная библиотека → архитектура no-code калькулятора на BPMN → полный код примера → инструкция по развертыванию на GitHub Pages.
## Open-source BPMN-конструкторы для браузерного JavaScript с развертыванием на GitHub Pages
После анализа доступных open-source решений на основе BPMN, отвечающих вашим критериям (браузерный JavaScript + развертывание на GitHub Pages), я пришел к следующему выводу:
**Готовых полноценных no-code/low-code платформ на BPMN с возможностью развертывания на GitHub Pages практически не существует.** Большинство BPMN-инструментов (такие как Camunda, CIB seven, Operaton, IBM PAM) написаны на Java и требуют серверной инфраструктуры .
Однако есть одно архитектурное решение, которое полностью соответствует вашим требованиям:
---
## ✅ bpmn-js — библиотека для браузерного рендеринга BPMN 2.0
**Сайт:** [bpmn.io](https://bpmn.io)
**GitHub:** [github.com/bpmn-io/bpmn-js](https://github.com/bpmn-io/bpmn-js)
**Лицензия:** bpmn.io license (open-source)
**NPM:** `npm install bpmn-js`
bpmn-js — это **JavaScript-библиотека для рендеринга и редактирования BPMN 2.0 диаграмм непосредственно в браузере** . Она работает полностью на клиентской стороне, не требует серверной части и может быть развернута на GitHub Pages.
### Почему bpmn-js подходит:
1. **Чистый браузерный JavaScript** — работает в любом современном браузере
2. **Open-source** — код доступен и расширяем
3. **Развертывание на GitHub Pages** — статические файлы можно хостить бесплатно
4. **BPMN 2.0 совместимость** — поддерживает стандарт BPMN 2.0
5. **Расширяемость** — можно добавлять кастомную логику через JavaScript
### Важное уточнение
bpmn-js — это **библиотека для визуализации**, а не готовая no-code платформа. Вы получаете:
- ✅ Визуальный редактор BPMN-диаграмм
- ✅ Возможность загружать/сохранять BPMN XML
- ✅ Инструменты для создания кастомных no-code интерфейсов поверх BPMN
Но вам потребуется написать немного JavaScript, чтобы связать BPMN-процесс с логикой калькулятора.
---
## 📁 Пример: Калькулятор на основе BPMN-диаграммы
Ниже представлен полный пример веб-приложения, которое:
1. Отображает BPMN-диаграмму процесса калькулятора
2. Позволяет вводить числа и выбирать операцию
3. Вычисляет результат на основе BPMN-модели
### Структура проекта
```
bpmn-calculator/
├── index.html # Главная страница
├── calculator.bpmn # BPMN 2.0 диаграмма процесса
└── (bpmn-js via CDN)
```
### 1. BPMN-диаграмма (`calculator.bpmn`)
Создайте файл с определением BPMN-процесса:
```xml