Learn by following the Instagram app Practical SwiftUI lecture
MVVM
SwiftUI
Firebase
MVVM, Firebase, which many people have been waiting for since the last lecture
We've finally released the Instagram Clone course.
How the MVVM pattern was born, why it is used, and what parts should be taken care of when using it.
Learn the ins and outs of the MVVM pattern and start coding that way.
(↓↓↓Keynote screen capture used in class↓↓↓)
Create and use a Firebase server together.
(Firebase refers to a very easy server provided by Google.)
You can save post information, photos, user information, etc. uploaded from Instagram to Firebase and retrieve them from other devices.
(All features captured below are implemented in the lecture.)
Enter your email, password, name, and username to register your membership information to the Firebase server.
You can log in using the email and password information you registered with.
You can edit the membership information of the currently logged in account.
You can upload posts, which is the main function of Instagram.
When you upload a post, you can check it in the feed view (tab 1) and profile view (tab 5).
Additionally, the count of the number of user posts in tab 5 will also increase.
You can search for other registered users in the Search tab.
You can follow other accounts.
Following increases the target account's follower count and the current account's following count by 1.
We also implement a like function.
You can like this post by clicking the heart button on the post.
You can also check the accumulated number of likes for that post.
You can create a comments page to see all comments left on that post.
Additionally, current users can also register new comments.
All the features shown in the gif above were implemented through communication with Google Firebase servers.
All data changed on the iPhone device is sent to Google Firebase, and the modified data is reloaded on the iPhone device. (↓↓↓ Communicating with Firebase ↓↓↓)
Information written on the phone is reflected on the server
You can check posts and comments uploaded from phone A on phone B.
Following the basic Swift grammar, you will learn about various Swift grammars that allow you to understand and use more complex structures.
Optional: if-let, guard-let, optional binding, nil-coalescing
Error Handling: try, try?, try!, do-catch
Async-Await: Task, async, await, async-let (concurrent execution)
extension
enum
static function, static variable
switch-case
...
We will study the features of various SwiftUI frameworks, which is the core topic of the lecture.
We have structured the lecture to cover as many of the features that students will need when creating a new app as possible.
NavigationStack , NavigationLink : Move the screen
LazyVStack (LazyHStack): A one-column list view
LazyVGrid (LazyHStack), GridItem: n-column list view
TextField , SecureField (when entering password)
. refreshable : Drag to refresh
. task , . onAppear , onChange : Detect screen changes
. sheet : modal window
. searchable (search box)
Comparison of the differences between List vs LazyVStack vs ForEach
scaledToFit , scaledToFit , aspectRatio : Comparison of image filling methods
@State , @Binding , @Bindable , @Environment : data flow property wrappers
PhotosPicker : Select photos from images stored on your phone
...
Implement various functions in your project by adding codes that other people have already written to your project.
Also, to understand asynchrony and caching clearly.
Kingfisher vs AsyncImage vs Synchronous Image Loading
Let's do each of these three and compare them.
KingFisher : An external library for asynchronously downloading and caching images.
Firebase , FireStore , FirebaseAuth : Add an external server to your project to store various data externally. (Post information, account information, image information)
Not only do we provide the final finished code,
Split lecture codes are provided for each lecture.
You can easily find the changed parts of the code.
(↓↓↓Actual example code capture↓↓↓)
I recommend that you listen to the lecture below and then listen to the current lecture.
If you have basic knowledge of Swift and SwiftUI, you can go straight to this lecture, but there may be some difficult parts.
(If you are only taking this lecture, please check the table of contents below to see if you are familiar with the Swift and SwiftUI concepts explained in the lecture.)
Learn iOS for real beginners (SwiftUI, SwiftData, 2024)
I too had a beginner's period, and there were times when I had a hard time learning difficult concepts.
I recalled those memories and tried my best to make sure that no concept was omitted from the lecture.
Although it was difficult, I tried my best to explain all the codes that appear in the lecture.
I have minimized the amount of copy-and-paste code and explained it while typing the code along with it so that students can easily understand it.
Thank you so much for learning so much about this part in the last lecture.
In this lecture, I have tried to serve as a guide for your SwiftUI learning.
(↓↓Review of the previous series, iOS lecture for absolute beginners↓↓)
A. No, one purchase provides lifetime learning.
There is no time limit on the length of time you can take a class. All of my lectures are available for an unlimited period of time so you can review them at any time.
A. No, all the features I use in my lectures are free.
A. It may be difficult for those who are learning development for the first time. However, if you study Part 1: Real Beginner iOS Learning (SwiftUI, SwiftData, 2024) first, this course is structured so that you can fully understand it.
Who is this course right for?
Learn SwiftUI code from practice
For those who want to learn MVVM
Anyone who wants to create their own server communication with Firebase
Need to know before starting?
Advance lecture: Learning iOS for real beginners (SwiftUI)
467
Students
42
Reviews
68
Answers
5.0
Rating
4
Courses
안녕하세요 😀
누구나 쉽게 iOS 개발을 할 수 있도록 돕고 싶은
iOS 개발자 애구마입니다.
강의에 필요한 예제 만드는것을 좋아하고, 입문자에게 필요한 강의를 만들기 위해 연구합니다.
All
79 lectures ∙ (10hr 20min)
Course Materials:
12. MVC code practice
13:46
13. MVVM code practice
12:40
15. Setting up Firebase
14:32
20. Separating the Model
04:04
24. Creating a LoginView
09:08