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

/

Mobile Application Development

Phần 2: Bản sao Instagram iOS dành cho người mới bắt đầu-trung cấp (SwiftUI, MVVM, Firebase, 2024)

Học bằng cách theo dõi ứng dụng Instagram Bài giảng SwiftUI thực tế

(5.0) 18 đánh giá

178 học viên

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

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • MVVM

  • SwiftUI

  • căn cứ hỏa lực

  • Instagram

Xin chào, tôi là aguma, hiện là nhà phát triển iOS.

Tôi bắt đầu học phát triển phần mềm ở tuổi 31 trong khi vẫn làm việc trong một lĩnh vực khác và hiện đang làm việc chăm chỉ về phát triển iOS tại một công ty liên kết của Nekara.

  • Bắt đầu học phát triển tại một trại huấn luyện vào đầu năm 2020 (ở tuổi 31)

  • Công việc lập trình viên iOS mới tại một trong những chi nhánh của Nekara vào cuối năm 2021 (33 tuổi)

  • Vẫn làm việc tại cùng một công ty cho đến năm 2025


Là một người không chuyên ngành và bắt đầu phát triển sự nghiệp ở độ tuổi 30, tôi đồng cảm sâu sắc hơn bất kỳ ai với những khó khăn và sự thất vọng của những người đang chuẩn bị tìm việc. Tôi cũng hiểu rõ những nỗ lực của những người đang chuẩn bị thay đổi công việc bằng cách đầu tư thời gian quý báu của mình để đạt được sự phát triển ổn định.

Trong hai năm theo đuổi ước mơ trở thành nhà phát triển mà không có thu nhập, tôi muốn cung cấp những bài giảng chất lượng với mức giá hợp lý cho những ai đang theo đuổi con đường tương tự.

Mặc dù toàn bộ chương trình giảng dạy vẫn chưa hoàn thiện, nhưng khi tất cả các bài giảng tôi đã lên kế hoạch được công bố, tôi sẽ có trách nhiệm tạo ra một hệ thống nơi bạn có thể tiếp thu mọi kiến thức cần thiết cho một nhà phát triển iOS 1-2 năm chỉ bằng cách tham gia các bài giảng của tôi .

Bài giảng về bản sao của Instagram đã được phát hành!!!!

MVVM, Firebase, thứ mà nhiều người đã chờ đợi kể từ bài giảng trước

Cuối cùng chúng tôi đã phát hành khóa học Sao chép Instagram.

Áp dụng cấu trúc MVVM cho tất cả mã

Mô hình MVVM ra đời như thế nào, tại sao nó được sử dụng và những phần nào cần lưu ý khi sử dụng nó.

Tìm hiểu những chi tiết cơ bản của mô hình MVVM và bắt đầu viết mã theo cách đó.

(↓↓↓Ảnh chụp màn hình Keynote được sử dụng trong lớp học↓↓↓)


Áp dụng Firebase cho tất cả các tính năng

Tạo và sử dụng máy chủ Firebase cùng nhau.

(Firebase là tên gọi của một máy chủ rất dễ sử dụng do Google cung cấp.)

Bạn có thể lưu thông tin bài đăng, ảnh, thông tin người dùng, v.v. được tải lên từ Instagram lên Firebase và truy xuất chúng từ các thiết bị khác.


Ví dụ về tính năng sao chép Instagram

(Tất cả các tính năng được ghi lại bên dưới đều được triển khai trong bài giảng.)

1. Triển khai chức năng đăng ký thành viên


Nhập email, mật khẩu, tên và tên người dùng để đăng ký thông tin thành viên của bạn với máy chủ Firebase.

2. Triển khai chức năng đăng nhập


Bạn có thể đăng nhập bằng thông tin email và mật khẩu đã đăng ký.

3. Triển khai chức năng chỉnh sửa hồ sơ và hồ sơ


Bạn có thể chỉnh sửa thông tin thành viên của tài khoản hiện đang đăng nhập.

4. Triển khai chức năng tải bài viết lên


Bạn có thể tải bài viết lên, đây là chức năng chính của Instagram.

Khi bạn tải bài đăng lên, bạn có thể kiểm tra bài đăng đó ở chế độ xem nguồn cấp dữ liệu (tab 1) và chế độ xem hồ sơ (tab 5).

Ngoài ra, số lượng bài đăng của người dùng trong tab 5 cũng sẽ tăng lên.

