
Phát triển ứng dụng đa nền tảng với Flutter
Trong bối cảnh phát triển ứng dụng hiện đại, Flutter nổi lên như một cuộc cách mạng do Google khởi xướng, mang đến một giải pháp toàn diện để xây dựng các ứng dụng đẹp mắt, có hiệu năng tự nhiên (natively compiled) cho di động, web và desktop chỉ từ một bộ mã nguồn duy nhất. Với triết lý độc đáo và trải nghiệm lập trình vượt trội, Flutter cho phép các nhà phát triển và doanh nghiệp tiếp cận người dùng trên mọi nền tảng một cách nhanh chóng và tiết kiệm chi phí hơn bao giờ hết.
Chương trình sẽ đưa bạn vào hành trình làm chủ hệ sinh thái Flutter một cách bài bản, bắt đầu từ ngôn ngữ lập trình Dart – một ngôn ngữ hiện đại, hướng đối tượng và được tối ưu hóa cho việc xây dựng giao diện người dùng. Tiếp theo, bạn sẽ đi sâu vào triết lý cốt lõi “Everything is a widget” của Flutter, học cách tư duy và lắp ghép các widget để tạo ra bất kỳ giao diện phức tạp nào. Bạn cũng sẽ được trang bị các phương pháp quản lý trạng thái tiên tiến như Provider hoặc BLoC, yếu tố then chốt để xây dựng các ứng dụng có quy mô lớn và dễ bảo trì.
Thời lượng: 42h


Hình thức đào tạo:
-
- Đào tạo trực tiếp tại lớp học
- Đào tạo trực tuyến
- Đào tạo hybrid (trực tuyến kết hợp trực tiếp)
- Đào tạo tại văn phòng khách hàng
KẾT QUẢ ĐẠT ĐƯỢC:
-
LÀM CHỦ NGÔN NGỮ LẬP TRÌNH DARTSử dụng thành thạo Dart và các khái niệm lập trình hướng đối tượng mạnh mẽ của nó.
-
THÀNH THẠO KIẾN TRÚC WIDGET CỦA FLUTTERHiểu rõ triết lý “Everything is a widget” và kết hợp các widget để tạo ra mọi giao diện.
-
XÂY DỰNG GIAO DIỆN PHỨC TẠP VÀ ĐẸP MẮTCó khả năng hiện thực hóa các thiết kế UI/UX phức tạp và tạo ra các hoạt ảnh mượt mà.
-
QUẢN LÝ TRẠNG THÁI ỨNG DỤNG CHUYÊN NGHIỆPNắm vững các phương pháp quản lý trạng thái từ cơ bản đến nâng cao như Provider hoặc BLoC.
-
TÍCH HỢP DỮ LIỆU VÀ DỊCH VỤ BACKENDThành thạo việc xử lý bất đồng bộ, gọi REST API, và tích hợp với các dịch vụ backend.

Đối tượng tham gia

Sinh viên
Có nền tảng lập trình hướng đối tượng, muốn đón đầu xu hướng phát triển ứng dụng di động.

Lập trình viên
Muốn học một công nghệ hiện đại để xây dựng ứng dụng đa nền tảng có hiệu năng cao.

Nhân sự công nghệ
Có kiến thức lập trình, muốn tự mình hiện thực hóa các thiết kế có độ trung thực cao.

