Flutter Nâng cao - Kiến trúc cấp độ thực tế chuyên nghiệp

Khóa học thực hành xây dựng một ứng dụng ở cấp độ dịch vụ thực tế từ đầu đến cuối. Học phương pháp 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à mô hình MVVM.

(4.7) 38 đánh giá

302 học viên

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Flutter
Flutter
clean-architecture
clean-architecture
MVVM
MVVM
state-management
state-management
Flutter
Flutter
clean-architecture
clean-architecture
MVVM
MVVM
state-management
state-management

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

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

4.7

5.0

john snake

100% đã tham gia

Nhờ có Giáo sư Oh Jun-seok mà tôi đã được tuyển dụng vào năm ngoái và đã làm việc tại Flutter được năm tháng. Nhiều người bắt đầu bằng cách xem ngữ pháp dễ hiểu và giao diện ứng dụng đẹp mắt của Dart, nhưng khi dự án trở nên phức tạp, họ nhanh chóng từ bỏ vì không biết cách quản lý nó. Tôi là một trong số họ😭 Đây là bài giảng rất có giá trị giúp bạn biết cách quản lý dự án Flutter hiệu quả. Nó dạy cho bạn những điều quan trọng nhất, chứ không phải những chi tiết. Đây là bài giảng cơ bản nhất trong các bài giảng về Flutter. Tôi giới thiệu khóa học này cho những người mới bắt đầu và những người đang đi làm để họ không bỏ cuộc, không bỏ cuộc và tồn tại trong lĩnh vực này cho đến khi kết thúc!

5.0

Nostia

73% đã tham gia

Cảm ơn bạn vì những bài giảng luôn tuyệt vời. Ngoài ra, tôi hơi thất vọng vì sẽ tốt hơn nếu tôi viết mã kiểm tra và đưa vào các ví dụ thực tế như trong các bài giảng trước, nhưng tôi sẽ xoa dịu sự hối tiếc của mình bằng cách tự mình thử nghiệm. Luôn chờ đợi. Tôi sẽ rất cảm kích nếu lần sau bạn có thể quay lại sớm với một bài giảng hay hơn ^^!!

5.0

Aiden Lee

100% đã tham gia

Tôi đang trong tình huống phải làm việc gấp một dự án được triển khai bằng Flutter, vì vậy tôi đã nhanh chóng tìm hiểu những kiến ​​thức cơ bản, chủ yếu thông qua tài liệu chính thức và tham gia khóa học này. Tôi đã cải thiện rất nhiều mã hiện có với độ liên kết cao bằng cách áp dụng kiến ​​trúc mới dựa trên những gì tôi đã học trên lớp. Nhờ đó, tôi có thể bắt đầu bằng cách sắp xếp lại code của mình và nó vẫn rất hữu ích. Nếu phải nói điều gì đáng tiếc thì thật tuyệt nếu đây là khóa học trung cấp - nâng cao, thay vì chỉ trình bày cách triển khai UI, sẽ có nhiều ví dụ triển khai đa dạng hơn và có cơ hội trải nghiệm viết mã kiểm thử. Tuy nhiên, cảm giác này có thể là do tôi chưa từng tham dự bài giảng nào của giảng viên có nội dung đa dạng như vậy. Trên hết, như tiêu đề gợi ý, tôi nghĩ đây là bài giảng hữu ích để suy nghĩ về kiến ​​trúc tốt và tích lũy kinh nghiệm thực tế với Flutter. Cảm ơn bài giảng tuyệt vời!

Bạn sẽ nhận được điều này sau khi học.

  • Cách áp dụng Clean Architecture và mô hình MVVM vào dự án thực tế

  • Cách thiết kế và triển khai các thành phần UI phức tạp sao cho có thể tái sử dụng được

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

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

Kiến trúc ứng dụng hiện đại được các tập đoàn Big Tech lựa chọn
Clean Architecture & mô hình MVVM

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


Tại sao ứng dụng càng lớn thì mã nguồn lại càng trở nên khó quản lý hơn? 🤔

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

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 cách sử dụng Flutter và Clean Architecture. Khóa học sẽ đề cập đến những chủ đề chuyên sâu thường gặp trong thực tế như Dependency Injection, quản lý trạng thái phân tầng, viết mã có thể kiểm thử (testable code) và xử lý lỗi.
Nếu bạn đã mệt mỏi với những bài hướng dẫn ở mức độ Hello World, hãy trải nghiệm niềm vui thực sự của việc thiết kế kiến trúc khi xây dựng một ứng dụng ở trạng thái production ready trong khóa học này! 💪

