SwiftUI Fundamentals
Please rate the course
Course short description
Welcome to swift UI fundamentals. First up, this was designed for people who at least have the basics of swift down. You don't have to be a swift Pro, but at least know the basics. And if you don't know the basics, check out iOS Dev, Launchpad, we go over all that. So this course has meant to build your foundation in Swift UI and focus on what I believe is the core skill.
And that is moving data around, you know, swift UI is declarative, which is quite different from the imperative programming paradigm, we all may be used to with UI kit, right? It kind of flips it on its head, you have to completely think about things differently, right? It's a mindset shift. And that mindset shift and properly passing data between views. Like that's what I want to focus on in this course, like, yes, swift UI can do a lot of awesome animations, crazy cool UI stuff. But again, I want to focus on the foundation of building apps. And to me that is passing the data in getting your app to act how you want it to write, I say that all the time. When I first learned swifty, why getting my app to look like I wanted to write with just building the UI. To me, that was like the easy part where I ran into frustrations and headaches was passing data and getting my app to act how I wanted. So that's what I want to be the focus of this app. fun, cool UI animations that can and will come later. Alright, so how is this course gonna work? Let's talk about the flow. Overall, we're going to build four apps, it's going to start off pretty easy, but we're going to progressively get more difficult and build over time to where the final app is a bit complex, you know, for a foundational course. And I'm going to introduce concepts slowly at first, and we'll get a lot of practice, you know, building with them using them. Because as you know, I'm a big believer in like, practice repetition. You don't just read one article, or watch one video on a topic, and then you know it, you gotta practice, practice, practice. But we do start off pretty easy. So if you do have a little bit of swift UI experience, and after the first two apps, you're like, oh, man, this is super basic. Just Just wait, just wait. But okay, let's talk about those apps. So the first one, just the UI of a weather app, this is the introduction to the course. So we start off super basic, I want to get you familiar with the foundational tools in just building UI in Swift UI. After that introductory app, I go into more of an explainer session, some talking head, you know, graphical videos, right? Explain, you know, imperative versus declarative and the differences. I talked about how swift UI updates its views in the view tree hierarchy, talk about view, modifiers view builders, right, we kind of dive into the core concepts of explaining. But then we get back to code in the next app was about Apple frameworks, where as you can see, there's a grid, you can tap on a framework, learn more about the framework. So not only will you learn how to build this kind of app, but hopefully you'll get inspired by reading about these frameworks in and maybe get your next big app idea. But in that app, as you can see, we're adding a couple screens, we're starting to dip our toes into passing data from screen to screen, like I said, we ease into it and get progressively more difficult. Now the third app, all about the barcode scanner, this really focuses on UI kit integration with swift UI, right? Because, you know, swift UI is pretty new. A lot of stuff still isn't built in, such as the camera like we see it in this app. And this app focuses on passing data from UI kit, to swift UI, when you have to integrate UI kit that's using UI view controller representable in coordinators to pass all the data. So the whole point of this app is to get you used to using that, because if you're building apps in Swift UI, it's very likely that you're going to have to go to UI kit for some things. And finally, we finish off for the more complex app will complex for a foundational course, where you can order appetizers, you know, see a detail view of it, add it to your cart or your order, and then place your order. To be clear, I don't want to have any misconceptions. We're not implementing like stripe and actual payment processing. that's a that's a bit outside the scope of this course. But I don't want there to be any like wrong expectations. Now this app, you know, besides what you see, we're going to deal with network calls in this apps, we're going to do proper error handling alerts, you know, some advanced animations. So again, this is where it gets a little more complex, you know, above what we did in the previous apps. And during each of these apps, we're going to be refactoring along the way we're going to be talking about project organization. And I'll be providing various levels of challenges after each app. If you do want to push yourself further and further to build upon the base, you know, of what these apps give you. After we build the four apps, we're gonna have a review section, and I think there's gonna be a very valuable section because it's part of the learning process, right, you're going to hear me talk about it, we're going to get a chance to build and play with it a couple times, right. But once you've seen it in action, you've actually touched it. And then now if you go back and review it, I feel like that's going to really solidify your knowledge and just really drive it into your head. And then the last section is our optimization section. And I did this in one of my previous courses, GitHub followers, and a lot of people really loved this section. And what this is, is we go back we fix some mistakes, because everyone makes mistakes. And we also go back and like optimize and make our code better, maybe rebuild things a different way. It's a lot of the stuff that would have been too deep down a specific rabbit hole.
To teach, you know when we built it, right, because I wanted to keep the the lesson focused. But here, we get a chance to go back and maybe spend one whole video on one little thread that I want to pull on to teach a little bit more. And now I want to talk about future updates, because of course, swift UI is going to change. So depending on how much it changes, right, if it's a small change, I'll probably leave a note in the description of the video to let people know what's going on. And I'll probably do a video at the beginning of the course, you know, when iOS 15 comes out, maybe like, what's new in iOS 15 that affects our projects. So you know, upfront, like, Hey, this is going to be different. Or if something crazy drastically changes and breaks one of my videos like oh, rerecord the video or the section right. So it kind of depends on the severity of the change on how I'm going to handle it. But I do want to keep this course up to date that is going to be a priority of mine. And before I get my final disclaimer, I want to mention the Slack channel access you get with this course you get this with all my courses. This is a place for anybody taking my courses to kind of come together have conversations in real time. You can meet developers from all over the world, other aspiring iOS developers start building your network, you know, get help answer your questions, help others, it's just a place you know, for developers to come together in chat and help each other. So you do get access to that. And then lastly, my final disclaimer, the only thing I can promise you is that swift UI is going to change, right? So don't treat this course as like the final end all be all of your swift Foundation, right? I want to give you those foundational skills so that you can easily grow and evolve and adapt as this world of swift UI changes and evolves itself. So just keep that in mind. Things are probably going to change but hopefully you leave this course with a solid foundation so you can change with it.