Логика и поток управления
Поток управления — это порядок, в котором выполняются инструкции и вызовы функций. Именно он определяет, как приложение отвечает на действия пользователя и на события системы.
-
Условия
if,else ifиelseдают приложению принимать решения: проверить, вошёл ли пользователь, и показать разный контент авторизованному и гостю. -
Циклы Повторение одной и той же логики: пройтись по списку элементов, повторить неудавшуюся операцию.
-
Обработка событий Логика, запускаемая событием: нажатием, свайпом, загрузкой страницы, сменой фокуса.
Логика, или функции, — это то, что приложение делает в ответ на действия пользователя и с данными:
-
Бизнес-логика. Правила предметной области: в магазине это оформление заказа, расчёт цены, учёт остатков.
-
Логика интерфейса. Проверка форм, переходы между экранами, обновление содержимого после действий пользователя.
-
Логика данных. Получение, хранение, изменение и удаление данных — в базе или через API.
Разберём несколько ключевых понятий.
Функции
Функция — обособленный кусок логики, решающий одну задачу. Раз написав функцию, вы вызываете её везде, где нужна та же работа.
Как запускается функция
Функцию можно вызвать из свойства виджета — например, посчитать значение или отформатировать число перед подстановкой, склеить строки перед выводом в Text. А можно привязать её к событию: нажатию кнопки, загрузке страницы.
Виды функций
-
Служебные функции — форматирование данных и вычисления. Для простых преобразований есть встроенные выражения, для склейки строк — функция Combine Text.
-
Действия — последовательность шагов в ответ на действие пользователя. Например:
-
Изменение переменных состояния — приложения, страницы или компонента.
-
Действия виджетов — прокрутить ListView к нужному элементу, очистить поле ввода, вызвать функцию сторонней интеграции.
-
Кастомные действия — логика на Flutter и Dart, добавляемая в поток действий как обычный шаг.
-
-
Навигация — переходы между страницами, открытие нижних шторок и диалогов. Часть таких переходов выполняется автоматически после связанных операций — скажем, после входа или регистрации, — часть вы добавляете сами отдельным действием.
-
Запросы к бэкенду — обращение к базе данных и внешним сервисам за данными.
-
Кастомные функции — код на Dart для сложных преобразований; результат подставляется в свойство виджета или в действие.