Đặc điểm của bài giảng này

📌 Đưa ra các vấn đề phát sinh trong môi trường production thực tế và phương pháp giải quyết

📌 Cung cấp mã nguồn theo từng bước thông qua GitHub

📌 Tất cả mã nguồn được viết dưới dạng có thể thực hiện kiểm thử đơn vị (unit test) và kiểm thử giao diện (UI test).

📌 Đây là bài giảng dành cho trình độ trung cấp trở lên.

1⃣ Hướng dẫn xây dựng ứng dụng cấp độ thực tế từ Figma

Khóa học này truyền tải chi tiết quá trình phát triển ứng dụng khi nhận bản 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 bài giảng.
Mô hình MVVM, MVI dựa trên Clean Architecture


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 các thư viện quản lý trạng thái vì cảm thấy có nghĩa vụ phải làm vậy, nhưng điều đó là không cần thiết. Các tính năng cơ bản do Flutter cung cấp là đã đủ để 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 thử được

Viế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 router thân thiện với Deep Link

Hướng dẫn cách cấu hình router thân thiện với deep link, một kỹ năng cực kỳ cần thiết trong công việc thực tế


6⃣ Chiến lược xử lý lỗi để giải quyết các lỗi phức tạp hơn

Cải tiến mô hình Result hiện tại để đề xuất phương pháp xử lý lỗi phù hợp cho các tình huống phức tạp


Tôi đề xuất cho những ai đang có những lo lắng này

Mã nguồn ngày càng trở nên phức tạp
nên rất khó quản lý

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

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

"Tôi có thể tạo ra các widget, nhưng khi quy mô lớn dần thì code cứ trở nên rối rắm như mì Ý vậy..."

"Tôi không biết làm thế nào để áp dụng Clean Architecture và MVVM vào thực tế"

"Tôi muốn tái cấu trúc mã nguồn (refactoring) nhưng không biết phải bắt đầu từ đâu"

"Tôi không biết phải quản lý trạng thái như thế nào"

"Tôi cần kiến thức thực tế có thể áp dụng ngay tại công ty"

"Tôi không biết làm thế nào để viết mã có thể kiểm thử được"

"Mỗi khi thêm tính năng mới, tôi lại phải chỉnh sửa mã nguồn cũ rất nhiều"

"Tôi đã học các mẫu thiết kế (design patterns) nhưng thật khó để áp dụng chúng vào dự án thực tế"

"Tôi cảm thấy nợ kỹ thuật đang tích tụ dần nên thấy bất an không biết cứ để thế này có ổn không"


Sau khi học xong, bạn sẽ thay đổi như thế này


1. Có thể thiết kế ứng dụng một cách hệ thống

  • Có thể phân chia và thiết kế rõ ràng từng lớp của Clean Architecture.

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

  • Bạn sẽ có thể áp dụng các nguyên tắc SOLID vào dự án thực tế một cách tự nhiên.

2. Bạn có thể triển khai quản lý trạng thái một cách chuyên nghiệp

  • Bạn sẽ nắm vững 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.

  • Có thể xử lý gọn gàng ngay cả những logic kinh doanh phức tạp

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

3. Có thể viết mã nguồn có khả năng kiểm thử

  • Có thể viết mã cho phép thực hiện từ kiểm thử đơn vị (unit test) đến kiểm thử giao diện người dùng (UI test)


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

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

// Trước khi áp dụng class HomeScreen extends StatefulWidget { @override State<HomeScreen> createState() => _HomeScreenState(); } // Sau khi áp dụng class HomeScreen extends StatelessWidget { final HomeState state; final void Function(HomeAction action) onAction; // Viết mã nguồn có khả năng kiểm thử và tính tái sử dụng cao }

5. Hoàn thành dự án có thể sử dụng làm portfolio

  • Bạn có thể sử dụng ứng dụng có độ hoàn thiện cao ở mức dịch vụ thực tế để làm portfolio.


  • Bạn có thể có được kinh nghiệm thực hiện dự án thực tế áp dụng Clean Architecture.

Bạn sẽ học được những nội dung này.


Clean Architecture: Phân tách lớp và Tiêm phụ thuộc (Dependency Injection)

