Destinations — это библиотека Swift для UIKit и SwiftUI, разработанная для полного разделения пользовательского интерфейса и управления потоком навигации. Она основана на философии, которая подчеркивает четкое разделение задач, то есть каждый значимый View или UIViewController в приложении не должен знать о других, и то, что пользовательский интерфейс и функциональность должны легко заменяться по мере изменения потребностей. Destinations позволяет вашим пользовательским интерфейсам снова сосредоточиться на пользователе.
- Обеспечивает четкое разделение задач между вашими интерфейсами, источниками данных и другой логикой приложения.
- Позволяет легко заменять пользовательский интерфейс и источники данных для A/B-тестирования или предоставления тестовых моков.
- Сокращает время разработки — предоставляет встроенные реализации для многих типов представления системы, уменьшает объем кода по мере изменения функциональных потоков.
- Обеспечивает удобную возможность глубокой привязки.
- Предоставляет возможность отображать и тестировать разделы ваших приложений изолированно.
- Гибкая и расширяемая система на основе протоколов, соответствующая потребностям вашего проекта, включая пользовательский интерфейс.
- Аналогичный API как для UIKit, так и для SwiftUI, и достаточно универсальный, чтобы обеспечить поддержку других платформ. Поддерживает приложения на основе UIKit и SwiftUI, а также гибридные приложения с контентом SwiftUI, размещенным в контроллерах UIKit.

