Swift News - WWDC '24, MVVM Dead?, App Sound Design, 1 Star Reviews, Indie Dev & More

Sdílet
Vložit
  • čas přidán 30. 05. 2024
  • Swift News is a monthly show where I showcase the latest news, blog posts, videos and more from the world of iOS development and Swift.
    App Masters CZcams Channel:
    / @appmasters
    All Links are kept here -Swift News GitHub Repo:
    github.com/SAllen0400/swift-news
    My new SwiftUI Course (HealthKit, Swift Charts & Git/GitHub):
    seanallen.teachable.com/p/por...
    In this episode I cover:
    - WWDC 2024 Dates
    - Apple Developer CZcams Channel
    - App Masters CZcams Channel
    - MVVM Replacement
    - Sound of Software
    - Lickability Design Breakdown - Journal App
    - 1 Star App Reviews - Get Rid of Them
    - Are You a Trader?
    - Indie App Purpose
    - And more!
    My iOS Dev Courses:
    seanallen.teachable.com/
    My Source Code:
    seanallen.teachable.com/p/sou...
    X (Twitter):
    Sean Allen - / seanallen_dev
    Hired.com:
    hired.com/x/1n01g
    Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):
    Mark Moeyken’s SwiftUI Books:
    www.bigmountainstudio.com/a/f...
    Paul Hudson's Hacking With Swift:
    gumroad.com/a/762098803
    RocketSim - Enhance Your Xcode Simulator:
    gumroad.com/a/51797971/ftvbh
    Objc.io Books (Thinking in SwiftUI & Advanced Swift):
    gumroad.com/a/656585843
    Timestamps:
    0:00 - Announcement
    0:27 - WWDC 2024
    1:02 - Apple Developer CZcams
    1:31 - App Masters
    2:59 - MVVM Dead?
    7:15 - Sound of Software
    10:21 - Lickability App Design Breakdown
    11:53 - 1 Star Reviews - Get Rid of Them
    12:36 - Are You a Trader?
    14:04 - Indie App Purpose
    15:54 - Masters Vision Pro
    #swift #softwaredeveloper #iosdeveloper
  • Věda a technologie

