Часть вторая серии обсуждает Trio, архитектуру Airbnb на основе Compose для Android. Trio упрощает навигацию, храня Trios в состоянии ViewModel, что позволяет легко контролировать навигацию. ViewModel может обновлять данные и навигацию в одном месте, делая возможными асинхронные изменения навигации. Навигационная стек моделируется цепочками ViewModel и их состояний, создавая соответствующую иерархию Compose UI. Trios могут представлять разные элементы пользовательского интерфейса, включая вложенные экраны и разделы. Модульная структура включает в себя модули функций, содержащие экраны Trio и модули навигации, определяющие маршруты. Маршруты обеспечивают типовую безопасность и уменьшают циклические зависимости. Класс Router помогает создавать экземпляры Trios и создавать намерения для запуска новых активностей. При запуске Trios в новых активностях экземпляр Trio извлекается из намерения и отображается в контенте активности. Система навигации Trio поддерживает запуск активностей для результатов с помощью типов Result в маршруте.
medium.com
Introducing Trio | Part II
