Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Mobile Application Development

Part 2: Intermediate iOS Instagram Clone (SwiftUI, MVVM, Firebase, 2024)

Learn by following the Instagram app Practical SwiftUI lecture

(5.0) 18 reviews

179 learners

  • agmma
클론코딩
토이프로젝트
포트폴리오
인스타그램
iOS
SwiftUI
MVVM
Firebase

Reviews from Early Learners

What you will learn!

  • MVVM

  • SwiftUI

  • Firebase

  • Instagram

Hello, I am aguma, a current iOS developer.

I started studying development at the age of 31 while working in another field, and I am currently working hard on iOS development at an affiliate of Nekara.

  • Started studying development at a boot camp in early 2020 (at the age of 31)

  • New iOS developer job at one of Nekara's affiliates at the end of 2021 (age 33)

  • Still working at the same company as of 2025


As a non-major who started developing late in his 30s, I sympathize more deeply than anyone else with the frustration and difficulties of those preparing for employment. I also know well the efforts of those who are preparing for a job change by investing their precious time in order to achieve steady growth.

As I have been running towards my dream of becoming a developer for two years with no income at all, I would like to provide quality lectures at a reasonable price to those who are following a similar path.

Although the entire curriculum is not yet complete, when all the lectures I have planned are released, I will responsibly create a system where you can acquire all the knowledge necessary for a 1-2 year iOS developer by just following my lectures .

Instgram Clone lecture released!!!!

MVVM, Firebase, which many people have been waiting for since the last lecture

We've finally released the Instagram Clone course.

Apply MVVM structure to all code

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↓↓↓)


Apply Firebase to all features

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.


Instagram Clone Feature Example

(All features captured below are implemented in the lecture.)

1. Implementation of membership registration function


Enter your email, password, name, and username to register your membership information to the Firebase server.

2. Implementing login function


You can log in using the email and password information you registered with.

3. Implement profile and profile editing functions


You can edit the membership information of the currently logged in account.

4. Implementing post upload function


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.

5. Implementing the search tab


You can search for other registered users in the Search tab.

6. Implementing the following function


You can follow other accounts.

Following increases the target account's follower count and the current account's following count by 1.

7. Implementing the Like function


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.

8. Implementing comment function


You can create a comments page to see all comments left on that post.

Additionally, current users can also register new comments.

9. All functions are performed through communication with the Firebase server.


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.

Learn these things

#Swift intermediate grammar

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

  • ...

#Various SwiftUI features

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 a 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


  • ...

#Using external libraries

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)

Example code divided by lecture

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↓↓↓)


Player lecture

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)


We have tried to make the lectures easy to understand.


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↓↓)



Q. Is there a limit to the course period?

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.


Q. Does it cost anything to create a Firebase server?

A. No, all the features I use in my lectures are free.


Q. Is it easy for beginners to listen to?

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.

Recommended for
these people

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)

Hello
This is

838

Learners

77

Reviews

82

Answers

5.0

Rating

5

Courses

안녕하세요 😀

누구나 쉽게 iOS 개발을 할 수 있도록 돕고 싶은

iOS 개발자 애구마입니다.

강의에 필요한 예제 만드는것을 좋아하고, 입문자에게 필요한 강의를 만들기 위해 연구합니다.

 

 agmma5000@gmail.com 

Curriculum

All

79 lectures ∙ (10hr 20min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

18 reviews

5.0

18 reviews

  • cys020628님의 프로필 이미지
    cys020628

    Reviews 2

    Average Rating 5.0

    5

    97% enrolled

    파트 1부터 천천히 공부하는걸 추천 드립니다. 완강이 되도 버전이 틀려서 에러가 나면 직접 하나하나 강의 수정하시면서 듣는데 문제 없게 해주신 점이 좋았습니다. 하면서도 중요한 부분이나 필요한 부분 하나라도 더 알려주시려고 한 점이 너무 좋았으며 질문같은것도 올리면 빠르게 답변해주시는 부분도 좋았습니다 하나하나 공부하며 천천히 공부하실 분들에게 너무 추천드립니다

    • 애구마(agmma)
      Instructor

      친절한 수강평 감사드립니다! cys님께서 꼭 취업까지 성공하시길 바라겠습니다. 저도 취업에 필요한 더 좋은 강의 많이 만들어가도록 할게요 화이팅입니다!

  • 이상현님의 프로필 이미지
    이상현

    Reviews 2

    Average Rating 5.0

    5

    30% enrolled

    • cooood님의 프로필 이미지
      cooood

      Reviews 6

      Average Rating 5.0

      5

      30% enrolled

      • 장효석님의 프로필 이미지
        장효석

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        • 전재형님의 프로필 이미지
          전재형

          Reviews 4

          Average Rating 5.0

          5

          30% enrolled

          군더더기 없이 깔끔한 설명입니다.

          $77.00

          agmma's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!