Что такое движок потоков?
Движок потоков — это новый no-code/low-code движок фронтенд-разработки, представленный в NocoBase 2.0. Он объединяет модели и потоки, чтобы упростить фронтенд-логику и повысить переиспользуемость и сопровождаемость. Одновременно, благодаря настраиваемой природе потоков, он предоставляет возможности беспрограммной настройки и оркестрации для фронтенд-компонентов и бизнес-логики.
Почему он называется движком потоков?
Потому что в движке потоков свойства и логика компонентов больше не задаются статически, а управляются и исполняются через поток.
- Поток, как поток данных, разбивает логику на упорядоченные шаги и последовательно применяет их к компоненту;
- Движок означает, что это система, управляющая фронтенд-логикой и взаимодействиями.
Следовательно, движок потоков = фронтенд-движок логики, управляемый потоками.
Что такое модель?
В движке потоков модель — это абстрактная модель компонента, которая отвечает за:
- Управление свойствами и состоянием компонента;
- Определение метода рендеринга компонента.
- Размещение и выполнение потока;
- Единообразную обработку диспетчеризации событий и жизненного цикла.
Иными словами, модель — это логический центр компонента, который превращает его из статического элемента в настраиваемую и оркестрируемую динамическую единицу.
Что такое поток?
В движке потоков поток — это поток логики, который обслуживает модель. Его назначение:
- Разбивать логику свойств или событий на шаги и выполнять их последовательно в потоке;
- Управлять изменениями свойств и реакциями на события;
- Делать логику динамичной, настраиваемой и переиспользуемой.
Как понять эти концепции?
Можно представить поток как поток воды:
-
Шаг похож на узел на пути потока Каждый шаг выполняет небольшую задачу (например, задаёт свойство, вызывает событие, обращается к API), так же как вода оказывает эффект, проходя через шлюз или водяное колесо.
-
Поток упорядочен Вода движется по заранее заданному пути от истока к устью, проходя все шаги по порядку; аналогично и логика в потоке выполняется в определённой последовательности.
-
Поток можно разветвлять и объединять Водяной поток можно разделить на несколько рукавов или объединить; поток также можно разбивать на подпотоки и собирать в более сложные логические цепочки.
-
Поток настраиваем и управляем Направление и объём воды регулируются шлюзом; способ выполнения и параметры потока также можно контролировать через конфигурацию (
stepParams).
И тог аналогии
- Компонент — как водяное колесо, которому нужен поток воды для вращения;
- Модель — основание и контроллер этого колеса, отвечающий за приём потока и запуск работы;
- Поток — этот поток воды, который проходит через каждый шаг по порядку и заставляет компонент постоянно изменяться и реагировать.
Итак, в движке потоков:
- Поток позволяет логике двигаться естественно, как поток воды;
- Модель делает компонент носителем и исполнителем этого потока.