5. Triển khai tab tìm kiếm


Bạn có thể tìm kiếm những người dùng đã đăng ký khác trong tab Tìm kiếm.

6. Triển khai chức năng sau


Bạn có thể theo dõi các tài khoản khác.

Việc theo dõi sẽ tăng số lượng người theo dõi của tài khoản mục tiêu và số lượng người theo dõi của tài khoản hiện tại thêm 1.

7. Triển khai chức năng Like


Chúng tôi cũng triển khai một hàm tương tự.

Bạn có thể thích bài viết này bằng cách nhấp vào nút trái tim.

Bạn cũng có thể kiểm tra số lượt thích tích lũy của bài đăng đó.

8. Triển khai chức năng bình luận


Bạn có thể tạo trang bình luận để xem tất cả bình luận được để lại trên bài đăng đó.

Ngoài ra, người dùng hiện tại cũng có thể đăng ký bình luận mới.

9. Mọi chức năng đều được thực hiện thông qua giao tiếp với máy chủ Firebase.


Tất cả các tính năng được hiển thị trong gif ở trên đều được triển khai thông qua giao tiếp với máy chủ Google Firebase.

Mọi dữ liệu đã thay đổi trên thiết bị iPhone đều được gửi đến Google Firebase và dữ liệu đã sửa đổi sẽ được tải lại trên thiết bị iPhone. (↓↓↓ Giao tiếp với Firebase ↓↓↓)

Thông tin được ghi trên điện thoại được phản ánh trên máy chủ

Bạn có thể kiểm tra các bài đăng và bình luận được tải lên từ điện thoại A trên điện thoại B.

Học những điều này

#Ngữ pháp trung cấp nhanh

Sau ngữ pháp Swift cơ bản, bạn sẽ tìm hiểu về nhiều ngữ pháp Swift khác nhau cho phép bạn hiểu và sử dụng các cấu trúc phức tạp hơn.

  • Tùy chọn: if-let, guard-let, ràng buộc tùy chọn, nil-coalescing

  • Xử lý lỗi: try, try?, try!, do-catch

  • Async-Await: Nhiệm vụ, async, await, async-let (thực thi đồng thời)

  • sự mở rộng

  • liệt kê

  • hàm tĩnh, biến tĩnh

  • hộp chuyển đổi

  • ...

#Nhiều tính năng khác nhau của SwiftUI

Chúng ta sẽ nghiên cứu các tính năng của nhiều nền tảng SwiftUI khác nhau, đây là chủ đề chính của bài giảng.

Chúng tôi đã xây dựng bài giảng sao cho có thể bao quát được nhiều tính năng mà sinh viên cần khi tạo ứng dụng mới nhất có thể.

  • NavigationStack , NavigationLink : Di chuyển màn hình

  • LazyVStack (LazyHStack): Chế độ xem danh sách một cột

  • LazyVGrid (LazyHStack), GridItem: chế độ xem danh sách n cột

  • TextField , SecureField (khi nhập mật khẩu)

  • . có thể làm mới : Kéo để làm mới

  • . task , . onAppear , onChange : Phát hiện những thay đổi trên màn hình

  • . sheet : cửa sổ modal

  • . có thể tìm kiếm (hộp tìm kiếm)

  • So sánh sự khác biệt giữa List vs LazyVStack vs ForEach

  • scaledToFit , scaledToFit , aspectRatio : So sánh các phương pháp điền hình ảnh

  • @State , @Binding , @Bindable , @Environment : các trình bao bọc thuộc tính luồng dữ liệu

  • PhotosPicker : Chọn ảnh từ các ảnh được lưu trữ trên điện thoại của bạn


  • ...

#Sử dụng thư viện bên ngoài

Triển khai nhiều chức năng khác nhau trong dự án của bạn bằng cách thêm mã mà người khác đã viết vào dự án.

Ngoài ra, để hiểu rõ về tính bất đồng bộ và lưu trữ đệm.

Kingfisher so với AsyncImage so với Tải hình ảnh đồng bộ

Chúng ta hãy thực hiện từng bước trong ba bước này và so sánh chúng.

  • KingFisher : Thư viện bên ngoài để tải xuống và lưu trữ hình ảnh không đồng bộ.

  • Firebase , FireStore , FirebaseAuth : Thêm một máy chủ bên ngoài vào dự án của bạn để lưu trữ nhiều dữ liệu bên ngoài. (Thông tin bài đăng, thông tin tài khoản, thông tin hình ảnh)

