Тёмный

MVVM is BAD for SwiftUI - Use MVC Instead! (Yes, MVC) 

Rebeloper - Rebel Developer
Подписаться 26 тыс.
Просмотров 4,4 тыс.
50% 1

Опубликовано:

 

12 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 31   
@rebeloper
@rebeloper Год назад
Stop using Spacer in SwiftUI (and what to use instead) 👉 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-S6bufNjIteQ.html&ab_channel=Rebeloper-RebelDeveloper
@imamad
@imamad Год назад
Thanks for the video. However, you only renamed VM to Controller and moved it in root view. The only point of this video was only a renaming!
@rebeloper
@rebeloper Год назад
Not really. I also touch on some important points about view models. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@smithshaw1151
@smithshaw1151 5 месяцев назад
@@rebeloper Don't get it. What has night mode got to do with MVVM vs MV+C
@sajjadsarkoobi
@sajjadsarkoobi Год назад
Thanks for your videos. There is a big But here. If you define a Controller (ViewModel) as an Environment object, it will always exist in memory. while when you are creating views and mentioning a ViewModel as @StateObject (you add @State, which is wrong for defining a ViewModel or controllers), it will be deinitialized when the view is destroyed. So for enterprise projects, it is a very bad way to create Controllers(ViewModels) as an environment object.
@Andrew-7324
@Andrew-7324 Год назад
Apple deprecated @StateObject
@sajjadsarkoobi
@sajjadsarkoobi Год назад
@@Andrew-7324 Take a look at apple documentation for @StateObject, and also used cases and samples. It is not deprecated.
@rebeloper
@rebeloper Год назад
I am using Xcode 15 therefore @StateObject is now @State I recommend using a controller only when you want to share resources between views. It's the cleanest way of doing it. If the data is tied to a view I suggest ( not using a view model) using @State on the view only. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@sajjadsarkoobi
@sajjadsarkoobi 11 месяцев назад
@@rebeloper Apple documentation: If you need to store a reference type, like an instance of a class, use a StateObject instead.
@iLoveAppl3947
@iLoveAppl3947 3 месяца назад
@@sajjadsarkoobi @StateObject has been replaced by @State now
@MaccabeeCaptain
@MaccabeeCaptain Год назад
so if UserController was renamed UserViewModel how is that any different than MVVM?
@yourbestsail
@yourbestsail Год назад
I think the only difference is not making it fileprivate strictly bounded to the view, but available everywhere. I do not see any other difference apart from the use of the Environment. Nevertheless I think that in more complex cases is necessary that a View has its specific ViewModel.
@MaccabeeCaptain
@MaccabeeCaptain Год назад
@@yourbestsail just find it a bit amusing considering the clickbait title I guess..
@yourbestsail
@yourbestsail Год назад
@@MaccabeeCaptainActually I did not understand either what’s the real big deal with this. It looks to me that this is not even a general architectural pattern like MVVM. But it may just be because I am not such a super expert…
@rebeloper
@rebeloper Год назад
View models should be used on views only. If you need to share data between views use a Controller. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@rebeloper
@rebeloper Год назад
Yes, in complex cases.
@Soleusgaming
@Soleusgaming Год назад
I think people are already using mvc like when passing data through screens we initialise in the main file and pass it as environment .
@rebeloper
@rebeloper Год назад
Agreed. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@casadogaspar
@casadogaspar Год назад
Correct me if I'm wrong, but it's an easier way to Composition Root? I do it in UIKit creating factories in the AppDelegate, it's the same effect?
@rebeloper
@rebeloper Год назад
Sorry, I don't really understand your question. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@jcpazos65
@jcpazos65 Год назад
Hi, like you explanation, sure you are going to receive a lot of comments regarding the importance of MVVM because for large projects, and stuff like that. At the end I really support your comments regarding that no problem in put Business logic in the View, because at the end the MMVM file it has to be related to the view so not difference. You approach to use MVC is great.
@rebeloper
@rebeloper Год назад
Couldn't have said it better myself. The cleaner the architecture, the better. MVVM adds too much cluttter. Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@natgenesis5038
@natgenesis5038 8 месяцев назад
I totally disagree
@rebeloper
@rebeloper 8 месяцев назад
Why is that? Can you explain?
@rodionov_av
@rodionov_av Год назад
It's MV architecture. NOT MVC!
@rebeloper
@rebeloper Год назад
While some views can get away without the controller, there will be at leas one controller in your app, therefor MVC it is :) Next watch Mastering SwiftUI's Night Mode: Unlock Next-Level App Design 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Qm1Sf0oOwfI.html&ab_channel=Rebeloper-RebelDeveloper
@tenminutetokyo2643
@tenminutetokyo2643 7 месяцев назад
MVVM is garbage
@rebeloper
@rebeloper 7 месяцев назад
In most complex cases it is. Next watch SwiftUI Navigation Made Easy: Harnessing the Magic of Enums 👇 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-do4uZBXP6bc.html&ab_channel=Rebeloper-RebelDeveloper
Далее
Why You Should Use The SwiftUI Coordinator Pattern
18:45
STOP Using MVVM with SwiftUI
18:30
Просмотров 16 тыс.
Вопрос Ребром - Булкин
59:32
Просмотров 1,1 млн
ДЖЕФ  ЕЩЕ ПОМОГАЕТ!
09:37
Просмотров 365 тыс.
Dependency Injection in SwiftUI, the Best Pattern
14:55