Swift Heroes 2023 - Highlights
1:45
Пікірлер
@akashskumar6389
@akashskumar6389 24 күн бұрын
this was pretty good, and examples were spot on
@waheedafolabi6929
@waheedafolabi6929 Ай бұрын
I so much love ❤️ this. Is the code 👨‍💻 available?
@francemusic5425
@francemusic5425 2 ай бұрын
Well this does not aged nicely, you all went hybrid and mix concepts of viewModel with Redux and seems like a lot of this copied from TCA which is by far more mature. I don't understand what's the point of using this since it's not performant as TCA or maintained at the level.
@MegaClover007
@MegaClover007 2 ай бұрын
Yo this is 🔥
@SwiftHeroes
@SwiftHeroes 2 ай бұрын
thank you Alex, don't miss your talk when it comes out 👀🏆
@Libranner
@Libranner 2 ай бұрын
🔥🔥🔥 Give the person making these edits a raise!
@fatihkagan4394
@fatihkagan4394 2 ай бұрын
As an iOS developer, I greatly appreciate designers because they enhance the visual appeal of the app far beyond what I could achieve on my own. It's unreasonable to expect designers to adhere strictly to a predefined set of colors, shapes, and styles without allowing for future changes. Just as we developers seek to update technologies, architectures, and tools, designers should be able to follow the latest trends and experiment with different styles. This is all part of owning the product. I believe we must respect designers' work. Just as you wouldn't appreciate a designer dictating how to write your code, it's important to value their expertise and decisions. Of course, provide feedback and discuss various aspects, but ultimately, respect their professional judgment.
@SwiftHeroes
@SwiftHeroes 2 ай бұрын
yes, it's important to remember, we all agree with you 💯 🏆
@gus_gus_
@gus_gus_ 2 ай бұрын
Dear, I am interested in using NFC technology to open doors in both my home and office. Is this possible? My plan is to implement hardware such as the PN532 on the doors and then develop an app using Swift to utilize NFC. However, I have encountered some issues, and it doesn't seem to be working as expected. Additionally, I attempted to add my key to Apple Wallet, but it only allows adding NFC cards from banks or transportation services, not personalized ones. Could you please provide guidance on how to successfully implement these solutions? Thank you for your assistance.
@SwiftHeroes
@SwiftHeroes 2 ай бұрын
Let's try to contact the speaker to get you an answer, we hope he can, wait there 😉
@simonemutti3911
@simonemutti3911 Ай бұрын
Hi @gus_gus thank you for the question. Sure it's possible to open the door using the NFC by the way there are some limitations you need to take into considerations and these depends on your hardware and implementation. Using the Apple Wallet unfortunately is really limited and as you cannot add your card to the wallet unless you are a bank or other services. let me know if you need more help.
@tbg6nb
@tbg6nb 3 ай бұрын
19:32 I am still not getting it. What is the benefit of the entire environment stuff over using "var clearButtonHidden = true" inside the TextInputField and passing "false" two times in the init ?
@ThierryZanzouri
@ThierryZanzouri 3 ай бұрын
Useless complexity !
@techsuvara
@techsuvara 4 ай бұрын
Hi, there. As mentioned previously here is the first part to an architecture we feel is very well suited to mobile apps: kzfaq.info/get/bejne/eZNnpLVhx5jJYGw.htmlsi=lHkm8Fi1KpZyrjRH
@phukieu4238
@phukieu4238 4 ай бұрын
A question doesn’t relate to the topic, but I saw you inject service instance in Login View, so what is responsibility of LoginViewModel? It just keep state of Login View, right? 33:08
@petersuvara
@petersuvara 4 ай бұрын
Thanks for sharing. Just like Redux, there are major issues with large complex projects where you need multiple pipelines to deal with data and sources of data. Ie, Transports like BLE, WLAN, Sockets, HTTP etc... Where do services, use cases and repositories fit into this model? Events are great, but I've seen projects where there are hundreds of events as side effects with no thought as to the domain of the event... We have a better way to do architecture. I will need to post a video about it.
@enzocorsiero1627
@enzocorsiero1627 4 ай бұрын
Thank you for your comment. Our app has been using Molecule for some time. The biggest challenge we found in using it was allowing it to communicate with our old architecture, always based on Redux. In fact, we are working to eliminate it completely and use Molecule exclusively. Our main project uses 1013 SideEffects across 279 files, managing tasks including NFC, HTTP, and Sockets, so I would say it's extensively tested. I'm intrigued by your alternative approach and open to learning from it. I'd appreciate watching your video on this topic and am keen on discussing any concerns or ideas further, I think that it would be a very interested discussion.
@petersuvara
@petersuvara 4 ай бұрын
@@enzocorsiero1627 I’ll release the video this weekend, in three sections, the view, domain and services layers.
@techsuvara
@techsuvara 4 ай бұрын
@@enzocorsiero1627here’s the first part of what I am describing kzfaq.info/get/bejne/eZNnpLVhx5jJYGw.htmlsi=lHkm8Fi1KpZyrjRH
@enzocorsiero1627
@enzocorsiero1627 4 ай бұрын
​@@petersuvara Thank you. Is it the video linked by techsuvara?
@marcnunes6916
@marcnunes6916 4 ай бұрын
I struggle to understand most Swift Heroes videos. Mostly watching the videos and not understanding words.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Hi marc, could the subtitles help you? 🔎
@danielpetrascanu3166
@danielpetrascanu3166 4 ай бұрын
In the future editions, please bring speakers that can speak a better english.
@akiyuki3783
@akiyuki3783 4 ай бұрын
I'm speaker of this session. Thank you for commenting! I knew my English is not good so I made my Keynote session more easily to understrand without my speaking. I also uploaded it to SpeakerDeck so please see it if you are still interestedn in my topic. All feedback are welcome! Yuki
@twostraws
@twostraws 4 ай бұрын
One of the wonderful things about our community is that we can benefit from the knowledge and perspectives of folks from such a wide variety of backgrounds, including Yuki. English is not his first language, but he's gone out of his way to prepare this fantastic talk and deliver it live on stage. He's also shared his deck so you can review the slides at your own pace, and provided links to various WWDC talks with further details. This takes an extraordinary amount of work, and also an extraordinary amount of bravery to do it all in English, so I'm grateful to Yuki for that work, and I appreciate all the time and effort he put in to share his knowledge with the rest of us 🙌
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
@@twostraws Totally agree, thanks for your opinion🙏🏻
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
@@akiyuki3783 Thank you Yuki, you did your best to bring us this talk and try to impart a lot of knowledge to us, this is what we need. People who do their utmost to share their experience with the community 💯✨
@chesterman18g
@chesterman18g 3 ай бұрын
@@akiyuki3783 Thank you for an amazing talk! I think that this topic is not covered by many, because it's hard to understand it really good. Great work! thanks again :)
@ek-bhartiya-nagrik
@ek-bhartiya-nagrik 4 ай бұрын
Thank you for putting all the efforts to make this available on KZfaq.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
our first objective is to bring valuable knowledge to the developers who participate in our events, the second is to be able to communicate it to the entire community that follows us on social channels after the event 💎
@RohitPatil_Tech
@RohitPatil_Tech 4 ай бұрын
Great video Zamzam! Gives a really good picture to help chose/not to chose SwiftUI for upcoming production projects.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
really helpful 💎
@DD-ds7ui
@DD-ds7ui 4 ай бұрын
thanks!
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Welcome! 🧡
@nekkumies
@nekkumies 4 ай бұрын
Sounds like a very interesting topic, but had to stop watching after 10s because of the excessive editing. Very hard to watch when there are all the natural pauses removed from the video.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Sorry about that, the initial hook is like that, but the rest of the video is very fluent
@paulo.mendes
@paulo.mendes 4 ай бұрын
starts at 0:55
@ek-bhartiya-nagrik
@ek-bhartiya-nagrik 4 ай бұрын
I think this is a better approach for creating useful components which are reusable too
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
really useful 💎
@DevSibonelo
@DevSibonelo 4 ай бұрын
Grear video, lots of value add
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Only the best at our events 🔥
@vinayakpaul2251
@vinayakpaul2251 4 ай бұрын
Too good
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Thank you, don't miss other talks 👍
@b-nr6oeb
@b-nr6oeb 4 ай бұрын
😮
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
good?
@b-nr6oeb
@b-nr6oeb 4 ай бұрын
@@SwiftHeroes yea
@ek-bhartiya-nagrik
@ek-bhartiya-nagrik 4 ай бұрын
This is a very interesting and helpful talk. Thank you for sharing.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Glad it was helpful! Enjoy all the other talks 🚀
@denisenathen8502
@denisenathen8502 4 ай бұрын
*promosm*
@ek-bhartiya-nagrik
@ek-bhartiya-nagrik 4 ай бұрын
This is an amazing talk. Thanks for sharing this with us.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Glad you enjoyed it! Go to see the other talks 💪
@erfanoshana
@erfanoshana 4 ай бұрын
30 minutes to say SwiftUI is great? Everyone knows it after 5 years :D
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
come on, those are some interesting reflections 👀
@user-bn1to5jh3x
@user-bn1to5jh3x 4 ай бұрын
What did I just see? Is this some sort of a joke?
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Why?
@iharandreyev2497
@iharandreyev2497 4 ай бұрын
@@SwiftHeroes Do I get it correctly: the proposed solution aims at old and large codebases, when mistakes have already been made, but migration to SPM for modules with multiple project repo for each platform is too expensive?
@scs408
@scs408 4 ай бұрын
Audio is really bad
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Unfortunately in this room we had a small problem... but is it clear in your opinion?
@otniel2663
@otniel2663 5 ай бұрын
This architecture was relevant in the React community a while ago (Redux), but the trend seems to be moving towards simpler architectures like react-query, hooks, etc. I am not sure if the iOS engineering community will follow the same path, as the problem is universal across FE development (state management is complex)
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Interesting observation, we asked Krzysztof to reply to you 😉
@rodriferretty3001
@rodriferretty3001 4 ай бұрын
Really interested about this point!
@Stricken174
@Stricken174 5 ай бұрын
i dont see any benefits of extract to functions, except when where is a switch. Extracted Text with modifiers doesnt make sense because its the same view with the same specs but with more lines of code.
@SwiftHeroes
@SwiftHeroes 4 ай бұрын
Interesting observation, we asked peter to reply to you 😉
@PeterFriese
@PeterFriese 4 ай бұрын
Keep in mind this is mostly to demonstrate the technique, so the example is deliberately simple. There are many cases where this makes sense and will make your code more maintainable.
@Stricken174
@Stricken174 4 ай бұрын
​@@PeterFriese acceptable) Don't think that I'm underestimate you) Common situation when extracting subviews is extracting them with all modifiers inside. So you're actually cant reuse it in the most cases. Designers nowadays can be the pain in the.. you know)
@devopsthinh
@devopsthinh 5 ай бұрын
Thanks, from Vietnam 😊
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Wow, we are on the other side of the world 😄
@protodimbo
@protodimbo 4 ай бұрын
@@SwiftHeroesI'm also watching from Vietnam 😁
@vinodbhaskar6927
@vinodbhaskar6927 5 ай бұрын
Great presentation, as an iOS developer, I wish to work under your leadership
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
She's brilliant 😄
@Rither88
@Rither88 5 ай бұрын
I was surprised by the dissatisfaction with the timer and the frequent updating of the view. The code does what suppose to do and actually doing that pretty well with hi performance. If you update elapsed time value every second in a loop and display this value in a text view then obviously the Time View with all subviews will refresh every second. Just because it is a struct and its state was changed. At first glance it could sounds scary. However SwiftUI is pretty smart, it checks state of each subview and redraw only view where it's own state was changed. Of course there are a number of criteria that must be met such as avoiding AnyView etc. So if you understand how SwiftUI view lifecycle works it stops being something scary.
5 ай бұрын
Nice "input" 👏
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Thanks! 😃
5 ай бұрын
👏👏👍
@iLoveAppl3947
@iLoveAppl3947 5 ай бұрын
Why do we have so many speakers nowadays. I'm not talking about her because she knows what she doing but there's so many scammers trying to sell a copy paste course
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Because the business of online course is too easy to scale, pay attention to the experience of those who teach, an excellent principle is to see concretely how long they have been doing what they teach. Our speakers are all carefully selected, you will never find a scammer 😉
@30guarino
@30guarino 5 ай бұрын
I love that name....ZAMZAM
@chesterman18g
@chesterman18g 5 ай бұрын
very good talk, Thank You Peter!
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Glad you liked it! 🧡
@ognerub
@ognerub 5 ай бұрын
Бурунов докладывает 🔥
@Carlos.Damiao
@Carlos.Damiao 5 ай бұрын
I agree with most of the concepts you’ve talked about, and I’m definitely grateful to you for bringing value to the community. However, correct me if I’m wrong but it seems like you guys are using an anti-pattern called Service Locator, which basically is global shared state to implicitly inject dependencies. This talk has 2 years, so maybe this was already addressed, but I would feel very uncomfortable in using a Service Locator in all of my services. Service Locator has many problems, one of the biggest in my opinion is the lack of errors at compilation time. I much prefer using dependency injection through the initializer. I would say that a true level 4 app done correctly doesn’t need this sort of global shared state to achieve its needs. I was also not convinced by your approach to navigation. But I would have to look at concrete cases to be able to see how you approach for example injecting data that is only available at run time. Being able to control navigation from BE is cool though.
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Thanks for sharing your view, it's interesting 🧐
@alexl2512
@alexl2512 5 ай бұрын
Love this talk. This is a classic problem.
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
thanks, what problem do you mean?
@alexl2512
@alexl2512 5 ай бұрын
@@SwiftHeroes OO Interview question: Design the elevator system.
@olegmyatlikov
@olegmyatlikov 5 ай бұрын
Thanks for the report Peter Friese! Very useful tips. I faced the same problems when I refactored my project from UIKit to SwiftUI. I wish this report was available when I did this. The report would save me a lot of time :)
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Thanks for sharing! 👍
@caldera726
@caldera726 5 ай бұрын
Great video! I'm curious, is there a particular reason for not using a viewModel? Wouldn't this result in tighter coupling of Views, potentially reducing their reusability?
@PeterFriese
@PeterFriese 5 ай бұрын
Hey @caldera726 - which part of the video are you referring to?
@trungnguyenthanh9233
@trungnguyenthanh9233 5 ай бұрын
Nice
@FelipeBorges-ys1pl
@FelipeBorges-ys1pl 5 ай бұрын
Excellent content, Bruno. About the end, I'm gonna quote someone whose name I forgot: "The good software architect is a master at deferring big decisions and leaving options open". So while we shouldn't be doing rocket science within a newborn app, we should definitely be careful with how we're designing our small app now as to not make everyone's lives extra hard when we finally need some restructuring. ;)
@ImTheShrey
@ImTheShrey 5 ай бұрын
We use Reactor Kit in our app with 200K daily active users. It's basically TCA philosophy with Per screen state store. And then on each view only updating if it's required slice within the state is mutated.
@rohitsainier
@rohitsainier 29 күн бұрын
Hi @ImTheShrey do you have sample repo to learn your approch here
@blaze.1436
@blaze.1436 5 ай бұрын
Super interesting talk!
@SwiftHeroes
@SwiftHeroes 5 ай бұрын
Glad you enjoyed it 🧡
@isurujn
@isurujn 5 ай бұрын
I used to be a native zealot for the longest time 😅 But I got a taste of Flutter at my last job. Now I'm in the more middle ground mindset where I think each tool/technology has its place and it largely depends on a various set of needs and requirements. In other words, I think Flutter has its uses and neither Flutter won't replace native and vice versa. Having seen how Flutter has matured in the short period of time, I do honestly think SwiftUI has a lot of catching up to do. These slow once in a year release cycles are really hurting native iOS devs.
@user-np8mu3yh1t
@user-np8mu3yh1t 6 ай бұрын
Someone make this guy a CEO!
@user-np8mu3yh1t
@user-np8mu3yh1t 6 ай бұрын
Someone make this guy a CEO!!!
@SwiftHeroes
@SwiftHeroes 6 ай бұрын
😂😂😂