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

  Переглядів 50,141

Mark Moeykens

Mark Moeykens

День тому

👉 Find out the Ugly Truth of SwiftUI: www.bigmountainstudio.com/ugl...
If you're new to SwiftUI or you're thinking about learning it, this video is a must-see as it explains some of the major concepts behind SwiftUI that will help you more quickly grasp what is happening and save you hours of scratching your head wondering what is going on.
FREE SwiftUI PictureBook:
📙 SwiftUI Views: www.bigmountainstudio.com/fre...
COURSES
🎦 SwiftUI Courses hosted on Code with Chris: bigmtn.studio/cwc
SOCIAL
🔷 Twitter: / bigmtnstudio
🟣 Github: github.com/bigmountainstudio
#SwiftUI #Xcode #bigmountainstudio
CHAPTERS
Intro - 00:00
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
Summary - 06:20
#SwiftUI #Xcode #bigmountainstudio

КОМЕНТАРІ: 153
@maxleibert5289
@maxleibert5289 3 роки тому
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!
@bigmtnstudio
@bigmtnstudio 3 роки тому
You’re welcome!
@nicolascrespo4643
@nicolascrespo4643 3 роки тому
Thanks for coming back! Your content is always great, clean and fun
@bigmtnstudio
@bigmtnstudio 3 роки тому
Well, thank you so much, Mr. Crespo! 😃
@CandiceKhannaApps
@CandiceKhannaApps 2 роки тому
Thank you so much 🙏🏽 this is so helpful. Makes it much easier to navigate the logic when coding.
@brandon_wilson
@brandon_wilson Рік тому
Ive watched countless tutorials and this is by far the best and most helpful!! Thank you Mark
@christopherrobin1
@christopherrobin1 9 місяців тому
Nice little video, perfect for beginners like me. Thank you, Mark.
@ghanshyamdoifode9479
@ghanshyamdoifode9479 3 роки тому
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
@GoldenGunOW
@GoldenGunOW Рік тому
I found this to be very helpful! Thank you!
@biswajitbanik5729
@biswajitbanik5729 3 роки тому
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 3 роки тому
You're welcome, Biswajit! 😃
@neilugaddan
@neilugaddan 2 роки тому
I’m starting to learn this. Thank you, sir.
@profgallaugher
@profgallaugher 4 роки тому
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.
@silver10188
@silver10188 4 роки тому
Yess you're back, my favorite UKposts educator.
@bigmtnstudio
@bigmtnstudio 4 роки тому
Ha ha, yes!
@Cdswjp
@Cdswjp 3 роки тому
glad to see big mountain is still making great videos
@bigmtnstudio
@bigmtnstudio 3 роки тому
Thanks!
@blaze.1436
@blaze.1436 4 роки тому
Amazing video! Came at the perfect time! Thank you so much
@bigmtnstudio
@bigmtnstudio 4 роки тому
You're welcome! Glad you liked it. 😃
@MikaelaCaron
@MikaelaCaron 4 роки тому
Great video, love the new intro!
@bigmtnstudio
@bigmtnstudio 4 роки тому
Thanks, Caleb, it was fun getting back into the UKposts recording chair once more.
@sunnypatel4796
@sunnypatel4796 4 роки тому
Great video mark. Really liked it
@bigmtnstudio
@bigmtnstudio 4 роки тому
Thanks, Sunny! Glad you liked it.
@CredoAcademy
@CredoAcademy 4 роки тому
I love these 5 SwiftUI concepts Mark! 👍Thank you!
@bigmtnstudio
@bigmtnstudio 4 роки тому
You're welcome, Robert!
@emiclark
@emiclark 4 роки тому
Awesome and concise points on swiftUI. Well done!
@bigmtnstudio
@bigmtnstudio 4 роки тому
Thanks, Emiko!
@arkemal
@arkemal Рік тому
Very useful, thank you!
@anhchangvuitinhhd
@anhchangvuitinhhd 2 роки тому
really helpfull. Thank you so much
@MsSukhpal
@MsSukhpal Рік тому
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. 😃
@kelvinyusuf6658
@kelvinyusuf6658 3 роки тому
wow this is really helpful, thank you mark
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're welcome, Kelvin! 👍
@Duser26
@Duser26 4 роки тому
Amazing stuff as usual. We missed your laughing while teaching videos!!
@bigmtnstudio
@bigmtnstudio 4 роки тому
Ha ha ha, thanks, Fede!
@RizalHilman
@RizalHilman 2 роки тому
This is awesome man! thanks!
@bigmtnstudio
@bigmtnstudio 2 роки тому
Thanks, Rizal!
@florafauna18
@florafauna18 Рік тому
This was really beneficial, I really enjoyed it thanks!
@bigmtnstudio
@bigmtnstudio Рік тому
You're welcome!
@niksatan
@niksatan Місяць тому
looks great!
@rebeloper
@rebeloper 4 роки тому
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. 😊
@codestories
@codestories 4 роки тому
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.
@GG-hk5iz
@GG-hk5iz 3 роки тому
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
@mhfs61
@mhfs61 4 роки тому
A great video, Mark. As always. 👍🏼
@bigmtnstudio
@bigmtnstudio 3 роки тому
Glad you enjoyed it, Marlon! 👍
@EarthGainX
@EarthGainX 3 роки тому
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 3 роки тому
I'm so glad it helped! Have fun with SwiftUI. 😀
@CraigSchubert
@CraigSchubert 4 роки тому
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. 😃
@thomasswatland
@thomasswatland 4 роки тому
Great stuff! Loving the beard!
@bigmtnstudio
@bigmtnstudio 4 роки тому
Thanks, Thomas!
@m__link6499
@m__link6499 3 роки тому
Thank you Mark, you're explaination were soooooo usefull!!!!!!
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're very welcome! 😃
@pavanmanjani7583
@pavanmanjani7583 Рік тому
Nice, Keep posting👍
@bigmtnstudio
@bigmtnstudio Рік тому
Thanks, Pavan!
@gakkieNL
@gakkieNL 4 роки тому
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!
@emrah309
@emrah309 Рік тому
very important highlights, you understand the importance of these as you learn more about swiftUI
@bigmtnstudio
@bigmtnstudio Рік тому
Thank you so much! 😊
@denizc1019
@denizc1019 3 роки тому
that was nice , thank you!
@bigmtnstudio
@bigmtnstudio 3 роки тому
My pleasure, Deniz! 😃
@RobertHolzapfel
@RobertHolzapfel 3 роки тому
Absolutely essential for all SwiftUI beginners. Great, Thank you
@bigmtnstudio
@bigmtnstudio 3 роки тому
Thanks, Robert!
@seanallen
@seanallen 4 роки тому
A green screen AND a beard??? Haha, I kid. Great video Mark. Welcome back!
@bigmtnstudio
@bigmtnstudio 4 роки тому
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.
@sasniyFriz
@sasniyFriz 3 роки тому
Very nice, thank you!
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're welcome, Denis!
@williamallen4607
@williamallen4607 3 роки тому
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 3 роки тому
Thanks so much, William! I'm really glad you like my content and books. 😃
@auckyrh
@auckyrh 2 роки тому
this explanation is so nice sir
@bigmtnstudio
@bigmtnstudio 2 роки тому
Oh good, I’m glad to hear it. 😃
@geoffplywood6112
@geoffplywood6112 3 роки тому
Useful video, thanks
@bigmtnstudio
@bigmtnstudio 3 роки тому
Thanks, Geoff!
@kennethroark917
@kennethroark917 2 роки тому
Thanks Coach!
@bigmtnstudio
@bigmtnstudio 2 роки тому
You're welcome, Kenneth!
@ashrafulzamaneashan7045
@ashrafulzamaneashan7045 4 роки тому
Great one!
@bigmtnstudio
@bigmtnstudio 4 роки тому
Thanks, Ashraful! (Does anyone ever call you "Ash"? That's a cool name. 😃)
@defaultgreen
@defaultgreen 3 роки тому
Awesome video simple but effective
@bigmtnstudio
@bigmtnstudio 3 роки тому
Thank you!
@huiwong5
@huiwong5 3 роки тому
simple and clear
@bigmtnstudio
@bigmtnstudio 3 роки тому
Thanks, Hui!
@ReallyAnythingAndEverything
@ReallyAnythingAndEverything 3 роки тому
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.
@masanaopaints
@masanaopaints 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 3 роки тому
I'm so glad it's easy to understand! Thank you. 👍
@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.
@SalarPro
@SalarPro 3 роки тому
Thank you :)
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're welcome! 👍
@jeffconner8231
@jeffconner8231 2 роки тому
have a like! well-earned sir
@bigmtnstudio
@bigmtnstudio 2 роки тому
Thanks, Jeff!
@govind20246
@govind20246 2 роки тому
Thanks 😊
@bigmtnstudio
@bigmtnstudio 2 роки тому
You're welcome! 😊
@ZhengCheng
@ZhengCheng 3 роки тому
Thank you
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're welcome!
@DevDevGoat
@DevDevGoat 11 місяців тому
Learned more in this video than 3hrs on coursera, canceling that subscription now lol! Great job!
@bigmtnstudio
@bigmtnstudio 11 місяців тому
Ha ha, glad to hear it!
@ramcharanreddy7231
@ramcharanreddy7231 4 роки тому
Missed learnings from you these many days Mark.
@bigmtnstudio
@bigmtnstudio 4 роки тому
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 😍
@Ipat639
@Ipat639 4 роки тому
I was watching UKposts ads as a thanks for your video 😂
@bigmtnstudio
@bigmtnstudio 4 роки тому
Ha ha ha, well, thank Nodirbek. 😂
@myJBmovies
@myJBmovies 4 роки тому
Can't wait to go all in on SwiftUI after WWDC.
@bigmtnstudio
@bigmtnstudio 4 роки тому
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. 🔥
@--..FC..--
@--..FC..-- Рік тому
Thanks
@bigmtnstudio
@bigmtnstudio Рік тому
You're welcome, FC!
@user-ym8kh5fn5o
@user-ym8kh5fn5o 4 роки тому
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 роки тому
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.
@OmarTan
@OmarTan 3 роки тому
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 3 роки тому
From what I understand, the scope of redrawing is limited as much as possible to what is changing.
@w0mblemania
@w0mblemania 4 роки тому
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 роки тому
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.
@michaelstram
@michaelstram 4 роки тому
Now you have to draw and animate a beard in SwiftUI !!!
@bigmtnstudio
@bigmtnstudio 4 роки тому
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. 😉
@angryapple1882
@angryapple1882 4 роки тому
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 3 роки тому
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
@AIParty
@AIParty 2 роки тому
Awesome! Fast
@bigmtnstudio
@bigmtnstudio 2 роки тому
Thanks, Ada!
@DavidNitzscheBell
@DavidNitzscheBell 3 роки тому
#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?
@heshanyodagama8886
@heshanyodagama8886 3 роки тому
need a Combine framework book too ...please
@bigmtnstudio
@bigmtnstudio 3 роки тому
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 3 роки тому
@@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 3 роки тому
@@heshanyodagama8886, I'm so happy to hear that!
@kideatspaper3618
@kideatspaper3618 3 роки тому
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 3 роки тому
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/
@TheBooban
@TheBooban 3 роки тому
Why do you need SwiftUI over storyboard and autolayout?
@DavidNitzscheBell
@DavidNitzscheBell 3 роки тому
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 роки тому
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 роки тому
@@bigmtnstudio Yes, that definitely helps! Thanks, Mark.
@heshanyodagama8886
@heshanyodagama8886 3 роки тому
wow
@DavidNitzscheBell
@DavidNitzscheBell 3 роки тому
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 3 роки тому
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 21 день тому
@@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.
@zyanile
@zyanile 3 роки тому
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 3 роки тому
That's pretty cool. I bet SwiftUI borrowed a lot of things from Flutter.
@brunomj1997
@brunomj1997 3 роки тому
LazyvStack
@bigmtnstudio
@bigmtnstudio 3 роки тому
I know, right! No longer only 3 ways to lay things out... Dang it, new video needed now. 😃
@SchiopuEvgheni
@SchiopuEvgheni 4 роки тому
Children inherit from parents to override them. It's called - life.
@bigmtnstudio
@bigmtnstudio 4 роки тому
LOL. Yes! Ha ha ha.
@parkerrex
@parkerrex 3 роки тому
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
@husamui
@husamui 3 роки тому
Finally, iOS Development feels like JavaScript
@bigmtnstudio
@bigmtnstudio 3 роки тому
Ha ha, there you go!
@rebelsdeveloper367
@rebelsdeveloper367 3 роки тому
@@bigmtnstudio my nightmare is rn erghh
@thuongdaovan7172
@thuongdaovan7172 3 роки тому
Very helpful, I'm sorry I can't like it twice
@bigmtnstudio
@bigmtnstudio 3 роки тому
Ha ha, thank you so much!
@gofudgeyourselves9024
@gofudgeyourselves9024 4 роки тому
Kya kar raha hai re Mark?
@bigmtnstudio
@bigmtnstudio 3 роки тому
I'm not sure what you mean.
@gofudgeyourselves9024
@gofudgeyourselves9024 3 роки тому
@@bigmtnstudio just kidding I commented in Hindi as u had put a photo of u visiting Hyderabad few years ago on twitter
@SwiftlyShivali
@SwiftlyShivali 4 роки тому
Very helpful! Thanks for the video
@bigmtnstudio
@bigmtnstudio 3 роки тому
You're welcome! 👍
8 Common SwiftUI Mistakes - and how to fix them!
28:05
Paul Hudson
Переглядів 49 тис.
Эта Мама Испортила Гендер-Пати 😂
00:40
Глеб Рандалайнен
Переглядів 2 млн
Дурнєв дивиться сторіс ZОМБІ #47
53:48
Aleksey Durnev
Переглядів 524 тис.
Swift API Calls for Beginners (Networking) - Async Await & JSON
25:35
24 Xcode Tips in 15 Minutes
15:30
Paul Hudson
Переглядів 72 тис.
Migrating SwiftUI MVVM App to MV Pattern
37:48
azamsharp
Переглядів 3,8 тис.
Basic SwiftUI Layout Containers and UI Elements
14:30
CodeWithChris
Переглядів 36 тис.
5 Steps to Better SwiftUI Views
31:19
Paul Hudson
Переглядів 54 тис.
What Is SwiftUI? | In Under 10 Minutes
6:57
Matt Heaney Apps
Переглядів 13 тис.
Data Flow in a SwiftUI App
33:15
CodeWithChris
Переглядів 51 тис.