SwiftUI+Combine Q&A: Will it change the way you build iOS apps? | iOS Lead Essentials Podcast #022

preview_player
Показать описание
Have you ever wondered how SwiftUI and Combine will change the way you architect, test, and build your iOS apps?

So this podcast is for you.

In this episode, we reply to nine questions and discuss the impact Apple's new frameworks have on our daily work. Including:

- "What do you think about SwiftUI?"

- "Have you been using SwiftUI in production?"

- "I've been watching your YouTube videos on iOS architecture using UIKit, and I wonder how SwiftUI would change the way you designed the overall architecture of your apps. What would be different?"

- "You said it should be easy to replace a UIKit layer with SwiftUI. But I don't think it can be that easy. For example, your models need to change to conform to the `ObservableObject` protocol. So will SwiftUI + Combine change the way we architect, test, and build iOS apps?"

- "How will SwiftUI+Combine change the way you write tests or do TDD?"

- "As someone who's starting now, should I focus only on SwiftUI or learn how to use Storyboards and UIKit?"

- "How to decouple navigation between screens in SwiftUI?"

- "I separated my iOS app into layers, but I don't know where to place the navigation logic. Should the navigation logic be part of the business logic modules or the UI modules that talk to frameworks like SwiftUI/UIKit/AppKit?"

- "Where is Combine in the picture of a clean architecture? I know that frameworks are details, and they have to be separate from business logic, but how can I take advantage of the brand new data publisher of URLSession if it is not using a passing around the publisher?"

- "How SwiftUI influences the selection of a UI pattern? In my opinion, Apple released SwiftUI with MVVM in mind. Will MVVM be the new MVC in iOS apps?"

We highly suggest you watch or listen to this podcast to learn how to fit SwiftUI and Combine in your new or existing projects and be ready to take advantage of future updates and improvements.

Like and share this content with someone that you believe will benefit from it. See you in the next episode.

3 Steps to Prepare Your Apps for SwiftUI, Combine, iPadOS, Project Catalyst, and Any Other Leaps in the iOS Industry↴

iOS, Swift & DI: The antidote to legacy code and stagnant careers | iOS Lead Essentials Podcast #003↴

iOS Automated Testing Strategies Q&A (Unit, Integration, UI...) | iOS Lead Essentials Podcast #013↴

How to Build iOS Apps with Swift, TDD & Clean Architecture series↴

Caio & Mike's Book Suggestions ↴

---

Subscribe to our channel ↴

You can also find us on ↴

Caio ↴

Mike ↴

Join the iOS Lead Essentials program ↴

Visit our website ↴
Рекомендации по теме
Комментарии
Автор

Guys, this is totally dope! And l like you way to repeat about "decoupling". Most of the developers asking about question about frameworks rather than understand basics in SOLID, and how to do actually decoupling and what does it mean at all. So I like the culture to teach solid of SOLID :-) and understand Design Patterns, and frameworks are secondary always just like instruments.

IngviMcFly
Автор

Just wanted to ask a question, I think there is big change on how navigation works as well (if using pure SwiftUI), so I'm not sure how to approach this problem. Because the views then gets coupled somehow with navigation, or views gets coupled with other views that it doesn't use (navigationlink for example). Or maybe I'm missing something. Is router/coordinator still valid? I've read articles that says they aren't compatible anymore in pure SwiftUI. Can you do a sample on how to make dynamic navigation with SwiftUI?

leiniel
Автор

I miss one thing regrading switching from UIKit to SwiftUI. Assuming you're using MVVM for UI layer - since ViewModels are decoupled from Views (UIViews, ViewControllers) I feel like it would be desirable to reuse them, but I find it hard to achieve. Same as it's hard to share same ViewModel between iOS and MacOS apps. Are ViewModels reusable, so we can share single ViewModel between SwiftUI and UIKit, or can we threat them as designed for specific views?

tomaszzaoga