TGViewer
YDC — Pizza Powered iOS YDC — Pizza Powered iOS @youngdacode · 241 subscribers
Post #171 952
😄 Статья CoordinatorKit 2.0: Production-Ready SwiftUI Navigation это пример честного разбора автором своих же ошибок. Можно даже сказать, пост-мортем. В противовес многочисленным “hello NavigationStack”, в ней хорошо объясняется, почему нативные SwiftUI-паттерны ломаются и даёт идеи, которые можно заимствовать даже без внедрения фреймворка или использовать как основу собственной навигационной архитектуры.

На самом деле сделать фреймворк навигации, который будет удобным для использования и гибким для переиспользования под разные продуктовые кейсы это невероятно сложная задача. В больших проектах никуда без диплинков, сложных навигационных кейсов типа логин/логаут или внезапных кросс-фичовых переходов. Отдельного внимания заслуживает обработка жестов вроде смахнуть/свайпнуть экран, а точнее запретить это сделать для отдельных продуктовых случаев.

Между первой и второй версией фреймворка виден невероятный разрыв. Аналогично, первая статья выглядит как наивная попытка сделать все легко, чисто и по правилам паттерна. А вторая статья это уже полноценный инструмент, набравший силы, повидавший требования и изменчивость продакшна.

Топ "неожиданных" инсайтов:

❌ SwiftUI navigation не production-ready из коробки.

🍋 Достаточно больно жить без контроля над жестами, над root-экраном и над состоянием стека.

🐸 Coordinator-паттерн остаётся актуальным, но должен быть интегрирован глубже, должен быть concurrency-safe и должен перехватывать жесты, а не реагировать пост-фактум.

✈️ Навигация, по своей сути, ближе к бизнес-логике, чем к деталям UI.

📎 GitHub: CoordinatorKit

#D #Arch #Navigation #Coordinator #SwiftUI

👏
Medium CoordinatorKit 2.0: Production-Ready SwiftUI Navigation How I transformed a simple coordinator pattern into a robust framework with gesture control, root management, and bulletproof concurrency…
More from @youngdacode
  1. Mar 4, 2026☝️ 🚀 Как MCP-аналитика помогает AI-агентам кодирования принимать более «осознанные» решен…
  2. Feb 16, 2026☝️ В прошлом посте мы говорили про клиент-серверное взаимодействие: API, REST, запрос-отве…
  3. Feb 15, 2026☝️ 📦 Размер приложения — это не просто цифра в App Store Размер приложения напрямую влияе…
  4. Feb 13, 2026😏 Разберём разницу между some View и AnyView в SwiftUI. Тема не новая, но споры о правиль…
  5. Feb 9, 2026Вечернее-занимательное чтение. Пишет iOS разработчик с опытом, обзор на пост от iOS разраб…
  6. Feb 9, 2026😏 Снова громкий заголовок – «Combine умер?», решил коротко разобрать статью и понять прич…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →