Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
개발 · 프로그래밍

/

모바일 앱 개발

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

인스타그램 앱을 따라만들면서 배우는 실전 SwiftUI강의

(5.0) 수강평 18개

수강생 179명

  • 애구마(agmma)
클론코딩
토이프로젝트
포트폴리오
인스타그램
iOSSwiftUIMVVMFirebase

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • MVVM

  • SwiftUI

  • Firebase

  • Instagram

안녕하세요 iOS 현직 개발자 애구마(agmma)입니다

다른 일을 하다 만 31세에 개발공부를 시작하여 현재 네카라 중 한 곳에 계열사에서 열심히 iOS개발을 하고 있습니다

  • 2020년 연초 (만 31세) 부트캠프에서 개발 공부 시작

  • 2021년 연말(만 33세) 네카라 중 한곳 계열사 iOS 개발자 신입 취업

  • 2025년 현재까지 같은 회사에서 근무 중


비전공자로서 30대라는 늦은 나이에 개발을 시작했기에, 취업을 준비하는 분들의 막막함과 어려움을 누구보다 깊이 공감하고 있습니다. 또한, 꾸준한 성장을 위해 자신의 소중한 시간을 쏟아 이직을 준비하는 분들의 노력도 잘 알고 있습니다.

수입이 전혀 없던 2년간 오직 개발자라는 꿈을 위해 달려왔던 만큼, 비슷한 길을 걷는 분들에게 합리적인 가격에 양질의 강의를 제공하고 싶습니다.

아직 모든 커리큘럼이 완성되진 않았지만, 제가 계획한 모든 강의가 공개되었을 때, 제 강의만 꾸준히 따라오시면 1~2년 차 iOS 개발자에게 필요한 지식을 모두 갖출 수 있도록 책임감을 가지고 만들겠습니다.

Instgram Clone강의 출시!!!!

지난 강의 이후 많은 분들이 기다려주셨던 MVVM, Firebase를 이용한

Instagram Clone강의를 드디어 출시했습니다.

모든 코드에 MVVM 구조 적용

MVVM 패턴이 어떻게 태어났는지, 왜 쓰고, 어떤 부분을 신경써서 사용해야 하는지 등

MVVM 패턴에 대한 자세한 사용법을 배우고 해당 방식으로 코딩을 진행합니다.

(↓↓↓수업에서 사용되는 키노트 화면 캡처↓↓↓)


모든 기능에 Firebase 적용

Firebase 서버를 같이 만들고 사용합니다.

(Firebase란 구글에서 제공하는 아주 쉬운 서버를 의미합니다.)

인스타그램에서 업로드하는 게시글 정보, 사진, 유저정보등을 이 Firebase에 저장하고 다른 여러기기에서 가져올 수 있습니다.


Instagram Clone 기능 예시

(아래 캡쳐된 모든 기능을 강의에서 구현합니다.)

1. 회원가입 기능 구현


Email, Password, name, username을 기입하여 Firebase 서버로 해당 회원정보를 가입시킵니다.

2. 로그인 기능 구현


회원가입된 Email, password 정보를 통하여 해당 회원정보로 로그인할 수 있습니다.

3. 프로필, 프로필 편집 기능 구현


현재 로그인 된 계정의 회원정보를 수정할 수 있습니다.

4. 게시글 업로드 기능 구현


인스타그램의 메인 기능인 게시글을 업로드 할 수 있습니다.

게시글을 업로드하면, 피드뷰(1탭)과 프로필뷰(5탭)에서 게시글을 확인할 수 있습니다.

또한 5탭의 사용자 게시물 갯수의 카운트도 증가합니다.

5. 검색탭 구현


검색탭에서 회원가입된 다른 사용자들을 검색할 수 있습니다.

6. 팔로잉 기능 구현


다른 계정을 팔로잉 할 수 있습니다.

팔로잉하면 타겟 계정의 팔로워와 현재 계정의 팔로잉 숫자가 1씩 증가합니다.

7. 좋아요 기능 구현


좋아요 기능 또한 구현합니다.

해당 게시글의 하트버튼을 클릭하여 좋아요를 표시할 수 있습니다.

해당 게시글의 누적된 좋아요 수 또한 확인 가능합니다.

8. 댓글 기능 구현


댓글 페이지를 만들어서 해당 게시물에 남겨진 모든 댓글을 확인할 수 있습니다.

또한 현재 사용자의 새로운 댓글도 등록가능합니다.

9. 모든 기능은 Firebase 서버와의 통신으로 이루어집니다.


위에 gif로 보여드린 모든 기능은 Google Firebase 서버와의 통신을 통해 구현되었습니다.

아이폰 기기에서 변경된 모든 데이터는 Google Firebase에 보내고, 수정된 사항을 아이폰 기기에서 다시 로딩합니다. (↓↓↓ Firebase와 통신하는 모습 ↓↓↓)

폰에서 작성된 정보가 서버에 반영되는 모습

A폰에서 올린 게시글과 댓글을 B폰에서 확인할 수 있는 모습

이런 것들을 배워요

#Swift 중급 문법

기초 Swift 문법에 이어서, 좀더 복잡한 구조를 이해하고 사용할 수 있는 다양한 Swift 문법에 대해 배워 나갑니다.

  • Optional: if-let, guard-let, 옵셔널 바인딩, nil-coalescing

  • Error Handling: try, try?, try!, do-catch

  • Async-Await: Task, async, await, async-let(동시 실행)

  • extension

  • enum

  • static function, static variable

  • switch-case

  • ...

#다양한 SwiftUI 기능들

강의의 핵심 주제인 여러가지 SwiftUI 프레임워크의 기능들을 공부합니다.

수강하시는 여러분들이 새로운 앱을 만들때 필요할만한 기능들을 최대한 눌러 담아 강의를 구성하였습니다.

  • NavigationStack, NavigationLink : 화면 이동

  • LazyVStack(LazyHStack): 1열짜리 리스트 뷰

  • LazyVGrid(LazyHStack), GridItem : n열짜리 리스트 뷰

  • TextField, SecureField(비밀번호 입력시)

  • .refreshable: 끌어서 새로고침

  • .task, .onAppear, onChange: 화면 변화 감지

  • .sheet: 모달 창

  • .searchable(검색창)

  • List vs LazyVStack vs ForEach의 차이 비교

  • scaledToFit, scaledToFit, aspectRatio: 이미지 채우기 방식 비교

  • @State, @Binding, @Bindable, @Environment: data flow 프로퍼티 래퍼들

  • PhotosPicker: 핸드폰에 저장된 이미지에서 사진 고르기


  • ...

#외부 라이브러리 사용

다른 사람이 미리 짜놓은 코드 등을 프로젝트에 추가하여 프로젝트에서 다양한 기능을 구현합니다.

또한 비동기와 캐싱을 정확히 이해하기 위해

Kingfisher vs AsyncImage vs 동기방식의 이미지 로딩

이 3가지를 각각 수행하여 비교해봅니다.

  • KingFisher: 이미지를 비동기적으로 다운받고 캐싱하는 외부 라이브러리

  • Firebase, FireStore, FirebaseAuth: 프로젝트에 외부 서버를 추가하여 다양한 데이터를 외부에 저장합니다.(게시글 정보, 계정 정보, 이미지 정보)

강의별로 나누어진 예제 코드

최종 완성 코드만 제공하는게 아닌

각 1강의 마다 쪼개진 강의 코드를 제공합니다.

코드의 달라진 부분을 쉽게 찾을 수 있어요

(↓↓↓실제 예제코드 캡처↓↓↓)


선수 강의

아래 강의를 듣고 현재 강의를 듣는 것을 추천드립니다.

혹시 Swift와 SwiftUI의 기초적인 지식을 갖고 계신다면 이 강의를 바로 들어도 괜찮지만, 어려운 부분이 있을 수 있습니다.

(혹시 이 강의만 들으실 분은 아래 강의의 목차를 확인하여 강의에서 설명하는 Swift, SwiftUI 개념들을 숙지하고 있는지 체크 부탁드립니다.)

진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)


이해하기 쉬운 강의를 만들기 위해 노력했습니다.


저도 초보시절이 있었고, 어려운 개념을 학습할 때마다 힘들었던 시기가 있었습니다.

그때의 기억을 되살리며 강의에서 생략된 개념이 없도록 최대한 신경썼습니다.

어렵더라도 최대한 강의에 나오는 모든 코드에 대해 설명하려고 노력하였습니다.

복붙하는 코드는 최소화하였고, 수강생들이 이해하기 쉽도록 코드를 같이 타이핑하면서 설명합니다.


지난 강의에서도 이부분을 많이 알아주셔서 너무 감사드렸습니다.

이번 강의에서도 여러분들의 SwiftUI 학습에 길잡이가 될 수 있도록 노력하였습니다.

(↓↓이전 시리즈인 왕초보 iOS강의 리뷰↓↓)



Q. 수강 기간의 제한이 있나요?

A. 아뇨, 한번의 구매로 평생 학습이 가능합니다.

아무런 수강기한의 제한이 없습니다. 언제든지 다시 복습할 수 있도록 저의 모든 강의는 수강기한이 무제한입니다.


Q. Firebase 서버를 만드는데 비용이 드나요?

A. 아뇨, 제 강의에서 사용하는 기능은 전부 무료입니다.


Q. 초보자도 쉽게 들을 수 있나요?

A. 개발을 처음 배우는 분에게는 어려울 수 있습니다. 하지만 Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024) 강의를 먼저 학습하시면 이 강의는 충분히 이해하실 수 있도록 구성하였습니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 실전에서 배우는 SwiftUI코드 학습

  • MVVM을 배우고 싶으신 분

  • Firebase로 자신만의 서버통신을 만들어 보고 싶으신 분

선수 지식,
필요할까요?

  • 선수강의: 진짜 왕초보 iOS 배우기(SwiftUI)

안녕하세요
입니다.

830

수강생

77

수강평

82

답변

5.0

강의 평점

5

강의

안녕하세요 😀

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

iOS 개발자 애구마입니다.

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

 

 agmma5000@gmail.com 

커리큘럼

전체

79개 ∙ (10시간 20분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

18개

5.0

18개의 수강평

  • cys020628님의 프로필 이미지
    cys020628

    수강평 2

    평균 평점 5.0

    5

    97% 수강 후 작성

    I recommend studying slowly from Part 1. Even after completing the course, it was good that you made it easy to listen to by directly modifying each lecture when errors occurred due to version differences. I also really liked that you tried to tell me even one more important or necessary part while doing it, and I also liked that you answered questions quickly when I posted them. I highly recommend it to those who want to study step by step.

    • agmma
      지식공유자

      Thank you for the kind review! I hope you succeed in getting a job, cys. I'll also make sure to create more great lectures that are necessary for getting a job. You can do it!

  • zed님의 프로필 이미지
    zed

    수강평 2

    평균 평점 5.0

    5

    30% 수강 후 작성

    • codingco님의 프로필 이미지
      codingco

      수강평 6

      평균 평점 5.0

      5

      30% 수강 후 작성

      • hae1117377님의 프로필 이미지
        hae1117377

        수강평 1

        평균 평점 5.0

        5

        100% 수강 후 작성

        • taiken3097님의 프로필 이미지
          taiken3097

          수강평 4

          평균 평점 5.0

          5

          30% 수강 후 작성

          Concise explanation.

          ₩99,000

          애구마(agmma)님의 다른 강의

          지식공유자님의 다른 강의를 만나보세요!

          비슷한 강의

          같은 분야의 다른 강의를 만나보세요!