"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." Bạn sẽ học cách tách biệt rõ ràng giữa logic kinh doanh và giao diện người dùng (UI), đồng thời viết mã linh hoạt và có thể kiểm thử thông qua tiêm phụ thuộc (dependency injection).

Mô hình MVVM: Quản lý trạng thái và luồng dữ liệu một chiều

"Quản lý trạng thái là trái tim của ứng dụng." Bạn sẽ học cách tạo ra các ứng dụng dễ dự đoán và dễ gỡ lỗi thông qua việc quản lý trạng thái hiệu quả và thiết kế luồng dữ liệu một chiều.

Xử lý lỗi: Nâng cao trải nghiệm người dùng

"Lỗi là không thể tránh khỏi, nhưng chúng ta có thể quản lý được chúng." Nội dung này đề cập đến cách xử lý có hệ thống các lỗi mạng, xác thực dữ liệu, các tình huống ngoại lệ và cách cung cấp phản hồi phù hợp cho người dùng.

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 tạo ra một lần và sử dụng suốt đời." Bạn sẽ học cách thiết kế và triển khai các thành phần UI có thể tái sử dụng, cách cấu trúc cây widget hiệu quả và các kỹ thuật tối ưu hóa hiệu suất.

Người tạo ra bài giảng này

  • 2018 : Viết sách Android cho đến khi thành công

  • 2018 : Viết sách Lập trình Android sống còn của Oh Jun-seok: Phần Kotlin

  • 2020 : Viết cuốn sách Flutter đầu tiên tại Hàn Quốc: Lập trình Flutter sinh tồn của Oh Jun-seok (Được chọn là Sách Sejong năm 2020)

  • 2020 ~ 2024 : Vận hành 9 khóa đào tạo nhà phát triển Flutter


Lưu ý trước khi học

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

  • Bài giảng được quay dựa trên hệ điều hành macOS, Flutter 3.24 và Dart 3.5.4.

  • Sử dụng Android Studio.

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


Kiến thức tiên quyết và lưu ý

  • Sẽ rất tốt nếu bạn đã xem qua khóa học "Flutter Trung cấp - Clean Architecture" hoặc có kiến thức tương đương.


  • Khóa học này sẽ rất tốt nếu những người ở trình độ trung cấp Flutter tham gia.

Lộ trình

flutter_loadmap

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

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

  • Nhà phát triển muốn phát triển dịch vụ thực tế bằng Flutter

  • Nhà phát triển muốn áp dụng Clean Architecture và mô hình MVVM vào thực tế.

  • Những người muốn học phương pháp phát triển ứng dụng có cân nhắc đến UI/UX

  • Những người quan tâm đến việc thiết kế các thành phần (component) có thể tái sử dụng

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

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

  • Tìm hiểu về các widget cơ bản và bố cục trong Flutter

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

Xin chào
Đây là survivalcoding

12,452

Học viên

900

Đánh giá

865

Trả lời

4.7

Xếp hạng

15

Các khóa học

