Изучение

Архитектура и владение

Путь запроса от типизированного Destination до отрисованного стека Navigator и владелец каждого объекта.

v0.1.0-dev.2Начальный уровень

Архитектура и владение

Ark Navigation разделяет определение, изменяемое состояние и отрисовку Flutter.

text
Destination + точная операция
        ↓
NavigationPort
        ↓
Graph resolution → Redirect → leave Guard → enter Guard
        ↓
NavigationController атомарно изменяет стек
        ↓
NavigationSnapshot
        ↓
NavigationRouter строит страницы Navigator и сообщает URI

NavigationGraph — неизменяемое определение Scope, Module, Mount, роутов и политик. NavigationSession владеет изменяемым Controller и объектами Flutter Router для одного представления. Необязательный NavigationRuntime координирует несколько Session с общим Graph, но не объединяет их стеки.

Объект, создавший Session, обязан его закрыть. Подходящим владельцем будет корневой StatefulWidget, область видимости приложения или область DI с тем же жизненным циклом. Одна глобальная Session для всех окон неверна: каждому Flutter View нужны собственные стек, история и состояние восстановления.

Код функционального модуля обычно зависит от узкого NavigationPort. Внутри дерева навигации виджет может получить его через BuildContext. Композиция Graph остаётся в корне приложения, поэтому Module не знает, где именно его смонтируют.

ARKTELOS

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