👋 Giới thiệu
Flutter là gì?
Phần tiêu đề “Flutter là gì?”Flutter là UI toolkit mã nguồn mở của Google, cho phép xây dựng ứng dụng native đẹp mắt cho mobile, web, desktop và embedded từ một codebase duy nhất.
Tại sao nên học Flutter?
Phần tiêu đề “Tại sao nên học Flutter?”1. Cross-platform từ một codebase
Phần tiêu đề “1. Cross-platform từ một codebase”// Viết một lần, chạy mọi nơivoid main() { runApp(MyApp());}Một codebase Dart có thể build ra:
- 📱 iOS & Android apps
- 🌐 Web apps
- 💻 Desktop apps (Windows, macOS, Linux)
- 📺 Embedded devices
2. Hiệu suất Native
Phần tiêu đề “2. Hiệu suất Native”Flutter không sử dụng web view hay bridge như các framework khác. Thay vào đó, Flutter:
- Compile trực tiếp thành native ARM code
- Sử dụng engine đồ họa Skia riêng
- Đạt 60fps mượt mà
3. Hot Reload
Phần tiêu đề “3. Hot Reload”Thay đổi code và thấy kết quả ngay lập tức mà không mất state:
// Thay đổi màuContainer( color: Colors.blue, // Đổi thành Colors.red)// Hot Reload -> Thấy ngay!4. Widget Library phong phú
Phần tiêu đề “4. Widget Library phong phú”Flutter cung cấp hàng trăm widgets có sẵn theo hai design systems:
| Design System | Platform | Mô tả |
|---|---|---|
| Material Design | Android-style | Google’s design language |
| Cupertino | iOS-style | Apple’s Human Interface |
Kiến trúc Flutter
Phần tiêu đề “Kiến trúc Flutter”┌─────────────────────────────────────┐│ Your Dart Code ││ (Widgets, Logic) │├─────────────────────────────────────┤│ Flutter Framework ││ (Material, Cupertino, Widgets) │├─────────────────────────────────────┤│ Flutter Engine ││ (Skia, Dart VM, Platform) │├─────────────────────────────────────┤│ Platform Embedders ││ (iOS, Android, Web, Desktop) │└─────────────────────────────────────┘Everything is a Widget
Phần tiêu đề “Everything is a Widget”Trong Flutter, mọi thứ đều là Widget:
// Text là widgetText('Hello Flutter')
// Button là widgetElevatedButton(onPressed: () {}, child: Text('Click'))
// Thậm chí padding cũng là widgetPadding( padding: EdgeInsets.all(8.0), child: Text('Padded text'),)So sánh với các framework khác
Phần tiêu đề “So sánh với các framework khác”| Tiêu chí | Flutter | React Native | Native (Swift/Kotlin) |
|---|---|---|---|
| Ngôn ngữ | Dart | JavaScript | Swift/Kotlin |
| Hiệu suất | Cao | Trung bình | Cao nhất |
| Hot Reload | ✅ Có | ✅ Có | ❌ Không |
| Cross-platform | ✅ Đầy đủ | ✅ Mobile | ❌ Riêng lẻ |
| Learning curve | Trung bình | Dễ | Khó |
Điều kiện tiên quyết
Phần tiêu đề “Điều kiện tiên quyết”Trước khi học Flutter, bạn nên:
- Biết lập trình cơ bản - biến, hàm, điều kiện, vòng lặp
- Học Dart cơ bản - xem phần Ngôn ngữ Dart
- Hiểu OOP - classes, objects, inheritance
Các bước tiếp theo
Phần tiêu đề “Các bước tiếp theo”- 📦 Cài đặt môi trường - Cài Flutter SDK, IDE
- 🚀 Ứng dụng đầu tiên - Hello World app
- 📁 Cấu trúc dự án - Hiểu folders và files
- ▶️ Chạy ứng dụng - Run trên emulator/device
📝 Tóm tắt
Phần tiêu đề “📝 Tóm tắt”- Flutter = Google’s UI toolkit cho cross-platform development
- Một codebase → Mobile, Web, Desktop
- Hot Reload = Phát triển nhanh
- Everything is a Widget = Triết lý cốt lõi
- Cần biết Dart trước khi học Flutter