Mã ví dụ chia cho bài giảng

Chúng tôi không chỉ cung cấp mã hoàn thiện cuối cùng,

Mã bài giảng được cung cấp cho từng bài giảng.

Bạn có thể dễ dàng tìm thấy những phần đã thay đổi của mã.

(↓↓↓Ví dụ thực tế về mã chụp↓↓↓)


Bài giảng của người chơi

Tôi khuyên bạn nên nghe bài giảng bên dưới và sau đó nghe bài giảng hiện tại.

Nếu bạn có kiến thức cơ bản về Swift và SwiftUI, bạn có thể tham khảo ngay bài giảng này, nhưng có thể có một số phần khó.

(Nếu bạn chỉ tham gia bài giảng này, vui lòng kiểm tra mục lục bên dưới để xem bạn có quen thuộc với các khái niệm Swift và SwiftUI được giải thích trong bài giảng hay không.)

Học iOS cho người mới bắt đầu thực sự (SwiftUI, SwiftData, 2024)


Chúng tôi đã cố gắng tạo ra những bài giảng dễ hiểu.


Tôi cũng từng trải qua giai đoạn mới bắt đầu và có lúc tôi gặp khó khăn khi học những khái niệm khó.

Tôi nhớ lại những ký ức đó và cố gắng hết sức để đảm bảo không bỏ sót khái niệm nào trong bài giảng.

Mặc dù khó, tôi đã cố gắng hết sức để giải thích tất cả các mã xuất hiện trong bài giảng.

Tôi đã giảm thiểu lượng mã sao chép và dán và giải thích mã trong khi gõ mã cùng với mã để học sinh có thể dễ dàng hiểu được.


Cảm ơn bạn rất nhiều vì đã học được nhiều điều về phần này trong bài giảng trước.

Trong bài giảng này, tôi đã cố gắng hướng dẫn bạn cách học SwiftUI.

(↓↓Đánh giá loạt bài trước, bài giảng iOS dành cho người mới bắt đầu↓↓)



H. Khóa học có giới hạn thời gian không?

A. Không, chỉ cần mua một lần là có thể học trọn đời.

Không có giới hạn thời gian học. Tất cả các bài giảng của tôi đều có sẵn trong thời gian không giới hạn nên bạn có thể xem lại bất cứ lúc nào.


H. Có mất phí gì để tạo máy chủ Firebase không?

A. Không, tất cả các tính năng tôi sử dụng trong bài giảng đều miễn phí.


H. Người mới bắt đầu có dễ nghe không?

A. Khóa học này có thể hơi khó với những người mới bắt đầu học lập trình. Tuy nhiên, nếu bạn học Phần 1: Học iOS Cơ bản Thực tế (SwiftUI, SwiftData, 2024) trước, khóa học này được thiết kế để bạn có thể hiểu toàn diện.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Học mã SwiftUI trong thực tế

  • Bất cứ ai muốn học MVVM

  • Bất kỳ ai muốn tạo liên lạc với máy chủ của riêng mình với Firebase

Cần biết trước khi bắt đầu?

  • Bài giảng tiên quyết: Học iOS cho người mới bắt đầu thực sự (SwiftUI)

Xin chào
Đây là

838

Học viên

77

Đánh giá

82

Trả lời

5.0

Xếp hạng

5

Các khóa học

안녕하세요 😀

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

iOS 개발자 애구마입니다.

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

 

 agmma5000@gmail.com 

Chương trình giảng dạy

Tất cả

79 bài giảng ∙ (10giờ 20phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

18 đánh giá

5.0

18 đánh giá

  • cys020628님의 프로필 이미지
    cys020628

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    97% đã tham gia

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

    • 애구마(agmma)
      Giảng viên

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

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

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    • cooood님의 프로필 이미지
      cooood

      Đánh giá 6

      Đánh giá trung bình 5.0

      5

      30% đã tham gia

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

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

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

          Đánh giá 4

          Đánh giá trung bình 5.0

          5

          30% đã tham gia

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

          2.091.405 ₫

          Khóa học khác của agmma

          Hãy khám phá các khóa học khác của giảng viên!

          Khóa học tương tự

          Khám phá các khóa học khác trong cùng lĩnh vực!