Building REUSABLE SwiftUI components - Peter Friese | Swift Heroes 2023 Talk

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 22

  • @olegmyatlikov
    @olegmyatlikov 10 месяцев назад +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  10 месяцев назад

      Thanks for sharing! 👍

  • @phukieu4238
    @phukieu4238 9 месяцев назад +2

    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

  • @chesterman18g
    @chesterman18g 10 месяцев назад +2

    very good talk, Thank You Peter!

    • @SwiftHeroes
      @SwiftHeroes  10 месяцев назад

      Glad you liked it! 🧡

  • @MrKhanLabRunner
    @MrKhanLabRunner 3 месяца назад +1

    Would love to see how to unit test this environment logic

  • @caldera726
    @caldera726 10 месяцев назад +3

    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 10 месяцев назад +2

      Hey @caldera726 - which part of the video are you referring to?

  • @tbg6nb
    @tbg6nb 8 месяцев назад +1

    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 ?

    • @cordlc
      @cordlc 4 месяца назад +1

      I think your method would force a default of "true," while the environment method can have any "default" in any given scope

  • @waheedafolabi6929
    @waheedafolabi6929 6 месяцев назад

    I so much love ❤️ this. Is the code 👨‍💻 available?

  • @trungnguyenthanh9233
    @trungnguyenthanh9233 10 месяцев назад +2

    Nice

  • @ihorzhukov
    @ihorzhukov 5 месяцев назад

    What is the reason to use environments, but not init with default values for a custom TextField? Just to have the same init as an original TextField? I mean anyway you have to not just substitute one line TextField on TextInputField in this case.

  •  10 месяцев назад +1

    Nice "input" 👏

  • @Stricken174
    @Stricken174 10 месяцев назад +4

    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  10 месяцев назад +1

      Interesting observation, we asked peter to reply to you 😉

    • @PeterFriese
      @PeterFriese 10 месяцев назад +3

      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 10 месяцев назад

      ​@@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)

  • @thisissergo5874
    @thisissergo5874 Месяц назад

    If you put reusable components everywhere you will be confused very soon, it is better to keep simplicity and don't overcome with a lot of functionalities

  • @SeveSands-ey9he
    @SeveSands-ey9he Месяц назад

    🥱