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

/

Mobile Application Development

Flutter nâng cao - Kiến trúc cấp độ thực tế

Khóa học thực chiến xây dựng một ứng dụng ở cấp độ dịch vụ thực tế từ đầu đến cuối. Học cách phát triển ứng dụng có khả năng mở rộng và dễ bảo trì bằng cách áp dụng Clean Architecture và MVVM pattern.

(4.7) 30 đánh giá

262 học viên

  • survivalcoding
플러터
Flutter
clean-architecture
MVVM
state-management

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

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

  • Clean Architecture와 MVVM 패턴을 실제 프로젝트에 적용하는 방법

  • Cách thiết kế và triển khai UI component phức tạp có thể tái sử dụng

  • Cách quản lý trạng thái và định tuyến hiệu quả

  • Phương pháp xử lý lỗi theo cấp độ dịch vụ thực tế

Kiến trúc ứng dụng hiện đại được các công ty công nghệ lớn lựa chọn
Kiến trúc sạch & Mô hình MVVM

Phát triển ứng dụng Flutter trong thế giới thực:
Kiến trúc ứng dụng cho thiết kế ứng dụng có khả năng mở rộng 🏗


Tại sao mã trở nên khó bảo trì hơn khi ứng dụng phát triển? 🤔

Câu trả lời nằm ở Clean Architecture và mô hình MVVM . Kiến trúc này được các công ty công nghệ lớn áp dụng, là phương pháp thiết kế cốt lõi quản lý logic kinh doanh phức tạp một cách có hệ thống và cho phép dễ dàng thêm các tính năng mới.

Trong khóa học này, chúng ta sẽ triển khai một ứng dụng cấp dịch vụ thực tế bằng Flutter và Clean Architecture. Chúng ta sẽ đề cập đến các chủ đề chuyên sâu mà bạn sẽ gặp phải trong thực tế, chẳng hạn như Dependency Injection, quản lý trạng thái phân cấp, viết mã có thể kiểm tra và xử lý lỗi.
Nếu bạn đã chán các hướng dẫn cấp độ Hello World, khóa học này sẽ mang đến cho bạn niềm vui thiết kế kiến ​​trúc thực sự trong khi tạo ra một ứng dụng sẵn sàng đưa vào sản xuất! 💪

Các tính năng của khóa học này

📌 Trình bày các vấn đề và giải pháp xảy ra trong môi trường sản xuất thực tế

📌 Mã nguồn từng bước được cung cấp qua GitHub

📌 Tất cả mã được viết theo cách cho phép kiểm thử đơn vị và kiểm thử giao diện người dùng.

📌 Khóa học này dành cho người học ở trình độ trung cấp và nâng cao.

1⃣ Hướng dẫn xây dựng ứng dụng cấp độ sản xuất từ ​​Figma

Bài giảng này sẽ giải thích chi tiết về quy trình phát triển ứng dụng khi nhận được thiết kế từ Figma.


2⃣ Cấu trúc thư mục của ứng dụng được viết trong bài giảng

Cấu trúc của ứng dụng được viết trong lớp.
Các mẫu MVVM, MVI dựa trên kiến ​​trúc sạch


3⃣ Không sử dụng thư viện quản lý trạng thái

Nhiều nhà phát triển sử dụng thư viện quản lý trạng thái vì cảm thấy bắt buộc, nhưng không cần thiết phải làm như vậy. Các tính năng cơ bản do Flutter cung cấp là đủ cho việc quản lý trạng thái.
Trong khóa học này, chúng ta sẽ chỉ sử dụng các thư viện tối thiểu như sau:


4⃣ Thiết kế UI có thể kiểm tra được

Tạo một UI không bị ảnh hưởng bởi bất kỳ yếu tố bên ngoài nào


5⃣ Cấu hình bộ định tuyến thân thiện với liên kết sâu

Hướng dẫn cấu hình bộ định tuyến thân thiện với liên kết sâu cần thiết cho nơi làm việc


6⃣ Chiến lược xử lý lỗi cho việc xử lý lỗi phức tạp hơn

Cải thiện mẫu Kết quả hiện có để cung cấp phương pháp xử lý lỗi phù hợp cho các tình huống phức tạp


Tôi khuyên những người có những lo ngại này nên làm như vậy.

Mã ngày càng trở nên phức tạp hơn
Thật khó để quản lý

Được sử dụng trong thực tế
Tôi muốn học kiến ​​trúc

Dễ dàng kiểm tra và bảo trì
Tôi muốn tạo một ứng dụng

"Tôi có thể tạo ra các tiện ích, nhưng khi kích thước tăng lên, mã sẽ trở nên rườm rà..."

"Tôi không biết cách áp dụng Clean Architecture và MVVM vào thực tế"

“Tôi muốn cấu trúc lại mã của mình, nhưng không biết bắt đầu từ đâu.”

