5 SwiftUI Concepts Every Beginning SwiftUI Developer Needs To Know (2020)

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ม.ค. 2025

ความคิดเห็น • 156

  • @maxleibert5289
    @maxleibert5289 3 ปีที่แล้ว +26

    I don't usually comment much, but this video is one of the best videos I´ve seen for understanding the UI system for beginners! Thanks a lot!

  • @biswajitbanik5729
    @biswajitbanik5729 4 ปีที่แล้ว +9

    1. Layout Views in SwiftUI - 00:11
    2. Everything is a View in SwiftUI - 01:30
    3. Parent-Child Relationships in SwiftUI - 03:04
    4. Pull-In & Push-Out Views in SwiftUI - 04:07
    5. Change Views with Data in SwiftUI - 04:54
    thanks mark :)

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      You're welcome, Biswajit! 😃

  • @rebeloper
    @rebeloper 4 ปีที่แล้ว +1

    Good to see you back Mark!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Hey, thanks, Alex! Yeah, it's been a long time. Starting to recover from burnout. 😃 I see you've been crushing it lately. I see your posts on LinkedIn all the time. Awesome man, you're helping so many people! It's inspirational. 😊

  • @nicolascrespo4643
    @nicolascrespo4643 4 ปีที่แล้ว +2

    Thanks for coming back! Your content is always great, clean and fun

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      Well, thank you so much, Mr. Crespo! 😃

  • @RizalHilman
    @RizalHilman 3 ปีที่แล้ว +1

    This is awesome man! thanks!

  • @sunnypatel4796
    @sunnypatel4796 4 ปีที่แล้ว +1

    Great video mark. Really liked it

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks, Sunny! Glad you liked it.

  • @AndersPedersen-o6m
    @AndersPedersen-o6m 4 หลายเดือนก่อน +1

    This is what so many 'SwiftUI for beginners' tutorials need. Thanks for elaborating on this unfortunately named concept ^^ Great video, subscribed!

  • @brandon_wilson
    @brandon_wilson 2 ปีที่แล้ว +1

    Ive watched countless tutorials and this is by far the best and most helpful!! Thank you Mark

  • @m__link6499
    @m__link6499 4 ปีที่แล้ว +1

    Thank you Mark, you're explaination were soooooo usefull!!!!!!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      You're very welcome! 😃

  • @seanallen
    @seanallen 4 ปีที่แล้ว +9

    A green screen AND a beard??? Haha, I kid. Great video Mark. Welcome back!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      As you can see I emulate my role models. 😃Dude, I need to work on that green screen. I'm not digging it. Or most likely I'm doing it wrong.

  • @huiwong5
    @huiwong5 4 ปีที่แล้ว +1

    simple and clear

  • @david-tracy
    @david-tracy 4 ปีที่แล้ว +1

    glad to see big mountain is still making great videos

  • @geoffplywood6112
    @geoffplywood6112 4 ปีที่แล้ว +1

    Useful video, thanks

  • @MikaelaCaron
    @MikaelaCaron 4 ปีที่แล้ว +2

    Great video, love the new intro!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks, Caleb, it was fun getting back into the TH-cam recording chair once more.

  • @govind20246
    @govind20246 3 ปีที่แล้ว +1

    Thanks 😊

  • @silver10188
    @silver10188 4 ปีที่แล้ว +8

    Yess you're back, my favorite TH-cam educator.

  • @CandiceKhanna
    @CandiceKhanna 3 ปีที่แล้ว +3

    Thank you so much 🙏🏽 this is so helpful. Makes it much easier to navigate the logic when coding.

  • @defaultgreen
    @defaultgreen 4 ปีที่แล้ว +1

    Awesome video simple but effective

  • @blaze.1436
    @blaze.1436 4 ปีที่แล้ว +2

    Amazing video! Came at the perfect time! Thank you so much

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      You're welcome! Glad you liked it. 😃

  • @MsSukhpal
    @MsSukhpal ปีที่แล้ว +1

    You are a great teacher, I was very confused but these 5 points just cleared all my confusions. Thank you so much.

    • @bigmtnstudio
      @bigmtnstudio  ปีที่แล้ว

      Oh good! I'm glad to hear that. 😃

  • @gakkieNL
    @gakkieNL 4 ปีที่แล้ว +1

    Good to see a new video from you! As far as SwiftUI goes, I leave it alone for now and let it mature...

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Sounds good. We'll see what Apple delivers to us in a few weeks at WWDC. I'm hoping for some big improvements!

  • @CredoAcademy
    @CredoAcademy 4 ปีที่แล้ว +4

    I love these 5 SwiftUI concepts Mark! 👍Thank you!

  • @ghanshyamdoifode9479
    @ghanshyamdoifode9479 4 ปีที่แล้ว +1

    Hey, after a long time again I'm come back here to learn Swift UI.
    Before 3 years I have started my career from watching your video to learn great UI using Storyboard.
    Good job.
    Wish you all the best

  • @codestories
    @codestories 4 ปีที่แล้ว +6

    Great video, Mark. Thanks for sharing! We will soon start migrating from UIKit to SwiftUI. That means I will watch this video at least another 100 times :D

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Ha ha, sounds good! It's a fun journey for sure.

  • @emiclark
    @emiclark 4 ปีที่แล้ว +3

    Awesome and concise points on swiftUI. Well done!

  • @profgallaugher
    @profgallaugher 4 ปีที่แล้ว +2

    World class intro. Best I’ve seen. Thanks for your content. It is excellent!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks, John! I decided to kick it up a notch and had someone create it for me.

  • @ZhengCheng
    @ZhengCheng 4 ปีที่แล้ว +1

    Thank you

  • @--..FC..--
    @--..FC..-- 2 ปีที่แล้ว +1

    Thanks

  • @eashann
    @eashann 4 ปีที่แล้ว +1

    Great one!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks, Ashraful! (Does anyone ever call you "Ash"? That's a cool name. 😃)

  • @DavidNitzscheBell
    @DavidNitzscheBell 4 ปีที่แล้ว +1

    3:00 Ok, views are replaced, not modified. Got it. But.....why is this important to know? That seems like an "under the hood" concern, but will it affect how we write code or anything? I'm just wondering how this information will come into play.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Yeah, it matters because it affects the order of modifiers. For example, Text have modifiers that can only apply to text views like .fontWeight. So when fontWeight is applied, it returns a View type and then you can apply other modifiers after that. And Shapes have modifiers that only apply to shapes so you have to use those first and get a View back and then other modifiers that apply to views. Adding padding is another good example of how the order matters. I should have mentioned this in the video. Good point.

    • @alexnovikov1609
      @alexnovikov1609 9 หลายเดือนก่อน

      @@bigmtnstudio Still not clear for me. In what sense does it affect the order of modifiers? For those three modifiers that you mentioned there is no any difference at all. They will give the same in any order: Text("hi").fontWeight(.light).font(.title).padding()
      Regarding .fontWeight modifier: when you apply it to Text and when you apply it to View, these are two different modifiers with the same name. First one is the extension of the Text struct, the second one is the extension of the View protocol. You could check it by yourself, just cmd+click them in your code.

  • @SalarPro
    @SalarPro 4 ปีที่แล้ว +1

    Thank you :)

  • @christopherrobin1
    @christopherrobin1 ปีที่แล้ว

    Nice little video, perfect for beginners like me. Thank you, Mark.

  • @florafauna18
    @florafauna18 2 ปีที่แล้ว +1

    This was really beneficial, I really enjoyed it thanks!

  • @jeffconner8231
    @jeffconner8231 2 ปีที่แล้ว +1

    have a like! well-earned sir

  • @emrah309
    @emrah309 2 ปีที่แล้ว +1

    very important highlights, you understand the importance of these as you learn more about swiftUI

  • @kelvinyusuf6658
    @kelvinyusuf6658 4 ปีที่แล้ว +1

    wow this is really helpful, thank you mark

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      You're welcome, Kelvin! 👍

  • @auckyrh
    @auckyrh 2 ปีที่แล้ว +1

    this explanation is so nice sir

    • @bigmtnstudio
      @bigmtnstudio  2 ปีที่แล้ว

      Oh good, I’m glad to hear it. 😃

  • @RobertHolzapfel
    @RobertHolzapfel 4 ปีที่แล้ว +3

    Absolutely essential for all SwiftUI beginners. Great, Thank you

  • @mhfs61
    @mhfs61 4 ปีที่แล้ว +1

    A great video, Mark. As always. 👍🏼

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Glad you enjoyed it, Marlon! 👍

  • @GoldenGunOW
    @GoldenGunOW 2 ปีที่แล้ว

    I found this to be very helpful! Thank you!

  • @heshanyodagama8886
    @heshanyodagama8886 4 ปีที่แล้ว +1

    need a Combine framework book too ...please

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      Hey Heshan, I actually started one but it's kind of a lower priority for me right now because I'm building a SwiftUI Views course right now.

    • @heshanyodagama8886
      @heshanyodagama8886 4 ปีที่แล้ว +1

      @@bigmtnstudio SwiftUI thing has the possibility get changed rather than Combine. So It would be better to give some high priority to Combine. Anyway I am waiting for your Combine book. and wanna tell you that I am in love with SwiftUI animation book too.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      @@heshanyodagama8886, I'm so happy to hear that!

  • @SwiftlyShivali
    @SwiftlyShivali 4 ปีที่แล้ว +1

    Very helpful! Thanks for the video

  • @ITProjectManagerMan
    @ITProjectManagerMan 3 หลายเดือนก่อน

    That was a very concise explanation and much appreciated. I just started learning SwiftUI and I must say, it's a lot more fun than UIKit. Thumbs up & new subscriber.

  • @Duser26
    @Duser26 4 ปีที่แล้ว +3

    Amazing stuff as usual. We missed your laughing while teaching videos!!

  • @DavidNitzscheBell
    @DavidNitzscheBell 3 ปีที่แล้ว +1

    2:55 I understand the distinction, but....is this something that one needs to be consciously aware of? I mean, what pitfalls await me if I don't understand this concept?

    • @bigmtnstudio
      @bigmtnstudio  3 ปีที่แล้ว +1

      Hi David, yeah, it is important to know when ordering your modifiers. Order matters because some modifiers apply to and return a special type of view. For example, when working with Text:
      Text("David")
      .fontWeight(.bold) // Applies to only Text and returns Text view
      .foregroundColor(.green) // Applies to any View and returns a View now
      If you tried switching around those two modifiers then you'll get an error because fontWeight can ONLY apply to a Text view but if you apply foregroundColor first, the Text is then replaced with a View and fontWeight can't be applied to it now.
      Same with Shapes like Circle, Rectangle, etc. There's a modifier to apply a fill to shapes. But if you add a frame modifier to the shape first, it'll change the Shape to a View:
      Circle() // Is a Shape view
      .frame(height: 100) // Returns a View
      .fill(Color.green) // Error: Can only be applied to Shape views, not View
      You would have to switch these modifiers around to make it work.
      You also have the case where modifiers are all returning the same type BUT the order of what is returned from the modifiers really matters, such as this:
      Text("David")
      .padding() // Returns a view with padding all around the text
      .background(Color.green) // Returns a view with a green color behind the text AND the padding
      But if you reverse the modifiers, then you get a much different result:
      Text("David")
      .background(Color.green) // Returns a view with a green color behind JUST the text
      .padding() // Returns a view with padding all around the text with green color. (Green color does not expand, is still small.)
      Hope this helps!

    • @DavidNitzscheBell
      @DavidNitzscheBell 3 ปีที่แล้ว +1

      @@bigmtnstudio Yes, that definitely helps! Thanks, Mark.

  • @GG-hk5iz
    @GG-hk5iz 4 ปีที่แล้ว +1

    Thanks Mark. U have explained this so well and in a way anyone can follow. I am really trying to learn SwiftUI but not sure what links or website to refer

  • @roark09
    @roark09 2 ปีที่แล้ว +1

    Thanks Coach!

    • @bigmtnstudio
      @bigmtnstudio  2 ปีที่แล้ว

      You're welcome, Kenneth!

  • @thomasswatland
    @thomasswatland 4 ปีที่แล้ว +3

    Great stuff! Loving the beard!

  • @sasniyFriz
    @sasniyFriz 3 ปีที่แล้ว +1

    Very nice, thank you!

  • @williamallen4607
    @williamallen4607 4 ปีที่แล้ว +1

    Mark is an outstanding teacher. I bought several books from his website and those books have been an amazing resource for me. I highly recommend his book SWIFTUI VIEWS MASTERY.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks so much, William! I'm really glad you like my content and books. 😃

  • @CraigSchubert
    @CraigSchubert 4 ปีที่แล้ว +1

    Awesome intro to SwiftUI, thanks! :-)
    (Also, happy to be the 100th like on this vid...) ;-)
    Looking forward to more great content. :-)

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Thanks for liking the video, Craig. I've got more planned so stay tuned. 😃

  • @EarthGainX
    @EarthGainX 4 ปีที่แล้ว +1

    This was incredibly useful for me as a beginner. I had no idea about Swift UI as I’ve been using UIKit to learn Swift exclusively. Thanks for the vid!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      I'm so glad it helped! Have fun with SwiftUI. 😀

  • @msn_35
    @msn_35 4 ปีที่แล้ว +3

    How easy to understand the concepts this video is and I really recommend this channel to Japanese Swift developers because the teacher Mark's speaking is very clear to hear for people who learn English as 2nd language I think.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      I'm so glad it's easy to understand! Thank you. 👍

  • @pavanmanjani7583
    @pavanmanjani7583 2 ปีที่แล้ว +1

    Nice, Keep posting👍

  • @arkemal
    @arkemal 2 ปีที่แล้ว

    Very useful, thank you!

  • @niksatan
    @niksatan 9 หลายเดือนก่อน

    looks great!

  • @neilugaddan
    @neilugaddan 3 ปีที่แล้ว

    I’m starting to learn this. Thank you, sir.

  • @denizc1019
    @denizc1019 4 ปีที่แล้ว +1

    that was nice , thank you!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      My pleasure, Deniz! 😃

  • @anhchangvuitinhhd
    @anhchangvuitinhhd 3 ปีที่แล้ว

    really helpfull. Thank you so much

  • @長崎雷
    @長崎雷 4 ปีที่แล้ว +1

    Very nice video Thanks! About pull in views, push out views, could you tell us how to tell the view if it is a pull-in type or a push-out type?

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      I have a free book that tells you for each view. Check out the link in the video description. But without the book, you can't tell from the documentation. This is kind of my own convention I made up to better explain SwiftUI views. The only real way to tell is to use it and see what happens.

  • @DevDevGoat
    @DevDevGoat ปีที่แล้ว +1

    Learned more in this video than 3hrs on coursera, canceling that subscription now lol! Great job!

  • @mattlarsen
    @mattlarsen 3 ปีที่แล้ว

    SwiftUI is the so the blind men's elephant to programmers; you can explain everything you think you're going to need to map it from other programming languages, but you'll still only cover a description of the tail, the trunk, the legs or the body. The whole is hard (not impossible) to know, but is useful when you finally start to connect all of that knowledge together.

  • @BushcraftAI
    @BushcraftAI 3 ปีที่แล้ว +1

    Awesome! Fast

  • @OmarTan
    @OmarTan 4 ปีที่แล้ว +5

    For the view redrawing part, wouldn’t that cause issue for transitions or add an overhead in terms of performance as each time something changes, the whole view gets redrawn?

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      From what I understand, the scope of redrawing is limited as much as possible to what is changing.

  • @myJBmovies
    @myJBmovies 4 ปีที่แล้ว +1

    Can't wait to go all in on SwiftUI after WWDC.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      Oh man, you're going to love it. But at times you might hate it. But then you'll love it all over again! 😂

    • @myJBmovies
      @myJBmovies 4 ปีที่แล้ว

      Mark Moeykens For me that constant change from pure joy to total frustration is exactly what programming is all about and what keeps me motivated. 🔥

  • @ramcharanreddy7231
    @ramcharanreddy7231 4 ปีที่แล้ว +1

    Missed learnings from you these many days Mark.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +2

      Thanks, Reddy, it's good to be producing videos again. 😃

    • @ramcharanreddy7231
      @ramcharanreddy7231 4 ปีที่แล้ว

      Mark Moeykens Please make video on futures and promises. Your style of teaching is making me watch every video of yours 😍

  • @w0mblemania
    @w0mblemania 4 ปีที่แล้ว +1

    This was very good, thank you.
    Q. in the last example, why is the circle vertically centered within the view, but the text label and button are pinned to the top of the screen? I would have thought that each would be stacked against each other, and centered vertically in the view? Cheers.

    • @skydevz7223
      @skydevz7223 4 ปีที่แล้ว +1

      as he described earlier, Circle is a push out view like Rectangle and takes maximum possible space. And the radius of the Circle of the minimum value among available width and height.
      If you write the same code and change to landscape, you will understand it better.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      @@skydevz7223 Well, put. Even though the circle shape itself isn't filling up the whole space, it's frame certainly is. If you add a circle to your screen and select it on the canvas or in code, you'll see the border of the frame highlighted and see it.

  • @Ipat639
    @Ipat639 4 ปีที่แล้ว +7

    I was watching TH-cam ads as a thanks for your video 😂

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      Ha ha ha, well, thank Nodirbek. 😂

  • @michaelstram
    @michaelstram 4 ปีที่แล้ว +2

    Now you have to draw and animate a beard in SwiftUI !!!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      Ha ha ha, I should be getting rid of it probably sometime this summer. We'll see how much more the wife can tolerate it. 😉

  • @ReallyAnythingAndEverything
    @ReallyAnythingAndEverything 4 ปีที่แล้ว

    I am a flutter developer. I was wondering whether I could learn swiftUI easily If there are similarities. It seems a lot of things are common. Thanks for making this wonderful video to make learning easy for many people. I love it.

  • @kideatspaper3618
    @kideatspaper3618 4 ปีที่แล้ว +1

    i’m at my wits end trying to figure out how to make a variation of a solar clock in swift. this might be too specific but does anybody know how to do multi-step math on an updating clock? i have it working but it has to manually refresh

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      I'm not sure if this will help but toward the bottom of this article, he talks about making a clock: swiftui-lab.com/swiftui-animations-part1/

  • @heshanyodagama8886
    @heshanyodagama8886 4 ปีที่แล้ว +1

    wow

  • @TheBooban
    @TheBooban 4 ปีที่แล้ว

    Why do you need SwiftUI over storyboard and autolayout?

  • @zyanile
    @zyanile 4 ปีที่แล้ว +1

    Seems like those concepts are the same as flutter did. In Flutter, widgets are immutable and not updated directly. Instead, you have to manipulate the widget’s state.

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว

      That's pretty cool. I bet SwiftUI borrowed a lot of things from Flutter.

  • @DavidNitzscheBell
    @DavidNitzscheBell 4 ปีที่แล้ว

    #5 Change views with DATA.....so when I change the value, it redraws the entire screen......that seems..... expensive. weren't we always told that drawing on the screen is expensive and so UIKit (back in the day) optimized the drawing? I assume that SwiftUI also optimizes that, right?

  • @angryapple1882
    @angryapple1882 4 ปีที่แล้ว +1

    Hi Mark, When testing my apps on my iPhone X or any other device the time and battery icon doesn't not show, do you know the reason? Still using Storyboard.
    Thanks!

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      I'm not quite sure offhand. But that is called the "status bar" so maybe do some searches around that. Maybe you accidentally turned it off? Check out this link: www.tutorialspoint.com/how-to-hide-the-status-bar-in-a-ios-app-using-swift

  • @brunomj1997
    @brunomj1997 4 ปีที่แล้ว +1

    LazyvStack

    • @bigmtnstudio
      @bigmtnstudio  4 ปีที่แล้ว +1

      I know, right! No longer only 3 ways to lay things out... Dang it, new video needed now. 😃

  • @thuongdaovan7172
    @thuongdaovan7172 3 ปีที่แล้ว +1

    Very helpful, I'm sorry I can't like it twice

    • @bigmtnstudio
      @bigmtnstudio  3 ปีที่แล้ว

      Ha ha, thank you so much!

  • @SchiopuEvgheni
    @SchiopuEvgheni 4 ปีที่แล้ว +1

    Children inherit from parents to override them. It's called - life.

  • @husamui
    @husamui 4 ปีที่แล้ว +2

    Finally, iOS Development feels like JavaScript

  • @parkerrex
    @parkerrex 4 ปีที่แล้ว

    ayyy Mark this is great. Can you check my latest swiftUI vid? I have a feeling my solution is overkill for making a circle within a circle