Декларативность
Last updated
Если вы переходите к Flutter из императивной среды (такой как Android SDK или iOS UIKit), вам нужно начать думать о разработке приложений с новой точки зрения.
Многие предположения, которые у вас могут быть, неприменимы к Flutter. Например, во Flutter можно перестраивать части пользовательского интерфейса с нуля, а не изменять его. Flutter достаточно быстр, чтобы делать это даже на каждом кадре, если это необходимо.
Флаттер является декларативным . Это означает, что Flutter строит свой пользовательский интерфейс, отражающий текущее состояние вашего приложения:
Когда состояние вашего приложения меняется (например, пользователь переключает переключатель на экране настроек), вы изменяете состояние, и это вызывает перерисовку пользовательского интерфейса. Нет никаких императивных изменений самого пользовательского интерфейса (например, widget.setText
) - вы изменяете состояние, и пользовательский интерфейс перестраивается с нуля.
Декларативный стиль программирования пользовательского интерфейса имеет множество преимуществ. Примечательно, что для любого состояния пользовательского интерфейса существует только один путь кода. Вы описываете, как должен выглядеть пользовательский интерфейс для любого состояния, один раз - и все.
Сначала этот стиль программирования может показаться не таким интуитивно понятным, как императивный стиль. Именно поэтому здесь находится этот раздел.
Подробнее о декларативном подходе к программированию пользовательского интерфейса читайте в руководстве по началу работы.