Người chuyển ngành
Muốn xây dựng sản phẩm cho nhiều nền tảng nhanh chóng với cùng một bộ mã nguồn.
Nội dung khóa học
1. Giới thiệu về Dart và Flutter
-
- Tổng quan về Flutter:
- Tìm hiểu Flutter là gì, so sánh triết lý và kiến trúc với React Native và các nền tảng Native.
- Ngôn ngữ Lập trình Dart:
- Nắm vững cú pháp cơ bản, các kiểu dữ liệu, hàm và các cấu trúc điều khiển luồng.
- Hiểu sâu về Lập trình Hướng đối tượng trong Dart: Class, Constructor, Inheritance, và Mixins.
- Học cách xử lý các tác vụ bất đồng bộ với Future, async, và await.
- Cài đặt môi trường:
- Hướng dẫn cài đặt Flutter SDK và tạo một dự án Flutter đầu tiên để bắt đầu hành trình.
- Tổng quan về Flutter:
2. Kiến trúc Widget trong Flutter
-
- Triết lý cốt lõi:
- Khám phá triết lý “Everything is a widget” và cách nó định hình tư duy xây dựng giao diện.
- Phân biệt Widget:
- Hiểu rõ sự khác biệt, vai trò và khi nào nên sử dụng StatelessWidget và StatefulWidget.
- Các widget cơ bản:
- Thực hành với các widget nền tảng như Container, Row, Column, Text, Image, và Icon.
- Vòng đời và State:
- Tìm hiểu về vòng đời của một StatefulWidget và cách sử dụng phương thức setState để cập nhật giao diện.
- Triết lý cốt lõi:
3. Xây dựng Giao diện Người dùng (UI)
-
- Widget bố cục nâng cao:
- Học cách sử dụng các widget như Stack, Expanded, ListView, và GridView để tạo các layout phức tạp.
- Bộ widget có sẵn:
- Tận dụng các bộ widget Material Design (cho Android) và Cupertino (cho iOS) để tạo giao diện tự nhiên.
- Xử lý tương tác:
- Nắm vững cách xử lý tương tác người dùng với các loại Button, TextField, và hệ thống GestureDetector.
- Xây dựng Form:
- Hướng dẫn xây dựng các Form nhập liệu và triển khai các quy tắc xác thực dữ liệu (Validation).
- Widget bố cục nâng cao:
4. Điều hướng và Quản lý Route
-
- Điều hướng cơ bản:
- Sử dụng đối tượng Navigator để thực hiện các thao tác điều hướng cơ bản giữa các màn hình (Screens/Pages).
- Named Routes:
- Học cách tổ chức hệ thống điều hướng một cách rõ ràng và dễ quản lý bằng Named Routes.
- Truyền dữ liệu:
- Tìm hiểu các kỹ thuật để truyền dữ liệu qua lại giữa các màn hình một cách hiệu quả.
- Thư viện nâng cao:
- Giới thiệu về các thư viện điều hướng nâng cao và phổ biến trong cộng đồng như go_router.
- Điều hướng cơ bản:
5. Quản lý Trạng thái (State Management)
-
- Vấn đề của setState:
- Phân tích các hạn chế của việc sử dụng setState trong các ứng dụng có quy mô lớn.
- Giới thiệu các pattern:
- Tìm hiểu tổng quan về các pattern quản lý trạng thái phổ biến trong hệ sinh thái Flutter.
- Provider:
- Học cách tiếp cận đơn giản và phổ biến để cung cấp state cho cây widget một cách hiệu quả.
- BLoC (Business Logic Component):
- Khám phá pattern mạnh mẽ và có khả năng mở rộng cao, giúp tách biệt logic nghiệp vụ khỏi giao diện.
- Vấn đề của setState:
6. Tương tác với Dữ liệu và API
-
- Yêu cầu HTTP:
- Thực hành gửi các yêu cầu HTTP (GET, POST…) bằng các gói phổ biến như http hoặc Dio.
- Xử lý JSON:
- Học cách phân tích (parse) dữ liệu JSON trả về từ API thành các đối tượng Dart.
- Xử lý trạng thái bất đồng bộ:
- Quản lý và hiển thị các trạng thái giao diện tương ứng (loading, error, success) khi làm việc với dữ liệu.
- Lưu trữ cục bộ:
- Hướng dẫn cách lưu trữ các dữ liệu đơn giản trên thiết bị bằng shared_preferences.
- Yêu cầu HTTP:
7. Tích hợp Phần cứng và Dịch vụ ngoài (Firebase)
-
- Hệ sinh thái Package:
- Học cách tìm kiếm và sử dụng hệ sinh thái package phong phú của Flutter trên pub.dev.
- Tích hợp tính năng thiết bị:
- Hướng dẫn tích hợp các tính năng phần cứng của thiết bị như Camera, Thư viện ảnh, và Dịch vụ định vị (Geolocation).
- Tích hợp Firebase:
- Thực hành tích hợp các dịch vụ của Firebase như Xác thực người dùng (Firebase Auth) và Cơ sở dữ liệu thời gian thực (Cloud Firestore).
- Hệ sinh thái Package:
8. Đồ án cuối khóa
-
- Mục tiêu:
- Vận dụng toàn bộ kiến thức để xây dựng một ứng dụng di động đa nền tảng hoàn chỉnh, có giao diện đẹp và kết nối backend.
- Quy trình thực hiện:
- Bao gồm các bước từ Thiết kế, Xây dựng giao diện, Quản lý trạng thái, Tích hợp API/Firebase, cho đến Hoàn thiện và Build ứng dụng.
- Lựa chọn Đề tài:
- Xây dựng một ứng dụng thương mại điện tử, ứng dụng đặt đồ ăn, hoặc mạng xã hội đơn giản.
- Yêu cầu đầu ra:
- Một ứng dụng di động hoạt động, có mã nguồn trên GitHub, và được build thành file .apk (Android) và .ipa (iOS).
- Mục tiêu:
LỊCH KHAI GIẢNG
(Đang cập nhật)

Bài viết liên quan
