Sobes.tech
Back to questions
Junior — Middle
98

Каким образом реализована система навигации и маршрутизации в Flutter-приложениях?

Companies where asked
HamkorBank

Answer from AI

sobes.tech AI

В Flutter навигация и маршрутизация реализованы через класс Navigator и систему маршрутов (Routes). Navigator управляет стеком экранов (виджетов), позволяя переходить между ними с помощью методов push (добавить экран) и pop (вернуться назад).

Основные подходы:

  • Named Routes — определяются в MaterialApp через свойство routes, где каждому имени маршрута соответствует функция, возвращающая виджет. Навигация происходит по имени маршрута.

  • Anonymous Routes — создаются динамически с помощью Navigator.push(context, MaterialPageRoute(builder: (context) => NewScreen())).

  • Navigator 2.0 — более сложный и гибкий API, позволяющий управлять навигацией декларативно, полезен для сложных приложений с глубокими ссылками.

Пример простого перехода между экранами с использованием Navigator:

// Переход на новый экран
Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => SecondScreen()),
);

// Возврат на предыдущий экран
Navigator.pop(context);