This media is not supported in your browser
VIEW IN TELEGRAM
Навигация
Один из блоков вопросов на iOS - собеседовании - архитектура приложений. При этом почти в любой архитектуре вопросы навигации всегда находятся сбоку от обсуждения. Более того, для навигации разрабатывают свои паттерны. Одними из таких являются координатор и навигатор.
Начиная с SwiftUI 1.0 Apple практически на каждом WWDC рассказывает про работу с MVVM, как будто забывая про роутинг. Да, нам показали
Вместо
Будем честны, многие команды до сих пор используют роутинг на UIKit в проектах на SwiftUI. Даже те, кто пытались разобраться в
#switfpm #howto #getsources #groovy
Один из блоков вопросов на iOS - собеседовании - архитектура приложений. При этом почти в любой архитектуре вопросы навигации всегда находятся сбоку от обсуждения. Более того, для навигации разрабатывают свои паттерны. Одними из таких являются координатор и навигатор.
Начиная с SwiftUI 1.0 Apple практически на каждом WWDC рассказывает про работу с MVVM, как будто забывая про роутинг. Да, нам показали
NavigationView
, NavigationLink
, но не покидало ощущение, что Apple опять представили что-то промежуточное. Многие стали писать свои обертки над этим API, чтобы сделать работу удобнее. И наконец в iOS 16 Apple представили новое API навигации, которое так долго ждали. Вместо
NavigationView
(deprecated) теперь нужно использовать NavigationStack
. Экран для перехода будет определять модификатор navigationDestination
.Будем честны, многие команды до сих пор используют роутинг на UIKit в проектах на SwiftUI. Даже те, кто пытались разобраться в
NavigationView
, в конечном итоге возвращались обратно в UIKit. С появлением нового API навигации такой подход - поворот не туда. С другой стороны, новое API требует минимальный таргет у проекта iOS 16.0 . Что делать? Использовать бэкпорт! Можете создать свой тестовый проект, чтобы поработать с этой библиотекой. Мой сэмпл здесь.#switfpm #howto #getsources #groovy
🔥14👍2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Сделал package для добавления pull-to-refresh на любое View для iOS 14.0 (Apple-овский аналог доступен только для List, начиная с iOS 15.0)
Made the package for marking any SwiftUI View as refreshable, similar to Apple's refreshable(action:) that available from iOS 15 and only in List 🤷🏼♂️.
#swiftpm #groovy #getsources
@swiftui_dev
Made the package for marking any SwiftUI View as refreshable, similar to Apple's refreshable(action:) that available from iOS 15 and only in List 🤷🏼♂️.
#swiftpm #groovy #getsources
@swiftui_dev
👍12❤1👏1