Что такое движок потоков?

Движок потоков — это новый no-code/low-code движок фронтенд-разработки, представленный в NocoBase 2.0. Он объединяет модели и потоки, чтобы упростить фронтенд-логику и повысить переиспользуемость и сопровождаемость. Одновременно, благодаря настраиваемой природе потоков, он предоставляет возможности беспрограммной настройки и оркестрации для фронтенд-компонентов и бизнес-логики.

Почему он называется движком потоков?

Потому что в движке потоков свойства и логика компонентов больше не задаются статически, а управляются и исполняются через поток.

  • Поток, как поток данных, разбивает логику на упорядоченные шаги и последовательно применяет их к компоненту;
  • Движок означает, что это система, управляющая фронтенд-логикой и взаимодействиями.

Следовательно, движок потоков = фронтенд-движок логики, управляемый потоками.

Что такое модель?

В движке потоков модель — это абстрактная модель компонента, которая отвечает за:

  • Управление свойствами и состоянием компонента;
  • Определение метода рендеринга компонента.
  • Размещение и выполнение потока;
  • Единообразную обработку диспетчеризации событий и жизненного цикла.

Иными словами, модель — это логический центр компонента, который превращает его из статического элемента в настраиваемую и оркестрируемую динамическую единицу.

Что такое поток?

В движке потоков поток — это поток логики, который обслуживает модель. Его назначение:

  • Разбивать логику свойств или событий на шаги и выполнять их последовательно в потоке;
  • Управлять изменениями свойств и реакциями на события;
  • Делать логику динамичной, настраиваемой и переиспользуемой.

Как понять эти концепции?

Можно представить поток как поток воды:

  • Шаг похож на узел на пути потока Каждый шаг выполняет небольшую задачу (например, задаёт свойство, вызывает событие, обращается к API), так же как вода оказывает эффект, проходя через шлюз или водяное колесо.

  • Поток упорядочен Вода движется по заранее заданному пути от истока к устью, проходя все шаги по порядку; аналогично и логика в потоке выполняется в определённой последовательности.

  • Поток можно разветвлять и объединять Водяной поток можно разделить на несколько рукавов или объединить; поток также можно разбивать на подпотоки и собирать в более сложные логические цепочки.

  • Поток настраиваем и управляем Направление и объём воды регулируются шлюзом; способ выполнения и параметры потока также можно контролировать через конфигурацию (stepParams).

Итог аналогии

  • Компонент — как водяное колесо, которому нужен поток воды для вращения;
  • Модель — основание и контроллер этого колеса, отвечающий за приём потока и запуск работы;
  • Поток — этот поток воды, который проходит через каждый шаг по порядку и заставляет компонент постоянно изменяться и реагировать.

Итак, в движке потоков:

  • Поток позволяет логике двигаться естественно, как поток воды;
  • Модель делает компонент носителем и исполнителем этого потока.