"Tôi không biết cách quản lý trạng thái"

"Tôi cần kiến ​​thức thực tế để có thể áp dụng ngay vào công việc."

"Tôi không biết cách viết mã có thể kiểm tra được"

"Mỗi lần chúng tôi thêm một tính năng mới, chúng tôi phải sửa đổi rất nhiều mã hiện có."

"Tôi đã nghiên cứu các mẫu thiết kế, nhưng tôi thấy khó có thể áp dụng chúng vào các dự án thực tế."

"Tôi lo rằng có thể để nguyên như vậy vì có vẻ như nợ kỹ thuật đang chồng chất."


Sau khi học xong lớp này, bạn sẽ như thế này


1. Thiết kế ứng dụng có hệ thống trở nên khả thi

  • Bạn có thể phân biệt rõ ràng và thiết kế từng lớp của Kiến trúc sạch.

  • Khi bạn cần thêm tính năng mới, bạn có thể mở rộng mà không cần động tới mã hiện có.

  • Nó cho phép bạn áp dụng các nguyên tắc SOLID một cách tự nhiên vào các dự án thực tế.

2. Bạn có thể thực hiện quản lý trạng thái chuyên nghiệp.

  • Bạn sẽ học được các phương pháp quản lý trạng thái hiệu quả mà không cần sử dụng thư viện bên ngoài.

  • Ngay cả logic kinh doanh phức tạp cũng có thể được xử lý một cách gọn gàng.

  • Có thể quản lý trạng thái sạch mà không bị rò rỉ bộ nhớ.

3. Bạn có thể viết mã có thể kiểm tra được.

  • Bạn có thể viết mã có thể sử dụng cho mọi thứ, từ thử nghiệm đơn vị đến thử nghiệm UI.


  • Bạn có thể liên tục theo dõi và cải thiện chất lượng mã.

4. Bạn có thể viết code được công nhận trong thực tế.

// Trước lớp học Màn hình chính mở rộng Tiện ích trạng thái { @ghi đè Trạng thái < HomeScreen > createState() => _HomeScreenState(); } // Sau đó lớp học Màn hình chính mở rộng Tiện ích không trạng thái { trạng thái HomeState cuối cùng ; hàm void cuối cùng ( HomeAction action) onAction; // Viết mã có thể kiểm tra và tái sử dụng }

5. Hoàn thành một dự án có thể sử dụng làm hồ sơ năng lực.

  • Bạn có thể sử dụng các ứng dụng chất lượng cao với mức dịch vụ thực tế làm danh mục đầu tư của mình.


  • Bạn có thể tích lũy kinh nghiệm thực tế khi áp dụng kiến ​​trúc sạch.

Tìm hiểu về những điều này.


Kiến trúc sạch: Phân tách lớp và tiêm phụ thuộc

"Một ứng dụng không có kiến ​​trúc giống như một món đồ chơi không có Lego." Tìm hiểu cách tách biệt logic kinh doanh khỏi UI một cách rõ ràng và viết mã linh hoạt, có thể kiểm tra được bằng cách sử dụng dependency injection.

Mô hình MVVM: Quản lý trạng thái và luồng dữ liệu đơn hướng

"Quản lý trạng thái là trái tim của ứng dụng." Tìm hiểu cách tạo các ứng dụng dễ gỡ lỗi, có thể dự đoán được với khả năng quản lý trạng thái hiệu quả và thiết kế luồng dữ liệu đơn hướng.

Xử lý lỗi: Cải thiện trải nghiệm người dùng

“Lỗi là điều không thể tránh khỏi, nhưng có thể quản lý được.” Bao gồm cách xử lý lỗi mạng, xác thực dữ liệu và ngoại lệ một cách có hệ thống, đồng thời cung cấp phản hồi phù hợp cho người dùng.

Các thành phần có thể tái sử dụng: Thiết kế và triển khai UI

"Một thành phần tốt được xây dựng một lần và sử dụng mãi mãi." Tìm hiểu cách thiết kế và triển khai các thành phần UI có thể tái sử dụng, xây dựng cây tiện ích hiệu quả và tối ưu hóa hiệu suất.

Ai đã tạo ra khóa học này

  • 2018: Viết Android cho đến khi nó xảy ra

  • 2018: Được viết bởi Oh Jun-seok's Android Survival Coding: Kotlin Edition

  • 2020: Cuốn sách Flutter đầu tiên của Hàn Quốc: Flutter Survival Coding của Oh Jun-seok (Được Sejong Books lựa chọn năm 2020)

  • 2020 ~ 2024: 9 đợt đào tạo lập trình viên Flutter


Những điều cần lưu ý trước khi tham gia lớp học

