강의

멘토링

로드맵

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.8) 33 đánh giá

272 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,818

Học viên

842

Đánh giá

857

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ả

33 đánh giá

4.8

33 đánh giá

  • john snake님의 프로필 이미지
    john snake

    Đánh giá 1

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    오준석 선생님 덕분에 작년에 입사하여 이제 일 한지 5개월차 된 플러터 현직자입니다. 보통 다트의 쉬운 문법과 화려한 앱 ui를 보고 입문하는데 프로젝트가 복잡해지면 어떻게 관리해야할지 몰라 금방 포기하는 분들이 많습니다. 저도 그 중 한명이었습니다ㅠ 이 강의는 플러터 프로젝트를 어떻게 효율적으로 관리할 수 있는지, 그 방법을 알려주는 너무나 소중한 강의입니다. 잔기술이 아니라 가장 중요한 것을 알려주십니다. 플러터 강의 중에서는 가장 근본에 가까운 강의입니다. 다른 입문자, 현직자 분들도 돌아가지 말고, 포기하지 말고, 끝까지 현업에서 생존하기를 바라며 이 강의를 추천합니다!

    • Nostia님의 프로필 이미지
      Nostia

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      73% đã tham gia

      항상 좋은 강의 감사합니다. 추가로 이전 강의들처럼 테스트 코드를 작성하고, 실제 적용되는 예제까지 있었으면 더 좋았을 것 같다는 아쉬움이 조금 남지만 직접해보것으로 아쉬움을 달래보겠습니다. 늘 기다리고 있습니다. 다음에 더 좋은 강의로 얼른 찾아와주시면 감사하겠습니다 ^^!!

      • Aiden Lee님의 프로필 이미지
        Aiden Lee

        Đánh giá 3

        Đánh giá trung bình 5.0

        Đã chỉnh sửa

        5

        100% đã tham gia

        플러터로 구현된 어떤 프로젝트를 급하게 다뤄야 하는 상황에 놓여서 공식문서 위주로 기초를 빠르게 훑고 이 강의를 들었습니다. 강의에서 배운 내용을 참고하여 새로운 아키텍처를 적용하면서 결합도 높은 기존의 코드를 많이 개선했어요. 덕분에 코드를 많이 정리하면서 시작할 수 있었고 지금도 큰 도움이 되고 있습니다. 굳이 아쉬웠던 점을 남기면, 중고급 강의인 만큼 단순 UI 구현을 그대로 보여주는 것 대신 좀더 다양한 구현 사례와 함께 테스트 코드 작성도 경험할 수 있었다면 더할 나위 없이 좋았을 것 같아요. 하지만 이 소감은 다양한 주제로 구성된 강사님의 다른 강의를 들어본 적이 없기 때문에 느꼈던 것일 수도 있습니다. 무엇보다 제목 그대로 좋은 아키텍처를 고민하며 플러터 실전 경험을 익히는데는 유용한 강의라고 생각합니다. 좋은 강의 감사합니다 !

        • 두두님의 프로필 이미지
          두두

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          정말 도움이 많이 됐습니다! 혼자 개발만 하면서는 몰랐던 피그마를 이용해서 어플을 만드는지 잘 알려줘서 좋았습니다. 폴더 구조를 나누는 법, 딥링크 구현에 관한것도 정말 좋았고요. 좋은 강의 감사합니다!!

          • 송진섭님의 프로필 이미지
            송진섭

            Đánh giá 19

            Đánh giá trung bình 5.0

            Đã chỉnh sửa

            5

            100% đã tham gia

            우선 해당 강의에 대해서 좋다고 생각하는 이유를 정리해 보자면 1. 피그마 디자인 기준으로 어떻게 어플을 만드는지에 대해서 배울 수 있어서 좋았습니다 2. 커스텀 위젯을 어떻게 만들지 딥링크를 어떻게 구현 하는지 관해서 배울 수 있어서 좋았습니다. 3. 전체적으로 구조를 어떻게 잡는지에 대해서 빠르게 복습 가능해서 좋았습니다. 개인적으로 1번에서도 언급한 피그마를 통한 협업을 한다고 이야기 들었을때 어떻게 디자인을 실제로 코드로 구현하는지에 대한 과정이 궁금했는데 그걸 해소했던 점이 제일 좋았던것같습니다. 마지막으로 좋은 강의 해주신 선생님께 감사드립니다.

            2.536.866 ₫

            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!