Логика и поток управления

Поток управления — это порядок, в котором выполняются инструкции и вызовы функций. Именно он определяет, как приложение отвечает на действия пользователя и на события системы.

  • Условия if, else if и else дают приложению принимать решения: проверить, вошёл ли пользователь, и показать разный контент авторизованному и гостю.

  • Циклы Повторение одной и той же логики: пройтись по списку элементов, повторить неудавшуюся операцию.

  • Обработка событий Логика, запускаемая событием: нажатием, свайпом, загрузкой страницы, сменой фокуса.

Логика, или функции, — это то, что приложение делает в ответ на действия пользователя и с данными:

  • Бизнес-логика. Правила предметной области: в магазине это оформление заказа, расчёт цены, учёт остатков.

  • Логика интерфейса. Проверка форм, переходы между экранами, обновление содержимого после действий пользователя.

  • Логика данных. Получение, хранение, изменение и удаление данных — в базе или через API.

Разберём несколько ключевых понятий.

Функции

Функция — обособленный кусок логики, решающий одну задачу. Раз написав функцию, вы вызываете её везде, где нужна та же работа.

Как запускается функция

Функцию можно вызвать из свойства виджета — например, посчитать значение или отформатировать число перед подстановкой, склеить строки перед выводом в Text. А можно привязать её к событию: нажатию кнопки, загрузке страницы.

Виды функций

  • Служебные функции — форматирование данных и вычисления. Для простых преобразований есть встроенные выражения, для склейки строк — функция Combine Text.

  • Действия — последовательность шагов в ответ на действие пользователя. Например:

    • Изменение переменных состояния — приложения, страницы или компонента.

    • Действия виджетов — прокрутить ListView к нужному элементу, очистить поле ввода, вызвать функцию сторонней интеграции.

    • Кастомные действия — логика на Flutter и Dart, добавляемая в поток действий как обычный шаг.

  • Навигация — переходы между страницами, открытие нижних шторок и диалогов. Часть таких переходов выполняется автоматически после связанных операций — скажем, после входа или регистрации, — часть вы добавляете сами отдельным действием.

  • Запросы к бэкенду — обращение к базе данных и внешним сервисам за данными.

  • Кастомные функции — код на Dart для сложных преобразований; результат подставляется в свойство виджета или в действие.

перевод официальной документации FlutterFlow

обновлено

ESC