Tôi là Oh Jun-seok, một nhà phát triển chuyên giảng dạy và viết sách.
Tôi đang vận hành kênh YouTube 'Survival Coding của Oh Jun-seok' và nền tảng giáo dục Survival Coding (https://survivalcoding.com).

Lĩnh vực chuyên môn: Android, Flutter

Sách đã xuất bản
Flutter Survival Coding của Oh Jun-seok (Hanbit Media 2020)
Android Survival Coding của Oh Jun-seok: Kotlin Edition (Hanbit Media 2018)
Android cho đến khi thành thạo (Ruby Paper 2018)

Kinh nghiệm làm việc chính
Đại diện OhRange
Giảng viên đào tạo nghề phát triển công nghệ thông tin tại Trường dạy nghề Semin
Vận hành Học viện phát triển ứng dụng thông minh Suwon
Bộ phận MC, LG Electronics
Bộ phận An ninh, Công ty Cổ phần Tokai Rika, tỉnh Aichi, Nhật Bản
Bộ phận IT, Công ty Cổ phần Nihon Techseed, tỉnh Aichi, Nhật Bản

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

Thêm

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ả

38 đánh giá

4.7

38 đánh giá

  • mmmkb1님의 프로필 이미지
    mmmkb1

    Đánh giá 1

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Nhờ có Giáo sư Oh Jun-seok mà tôi đã được tuyển dụng vào năm ngoái và đã làm việc tại Flutter được năm tháng. Nhiều người bắt đầu bằng cách xem ngữ pháp dễ hiểu và giao diện ứng dụng đẹp mắt của Dart, nhưng khi dự án trở nên phức tạp, họ nhanh chóng từ bỏ vì không biết cách quản lý nó. Tôi là một trong số họ😭 Đây là bài giảng rất có giá trị giúp bạn biết cách quản lý dự án Flutter hiệu quả. Nó dạy cho bạn những điều quan trọng nhất, chứ không phải những chi tiết. Đây là bài giảng cơ bản nhất trong các bài giảng về Flutter. Tôi giới thiệu khóa học này cho những người mới bắt đầu và những người đang đi làm để họ không bỏ cuộc, không bỏ cuộc và tồn tại trong lĩnh vực này cho đến khi kết thúc!

    • rheech22님의 프로필 이미지
      rheech22

      Đánh giá 4

      Đánh giá trung bình 5.0

      Đã chỉnh sửa

      5

      100% đã tham gia

      Tôi đang trong tình huống phải làm việc gấp một dự án được triển khai bằng Flutter, vì vậy tôi đã nhanh chóng tìm hiểu những kiến ​​thức cơ bản, chủ yếu thông qua tài liệu chính thức và tham gia khóa học này. Tôi đã cải thiện rất nhiều mã hiện có với độ liên kết cao bằng cách áp dụng kiến ​​trúc mới dựa trên những gì tôi đã học trên lớp. Nhờ đó, tôi có thể bắt đầu bằng cách sắp xếp lại code của mình và nó vẫn rất hữu ích. Nếu phải nói điều gì đáng tiếc thì thật tuyệt nếu đây là khóa học trung cấp - nâng cao, thay vì chỉ trình bày cách triển khai UI, sẽ có nhiều ví dụ triển khai đa dạng hơn và có cơ hội trải nghiệm viết mã kiểm thử. Tuy nhiên, cảm giác này có thể là do tôi chưa từng tham dự bài giảng nào của giảng viên có nội dung đa dạng như vậy. Trên hết, như tiêu đề gợi ý, tôi nghĩ đây là bài giảng hữu ích để suy nghĩ về kiến ​​trúc tốt và tích lũy kinh nghiệm thực tế với Flutter. Cảm ơn bài giảng tuyệt vời!

      • emptynet님의 프로필 이미지
        emptynet

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        73% đã tham gia

        Cảm ơn bạn vì những bài giảng luôn tuyệt vời. Ngoài ra, tôi hơi thất vọng vì sẽ tốt hơn nếu tôi viết mã kiểm tra và đưa vào các ví dụ thực tế như trong các bài giảng trước, nhưng tôi sẽ xoa dịu sự hối tiếc của mình bằng cách tự mình thử nghiệm. Luôn chờ đợi. Tôi sẽ rất cảm kích nếu lần sau bạn có thể quay lại sớm với một bài giảng hay hơn ^^!!

        • songjin39148713님의 프로필 이미지
          songjin39148713

          Đánh giá 20

          Đánh giá trung bình 5.0

          Đã chỉnh sửa

          5

          100% đã tham gia

          Đầu tiên, hãy tóm tắt những lý do tại sao tôi nghĩ khóa học này tốt. 1. Thật tốt khi học cách tạo một ứng dụng dựa trên các tiêu chuẩn thiết kế figma. 2. Thật tuyệt khi tìm hiểu cách tạo tiện ích tùy chỉnh và cách triển khai liên kết sâu. 3. Thật tuyệt khi có thể nhanh chóng xem lại cách thiết lập cấu trúc tổng thể. Cá nhân tôi, khi nghe nói rằng họ đang cộng tác thông qua Figma, được đề cập ở phần 1, tôi đã tò mò về quá trình triển khai thiết kế thành mã thực sự và tôi nghĩ điều tuyệt vời nhất là nó đã giải quyết được câu hỏi đó. Cuối cùng em xin cảm ơn thầy vì đã có một bài giảng rất hay.

          • iamlimyeonju2930님의 프로필 이미지
            iamlimyeonju2930

            Đánh giá 5

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Điều này thực sự hữu ích! Thật tuyệt khi được tìm hiểu cách tạo ứng dụng bằng Figma, điều mà tôi không biết khi tự mình phát triển. Tôi cũng thực sự thích cách phân chia cấu trúc thư mục và triển khai liên kết sâu. Cảm ơn bài giảng tuyệt vời!!

            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!

            2.532.244 ₫