Deeplink Manager по SOLID принципам
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.
group-telegram.com/iosmakesmehate/3012
Create:
Last Update:
Last Update:
Deeplink Manager по SOLID принципам
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.
BY iOS Makes Me Hate


Share with your friend now:
group-telegram.com/iosmakesmehate/3012