🎯Giáo trình tự học Flutter/Dart
Chúng tôi đang biên soạn Giáo trình tự học Flutter/Dart (bài viết, video, ebook) theo cấu trúc sau, hi vọng có thể giúp ích được cho các bạn. Bạn có thể bấm vào từng đường link để đến bài viết cụ thể. Nếu cần luyện tập ngôn ngữ Dart, bạn có thể tham khảo 50 bài tập lập trình Dart cơ bản
https://flutter.dev/docs là nơi tốt nhất để tự học Flutter, đây là nơi cung cấp tài liệu chính thức về Flutter của Google.
Dưới đây là danh sách các video chúng tôi đang thực hiện, các video được đánh số thứ tự để bạn đọc dễ theo dõi.
1️⃣ Giới thiệu về Flutter và Dart
- Dart/Flutter là gì?
- Giới thiệu ngôn ngữ Dart
- Dart Cheat Sheet and Quick Reference
- Viết app “Hello World” bằng Flutter
- Cấu trúc một chương trình Flutter/Dart
- Biến và các kiểu dữ liệu trong Dart
- Kiểu
null
trong Dart - Kiểu số nguyên
int
và kiểu số thựcdouble
- Kiểu logic
bool
trong Dart - Kiểu xâu
String
trong Dart / Flutter - Kiểu danh sách
List
trong Dart/Flutter - Kiểu ánh xạ
Map
trong Dart/Flutter - Kiểu dữ liệu tập hợp
Set
- Kiểu liệt kê thứ tự
enum
Iterator
trong Dart là gì?
- Kiểu
- Các phép toán trong Dart (Toán tử trong Dart / Flutter)
- Câu lệnh điều khiển luồng chương trình (control flow) https://www.youtube.com/watch?v=p807i7bMbwA
- Câu lệnh điều kiện
if
- Câu lệnh lựa chọn
switch
- Câu lệnh vòng lặp
for
vàwhile
- Câu lệnh điều kiện
assert
- Câu lệnh điều kiện
- Hàm trong Dart/Flutter https://www.youtube.com/watch?v=BCO-3ffSpwY
- Khai báo và định nghĩa hàm
- Hàm nặc danh
anonymous
- Truyền tham số cho hàm
- Class trong Dart/Flutter
- Hướng đối tượng (OOP) trong Dart
- Cài đặt Flutter với Android Studio và VSCode
- Xử lý lỗi Migrate to Android X hoặc Your App is n’t Android X
- Phân biệt Hot reload với Hot restart
- Cách sử dụng Pub.dev để import các package/thư viện Flutter
2️⃣ Common UI Widget (Các Widget thông dụng của Flutter)
Giới thiệu chi tiết về các Widget thường được sử dụng của Flutter
Bạn có thể theo dõi seri Widget of the Week để biết cách sử dụng nhanh của các widget.
- So sánh StatelessWidget và StatefulWidget
- Flutter Widget: Container
- Flutter Widget: Column
- Flutter Widget: Row
- Flutter Widget: Image
- Flutter Widget: ListTile
- Flutter Widget: Center
- Flutter Widget: MediaQuery
- Flutter Widget: Padding
- Flutter Widget: Spacer
- Flutter Widget: Expanded
- Flutter Widget: Flexible
- Flutter Widget: Stack
- Flutter Widget: Divider
- Flutter Widget: Table
- Flutter Widget: ConstrainedBox
- Flutter Widget: IndexedStack
- Flutter Widget: FittedBox
- Flutter Widget: LimitedBox
- Flutter Widget: Simple Custom Widget
- Flutter Widget: RichText
- Flutter Widget: SelectableText
- Flutter Widget: Safe Area
- Flutter Widget: Wrap
- Flutter Widget: Slider
- Flutter Widget: ListView
- Flutter Widget: AnimatedList
- Flutter Widget: DataTable
- Flutter Widget: Dismissible
- Flutter Widget: SilverGrid
- Flutter Widget: SilverAppBar
- Flutter Widget: PageView
- Flutter Widget: SnackBar
- Flutter Widget: Drawer
- Flutter Widget: ClipOval
- Flutter Widget: ClipPath
- Flutter Widget: ShaderMask
3️⃣ Tự học Flutter qua các app đơn giản
- Viết app Flutter: I am Rich
- Viết app Flutter: MiCard
- Viết app Flutter: Simple Instrument
- Viết app Flutter: Counter App
- Viết app Flutter: Project DiceApp
- Viết app Flutter: Quizzler
- Viết app Flutter: Music Tutor
- Viết app Flutter: Dictionary App
4️⃣ Di chuyển giữa các màn hình
- Navigator
- Route
- Di chuyển dữ liệu giữa các màn hình
- Viết app Flutter: Ứng dụng Todo List
- Viết app Flutter: Shopping List
- Viết app Flutter: BMI Calculator
- Flutter Project: Jokes
- Flutter Project: Splash Screen
5️⃣ Lập trình bất đồng bộ
- Lập trình bất đồng bộ với Future
- Lập trình bất đồng bộ với Streams
6️⃣ Một số cách quản lý state
- Provider pattern
- Mobx pattern
- Bloc
- getX
7️⃣ Xử lý dữ liệu trong Dart/Flutter
- Sử dụng JSON trong Flutter
- Hướng dẫn Sql trong Flutter
- Sử dụng http lấy dữ liệu từ REST API