Komentáře • 83

  • @vinidotco
    @vinidotco Před měsícem +24

    I'm simple person, see a new Swift News video and gave a thumbs up
    thanks Sean

  • @mikelCold
    @mikelCold Před 8 dny +1

    I called this on the first release of SwftUI and the people over at stackoverflow went nuts with MVVM. Good to see that I always knew MVVM was going to be bad.

  • @FloWritesCode
    @FloWritesCode Před měsícem +3

    Great episode, Sean! Thanks for sharing the idea of avoiding MVVM as well. I think all the recent Observation, SwiftData & SwiftUI releases made this simple architecture even better.

  • @ToddHoff
    @ToddHoff Před měsícem +7

    With SwiftData, because model objects are observable, it's natural to make one object for everything. This works well, I think, even though it goes against historical practice.

    • @ToddHoff
      @ToddHoff Před 28 dny

      Ok, the obvious negative showed up when I needed to use the models in a widget. Including the view code with the model brings *way* too much stuff from the app into the widget. My new approach is to put minimalist models in a common framework that can be linked to both the app and widget. Then each target adds extensions for the views in that target. My initial experiments were positive with this approach. Is there a better way?

  • @srzurka
    @srzurka Před měsícem +3

    Thank you Sean. That was very informative. I always appreciate when you unpack the reasons behind your perspective.

  • @pkhkp
    @pkhkp Před měsícem +14

    Yeah, coupling your view with logic and services, what could go wrong ? It goes against having small views that have no responsibility other that displaying stuff. Seems very, very wrong, even occasionally. I'm refactoring this kind of stuff almost daily.

    • @gregorymoore2877
      @gregorymoore2877 Před měsícem +4

      You mean you can't make your views smaller by moving code into them that should have been in the view model? 🤯

  • @filip_hood
    @filip_hood Před měsícem +1

    Great vid Sean! Thanks for all the info! I'm trying to focus more on actually "doing things" instead of spending my time on social media, so this sum up of what people are talking about and what's new is just great. Keep it up! :)

    • @V100X
      @V100X Před 25 dny

      Same here 🙌🏼

  • @5richmedia5
    @5richmedia5 Před měsícem

    I've tried to build iphone apps in xcode, but every time I launch it on my imac it takes minutes for xcode to launch and load, I get frustrated, is there any way to speed up xcode? My imac is from 2019.

  • @user-ic8rm2zf7v
    @user-ic8rm2zf7v Před měsícem +1

    Thanks Sean for all the content

  • @captainmichaelj2321
    @captainmichaelj2321 Před měsícem +1

    Thanks for this, I love this content, I am hoping you can continue this if your time permits.

    • @seanallen
      @seanallen  Před měsícem

      Since it's only once per month, I will definitely continue Swift News. At least through the end of 2024, then we'll reassess. But so far it's been very well received.

  • @JohnGers
    @JohnGers Před měsícem +4

    You mentioned you don’t know what to call this architecture, from a quick glance it seems similar to a Flux pattern but with the functions that would be in your store instead being called from the view. Which might be a little dangerous because you’re coupling your views to the frameworks/components the store needs to perform what it needs but that’s a fairly easy problem to solve with proper dependency inversion. Apple likes to use this Flux style pattern in a lot of their examples too and it’s going to be even more enabled with the Observation framework. Pretty much any architecture that has a unidirectional style data flow seems to work really nicely in SwiftUI at least in my experience.

  • @AJ-vy3ei
    @AJ-vy3ei Před měsícem +1

    Love the episode, thanks for your work

  • @vamsi3877
    @vamsi3877 Před měsícem +1

    Thanks Sean 👏

  • @WestCoastAce27
    @WestCoastAce27 Před měsícem +1

    Great info as always; esp how to dispute (and hopefully eliminate) 1 stars. But it would be nice if Apple put a little AI into the review process. A 1 word ‘junk’ review gives a dev nothing to go on. Should be an easy coding exercise to verify that a review has some content/context and isn’t just from a rival.
    PS - congrats to all WWDC attendees. Have fun; be safe.

  • @victorioborge
    @victorioborge Před měsícem +1

    Great video as always! Swift News is my favorite source of news.
    Which software do you use to create the 'laser pointer' while you talk?

    • @seanallen
      @seanallen  Před měsícem

      Not sure what you're referring to. I'm just recording my screen with Safari open and highlighting parts of text with my mouse.

    • @victorioborge
      @victorioborge Před měsícem

      @@seanallen I just realized that the video I mentioned is from App Master not you, I got confused, sorry! lol

  • @kslazinski
    @kslazinski Před měsícem +1

    I was mentioned! 🤩 Thanks, Sean! 😀

    • @seanallen
      @seanallen  Před měsícem

      Thanks for sharing that tip!

  • @avivfrenkel7802
    @avivfrenkel7802 Před měsícem

    Quick questions because i did do some MVVM with SwiftUI and combine and it did seem pretty natural especially when using @published variables.
    1. How do you inject the SwiftUI environment variables into a unitest?(not well versed in SwiftUI environment variables).
    2. doesn't the fact that the business logic sits inside the SwiftUI file hinder unitests?
    Im not saying MVVM is the optimal in any situation, but the architecture you described in the video seems to have a lot of issues when a developer will want to test it.

  • @gregorymoore2877
    @gregorymoore2877 Před měsícem +1

    I was thinking of writing an article. The title I have is "When To Add Sound To Your App." "Never" is as far as I've gotten.

  • @silver10188
    @silver10188 Před měsícem +1

    awesome thank you

  • @szymusxd94
    @szymusxd94 Před 28 dny

    This Vision pro concept for sport is amazing as hell

  • @leifashley
    @leifashley Před 24 dny

    Between the EU trader qualifications and the privacy nutrition labels, feels like it's overly hard/er just to publish an app with some ads to make some money.

  • @ChadGaul
    @ChadGaul Před měsícem +3

    “Bibbity boops and bops” 😆 Ah good stuff, Sean.

    • @seanallen
      @seanallen  Před měsícem +2

      That’s the official term.

  • @victorriurean
    @victorriurean Před měsícem +1

    🔥

  • @theracereviewer29
    @theracereviewer29 Před měsícem

    I think TCA is quickly becoming the next big way to architect SwiftUI apps. Have you looked into that? Did a quick search on your channel for it but couldn't find anything.

    • @seanallen
      @seanallen  Před měsícem

      I've researched it a little, but haven't built anything with it. I don't know enough to have an opinion on it.

  • @mortezafaraji479
    @mortezafaraji479 Před měsícem +1

    Babe Wake up!!! Swift News just dropped!!!

  • @mario_luis_dev
    @mario_luis_dev Před měsícem +6

    Ugh the EU getting their nose everywhere on ppl’s business is just getting out of hand. Each and everyday i convince myself more and more that Brexit wasn’t such a terrible idea after all

    • @seanallen
      @seanallen  Před měsícem

      It's annoying, that's for sure.

  • @kironet
    @kironet Před měsícem +3

    MV is cool and so, but how the hell do you write tests for it? Most apps are not as simple as shown in the video. I have VMs with hundreds of lines of code since the project is not small, if I move it all to inside the view it'll become a nightmare to navigate...
    Don't tell me "tests are worthless" as the dude who created that "famous" discussion...

    • @seanallen
      @seanallen  Před měsícem

      Then stay with MVVM 🤷. The point of the discussion that isn't to say "MVVM is bad, never use it". I say it in the video, there's no one right architecture for all situations and each has their pros/cons.

    • @kironet
      @kironet Před měsícem

      @@seanallen I'm staying with MVVM but all these articles/videos(not you) saying how MV is amazing, never actually show a real world example. They always show the most basic code snippet. Most of them avoid talking about tests or straight up say tests are worthless.
      Maybe you could make video comparing these two arch. without using the most basic code snippets(even just simple call with pagination logic would suffice, I think)

  • @indiekiduk
    @indiekiduk Před měsícem +1

    I think the mvvm crowd didnt learn or refused to learn structs or View structs. I noticed in your vid you were calling an environment struct an object!

    • @seanallen
      @seanallen  Před měsícem

      I'm not great at using the text book language for things. It's something I can be better at. I hear it all the time in my videos when I call something a variable, but I defined it as a "let". Like... c'mon. You know what I mean.

  • @randomjjj4034
    @randomjjj4034 Před měsícem +1

    ❤‍🔥❤‍🔥

  • @umarparacha653
    @umarparacha653 Před měsícem

    is Swiftui is still New...when become mainstream ...

  • @Tyheir
    @Tyheir Před měsícem +1

    You should react to some of the videos shitting on the Vision Pro and giving your thoughts on it.

    • @seanallen
      @seanallen  Před měsícem

      That's not really my style, but I do believe Apple Vision Pro will be a success in the long run. I see huge potential, but it's certainly not there just yet.

    • @Tyheir
      @Tyheir Před měsícem +1

      @@seanallen that’s fair

  • @JasonMitchellAZ
    @JasonMitchellAZ Před měsícem +1

    Swift News, new course from Sean, WWDC right around the corner, and the MLS immersive demo (was super cool)… this is great!
    (Also, I created a small PR for Swift News, if you’re interested in the fixes.)

    • @seanallen
      @seanallen  Před měsícem +1

      Fun times! Thanks for doing that. Approved & merged!

  • @noorlancer
    @noorlancer Před měsícem +1

    The sponsor of your video isn't making money from apps. His revenue is being generated from selling products from his youtube channel

    • @seanallen
      @seanallen  Před měsícem +1

      I'd love to hear more details. I've been following him for years and his CZcams channel just recently started to grow. Of course, I don't have insight into their business but I can't imagine the CZcams channel was super impactful before the last year or two.
      Regardless, the channel has great information. I stand by that from personal experience.

  • @smotch7533
    @smotch7533 Před měsícem +2

    4:15 I would not recommend this if you ever want to test your app.

    • @seanallen
      @seanallen  Před měsícem +1

      I don't have real world experience with it yet, but he says testing is the most common question he gets and addresses it at the bottom of the article.

  • @dsaliberti
    @dsaliberti Před měsícem

    Vanilla 😌

  • @WikiPeoples
    @WikiPeoples Před měsícem

    I AM SO DEMOTIVATED :(

  • @SanusiAdewale
    @SanusiAdewale Před měsícem

    I'll stick with MVVM, its easy to understand, it separates and keeps everything neat and easy. You automatically know whats wrong and where it went wrong. Whatever this guy is suggesting will be a nightmare! I get that he's geeky to come up with that, but always remember to keep it simple!

  • @JonatanEdOrtiz
    @JonatanEdOrtiz Před měsícem +5

    I imagine this is terrible for unit testing.

    • @seanallen
      @seanallen  Před měsícem +2

      I haven't used it in a real app yet, but he addresses testing at the bottom of his article.

    • @JonatanEdOrtiz
      @JonatanEdOrtiz Před měsícem +1

      ​@@seanallen I'll take a look.

    • @pkhkp
      @pkhkp Před měsícem +5

      "Since your views are just expressions of a state, the best tests are snapshot tests."
      Crazy this kind of stuff is taken seriously in 2024. We never learn do we. It's not about testing views, it's about testing the logic that changes the state of your view, the stuff that he removed from the VM and put in the view.

    • @indiekiduk
      @indiekiduk Před měsícem

      You don't need objects just for testing you can test funcs

    • @Hgvpuncher
      @Hgvpuncher Před měsícem

      @@pkhkpu don't need tests in 2024 just hit run it works then upload to appstore jobdone. If u get bug reports just ignore them for now

  • @Hgvpuncher
    @Hgvpuncher Před měsícem +2

    MV with SwiftUI for small projects... if you want MVVM then you are better off going with UIKit unless you wanna fight the framework, spend hours and days for workarounds then spend weeks trying to solve the bugs and unwanted behaviours you get from the workarounds and this is all because you have decided to go against a framework... the average joe needs to learn that you shouldn't default to a strict architecture for every single project but hey try teaching this to ignorant people

    • @pkhkp
      @pkhkp Před měsícem +1

      We use MVVM and SwiftUI for a critical segment of our application, there are no big warkarounds and bugs are easy to catch and fix. What do you mean practically by "fighting the framework" or "workarounds" ? What does a published UI state in the MV not solve ?

  • @malschauen6267
    @malschauen6267 Před měsícem

    Why do you start speaking right after 0.00000000000001 seconds after the start of the video? I would prefer 0.5 or 1 or 2 seconds of silence before speaking.

    • @seanallen
      @seanallen  Před měsícem

      Got it

    • @malschauen6267
      @malschauen6267 Před měsícem

      @@seanallen Thank you for considering.

    • @trustmub1
      @trustmub1 Před měsícem

      😂😂😂😂

    • @malschauen6267
      @malschauen6267 Před měsícem

      @@trustmub1 Could you please explain your use of emojis? I am not sure if I understand it correctly. I made a suggestion and said "thank you", when seanallen replied. Of course he is free to ignore my suggestion. But I am sincerely annoyed by the mentioned point.

    • @trustmub1
      @trustmub1 Před měsícem +1

      @@malschauen6267 the emojis where valid at the time, I realised how I had the same thought and realised there is always someone out there who will beat you to comment.

  • @lukassbeataddicts
    @lukassbeataddicts Před měsícem

    Use the environment and keep your views really small. Wait when you told to add analytics, localization, location, networking, side scrolling carousels, error states, loading states, alerts, core data and more. Then try to keep your view really really small. 😂😂😂

    • @lukassbeataddicts
      @lukassbeataddicts Před měsícem

      All this architectures of view only that Azam and others plough on twitter works really great with screens containing list with emoji fruits. 😅

  • @ro342
    @ro342 Před měsícem +1

    MVVM dead AF!

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 Před měsícem

    ok