Môi trường thực hành

  • Bài giảng được quay bằng macOS, Flutter 3.24 và Dart 3.5.4.

  • Tôi sử dụng Android Studio.

  • Giải thích này dựa trên trình giả lập Android.


Kiến thức và ghi chú của người chơi

  • Sẽ rất hữu ích nếu bạn đã xem "Flutter Intermediate - Clean Architecture" hoặc có kiến ​​thức tương đương.


  • Điều này phù hợp với người học Flutter ở trình độ trung cấp.

Lộ trình

bản đồ tải rung động

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

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

  • Lập trình viên muốn làm app thực tế bằng Flutter

  • Lập trình viên muốn áp dụng Clean Architecture và MVVM pattern vào thực tế

  • Người muốn học cách phát triển ứng dụng có cân nhắc UI/UX

  • Quan tâm thiết kế component tái sử dụng

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

  • Ngữ pháp cơ bản ngôn ngữ Dart

  • Widget cơ bản và Layout trong Flutter

  • Khái niệm cơ bản lập trình hướng đối tượng

Xin chào
Đây là

11,622

Học viên

813

Đánh giá

856

Trả lời

4.7

Xếp hạng

14

Các khóa học

교육하고 책 쓰는 개발자 오준석입니다.
'오준석의 생존코딩' 유튜브 채널과 생존코딩 (https://survivalcoding.com) 교육 플래폼을 운영중입니다.

전문 분야 : Android, Flutter

저서
오준석의 플러터 생존코딩 (한빛미디어 2020)
오준석의 안드로이드 생존코딩: 코틀린 편 (한빛미디어 2018)
될 때까지 안드로이드 (루비페이퍼 2018)

주요경력
오렌지(OhRange) 대표
세민직업전문학교 정보기술개발 직업훈련교사
수원스마트앱개발학원 운영
LG전자 MC사업부
일본 아이치현 (株)東海理科 Security사업부
일본 아이치현 (株)日本テクシード IT사업부

LinkedIn: https://www.linkedin.com/in/junsuk5/

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

Tất cả

54 bài giảng ∙ (13giờ 57phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

30 đánh giá

4.7

30 đánh giá

  • mmmkb1님의 프로필 이미지
    mmmkb1

    Đánh giá 1

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Thanks to Junseok Oh, I started working at Flutter 5 months ago after joining the company last year. Usually, people start out by looking at Dart's easy grammar and fancy app UI, but when the project gets complicated, many people give up quickly because they don't know how to manage it. I was one of them 😭 This lecture is a very valuable lecture that teaches you how to efficiently manage Flutter projects. It doesn't teach you tricks, but the most important things. It's the most fundamental lecture among Flutter lectures. I recommend this lecture to other beginners and professionals so that they don't give up and survive in the industry!

    • emptynet님의 프로필 이미지
      emptynet

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      73% đã tham gia

      Thank you for the great lecture. In addition, I wish there was a test code and an example of actual application like the previous lectures, but I will try to make up for it by doing it myself. I am always looking forward to it. I would appreciate it if you could come back soon with a better lecture next time ^^!!

      • rheech224434님의 프로필 이미지
        rheech224434

        Đánh giá 3

        Đánh giá trung bình 5.0

        Đã chỉnh sửa

        5

        100% đã tham gia

        I had to deal with a project implemented with Flutter urgently, so I quickly skimmed the basics based on the official documents and took this course. I applied a new architecture by referring to the contents learned in the course and improved a lot of existing highly coupled code. Thanks to that, I was able to start with a lot of code cleanup and it is still very helpful. If I have to point out something that was lacking, since it is an intermediate to advanced course, it would have been great if I could have experienced writing test code along with more diverse implementation examples instead of just showing the simple UI implementation. However, this impression may be due to the fact that I have not taken other courses by the instructor that are composed of various topics. Above all, I think it is a useful course for learning practical Flutter experience while considering a good architecture, as the title suggests. Thank you for the great course!

        • iamlimyeonju2930님의 프로필 이미지
          iamlimyeonju2930

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          It was really helpful! I was glad that you explained how to make an app using Figma, which I didn't know when I was developing it alone. The way to divide folder structures and implement deep links were also really good. Thank you for the great lecture!!

          • songjin39148713님의 프로필 이미지
            songjin39148713

            Đánh giá 19

            Đánh giá trung bình 5.0

            Đã chỉnh sửa

            5

            100% đã tham gia

            First, let's summarize why I think this lecture is good: 1. It was good to learn how to make an app based on the Figma design standard. 2. It was good to learn how to make custom widgets and how to implement deep links. 3. It was good to be able to quickly review the overall structure. Personally, when I heard about collaboration through Figma, mentioned in number 1, I was curious about the process of actually implementing the design in code, and I think that was the best part. Finally, I would like to thank the teacher for the good lecture.

            2.537.155 ₫

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

            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!