[Đang cập nhật…]
Từ một người mới bắt đầu đến khả năng tự xây dựng và đưa một ứng dụng Flutter thực tế lên Production.
Đây là khóa học Flutter được thiết kế theo hướng thực chiến và học bằng cách xây dựng sản phẩm, dành cho người mới muốn học Flutter một cách bài bản nhưng không muốn dừng lại ở việc làm các ứng dụng demo.
Bạn sẽ bắt đầu từ những nền tảng đầu tiên của Dart và Flutter, sau đó từng bước học cách xây dựng UI, quản lý state, làm việc với API, database, authentication, architecture, testing và các vấn đề thường gặp khi phát triển ứng dụng thực tế.
Thay vì học từng kiến thức một cách rời rạc, bạn sẽ liên tục áp dụng những gì đã học vào các project thực tế, đồng thời phát triển một ứng dụng lớn xuyên suốt khóa học.
Trong quá trình học, bạn không chỉ nhận video và tài liệu mà còn có project thực hành, bài tập, code review và mentor hỗ trợ, giúp bạn phát hiện và sửa những vấn đề trong cách tư duy, thiết kế và tổ chức code.
Đến cuối khóa học, mục tiêu không phải là bạn chỉ “biết Flutter”, mà là có thể:
- Đọc và hiểu một codebase Flutter thực tế.
- Tự xây dựng một ứng dụng từ đầu dựa trên yêu cầu sản phẩm.
- Thiết kế UI responsive và maintainable.
- Quản lý state và business logic đúng cách.
- Kết nối REST API và xử lý dữ liệu thực tế.
- Làm việc với authentication, local storage và database.
- Tổ chức code theo architecture phù hợp.
- Viết code có khả năng test và maintain.
- Debug và xử lý các vấn đề thường gặp trong ứng dụng.
- Tối ưu performance khi ứng dụng phát triển.
- Làm việc với Git và quy trình phát triển phần mềm.
- Build, release và đưa ứng dụng Flutter lên Production.
Bạn không chỉ học cách viết code Flutter. Bạn học cách biến một ý tưởng thành một ứng dụng có thể chạy trong thế giới thực.
Thông tin khóa học
- Số bài học 320
- Quiz 0
- Thời lượng 30 weeks
- Cấp độ Mọi cấp độ
- Ngôn ngữ English
- Số lượng học viên 0
- Chứng nhận Không
- Assessments Có
- 16 Sections
- 320 Lessons
- 30 Weeks
- Chương 1 - Làm quen với FlutterMục tiêu: Hiểu Flutter là gì, cài được môi trường và chạy được ứng dụng đầu tiên.15
- 1.1Bài 1.1. Flutter là gì?
- 1.2Bài 1.2. Flutter hoạt động như thế nào?
- 1.3Bài 1.3. Flutter vs Native vs React Native
- 1.4Bài 1.4. Cài Flutter SDK
- 1.5Bài 1.5. Cài Android Studio / VS Code
- 1.6Bài 1.6. Cấu hình Android Emulator
- 1.7Bài 1.7. Tạo Flutter project đầu tiên
- 1.8Bài 1.8. Cấu trúc một Flutter project
- 1.9Bài 1.9. main() và runApp()
- 1.10Bài 1.10. Widget là gì?
- 1.11Bài 1.11. StatelessWidget
- 1.12Bài 1.12. Build method
- 1.13Bài 1.13. Hot Reload & Hot Restart
- 1.14Bài 1.14. Debug Flutter App
- 1.15Bài 1.15. Những lỗi thường gặp khi mới học Flutter
- Chương 2 - Dart từ Zero đến đủ dùngMục tiêu: Có nền tảng Dart cần thiết để học Flutter mà không bị mắc ở ngôn ngữ.36
- 2.1Bài 2.1. Dart là gì?
- 2.2Bài 2.2. Các biến trong Dart
- 2.3Bài 2.3. var, final vs const
- 2.4Bài 2.4. Các kiểu dữ liệu trong Dart
- 2.5Bài 2.5. String
- 2.6Bài 2.6. Number
- 2.7Bài 2.7. Boolean
- 2.8Bài 2.8. List
- 2.9Bài 2.9. Set
- 2.10Bài 2.10. Map
- 2.11Bài 2.11. Các toán tử
- 2.12Bài 2.12. Cấu trúc if-else
- 2.13Bài 2.13. Cấu trúc switch
- 2.14Bài 2.14. Cấu trúc lặp for
- 2.15Bài 2.15. Cấu trúc lặp while
- 2.16Bài 2.16. Functions
- 2.17Bài 2.17. Parameters
- 2.18Bài 2.18. Optional & Named Parameters
- 2.19Bài 2.19. Null Safety
- 2.20Bài 2.20. Nullable & Non-nullable
- 2.21Bài 2.21. Null-aware operators
- 2.22Bài 2.22. Class & Object
- 2.23Bài 2.23. Constructor
- 2.24Bài 2.24. Named Constructor
- 2.25Bài 2.25. Getter và Setter
- 2.26Bài 2.26. Inheritance
- 2.27Bài 2.27. Abstract Class
- 2.28Bài 2.28. Interface
- 2.29Bài 2.29. Mixin
- 2.30Bài 2.30. Enum
- 2.31Bài 2.31. Extension
- 2.32Bài 2.32. Exception Handling
- 2.33Bài 2.33. Async/Await
- 2.34Bài 2.34. Future
- 2.35Bài 2.35. Stream
- 2.36Bài 2.36. Generics
- Chương 3 - Flutter UI nền tảngMục tiêu: Biết xây giao diện Flutter từ những widget cơ bản.30
- 3.1Bài 3.1. Widget Tree
- 3.2Bài 3.2. MaterialApp
- 3.3Bài 3.3. Scaffold
- 3.4Bài 3.4. AppBar
- 3.5Bài 3.5. Text
- 3.6Bài 3.6. Icon
- 3.7Bài 3.7. Image
- 3.8Bài 3.8. Container
- 3.9Bài 3.9. SizedBox
- 3.10Bài 3.10. Padding
- 3.11Bài 3.11. Center
- 3.12Bài 3.12. Row
- 3.13Bài 3.13. Column
- 3.14Bài 3.14. Expanded
- 3.15Bài 3.15. Flexible
- 3.16Bài 3.16. Stack
- 3.17Bài 3.17. Positioned
- 3.18Bài 3.18. Divider
- 3.19Bài 3.19. Card
- 3.20Bài 3.20. Button
- 3.21Bài 3.21. TextButton
- 3.22Bài 3.22. ElevatedButton
- 3.23Bài 3.23. IconButton
- 3.24Bài 3.24. FloatingActionButton
- 3.25Bài 3.25. Widget composition
- 3.26Bài 3.26. Reusable Widget
- 3.27Bài 3.27. Theme cơ bản
- 3.28Bài 3.28. Color
- 3.29Bài 3.29. Typography
- 3.30Bài 3.30. 1. Asset management
- Chương 4 - Layout & Responsive UIMục tiêu: Có thể xây giao diện giống app thực tế và chạy tốt trên nhiều kích thước màn hình.20
- 4.1Bài 4.1. Flutter layout system
- 4.2Bài 4.2. Constraints
- 4.3Bài 4.3. Tìm hiểu BoxConstraints
- 4.4Bài 4.4. Main Axis / Cross Axis
- 4.5Bài 4.5. ListView
- 4.6Bài 4.6. ListView.builder
- 4.7Bài 4.7. GridView
- 4.8Bài 4.8. GridView.builder
- 4.9Bài 4.9. SingleChildScrollView
- 4.10Bài 4.10. Wrap
- 4.11Bài 4.11. LayoutBuilder
- 4.12Bài 4.12. MediaQuery
- 4.13Bài 4.13. Responsive UI
- 4.14Bài 4.14. Adaptive UI
- 4.15Bài 4.15. Orientation
- 4.16Bài 4.16. SafeArea
- 4.17Bài 4.17. Nested scrolling
- 4.18Bài 4.18. Slivers
- 4.19Bài 4.19. CustomScrollView
- 4.20Bài 4.20. Responsive design patterns
- Chương 5 - Navigation, Form & User InputMục tiêu: Xây được flow nhiều màn hình và xử lý input từ người dùng.22
- 5.1Bài 5.1. Navigation là gì?
- 5.2Bài 5.2. Navigator
- 5.3Bài 5.3. Push / Pop
- 5.4Bài 5.4. Named Routes
- 5.5Bài 5.5. Route arguments
- 5.6Bài 5.6. Passing data giữa màn hình
- 5.7Bài 5.7. Returning data
- 5.8Bài 5.8. Bottom Navigation
- 5.9Bài 5.9. Tab Navigation
- 5.10Bài 5.10. Drawer
- 5.11Bài 5.11. Deep link cơ bản
- 5.12Bài 5.12. TextField
- 5.13Bài 5.13. TextEditingController
- 5.14Bài 5.14. FocusNode
- 5.15Bài 5.15. Form
- 5.16Bài 5.16. Form validation
- 5.17Bài 5.17. Input formatting
- 5.18Bài 5.18. Keyboard handling
- 5.19Bài 5.19. Date Picker
- 5.20Bài 5.20. Time Picker
- 5.21Bài 5.21. Dialog
- 5.22Bài 5.22. Bottom Sheet
- Chương 6 - Quản lý trạng thái trong FlutterMục tiêu: Hiểu state và biết quản lý trạng thái trong ứng dụng thực tế.18
- 6.1Bài 6.1. State là gì?
- 6.2Bài 6.2. Local State
- 6.3Bài 6.3. Callback setState()
- 6.4Bài 6.4. Vòng đời Widget
- 6.5Bài 6.5. StatefulWidget
- 6.6Bài 6.6. Lifting State Up
- 6.7Bài 6.7. Sharing State
- 6.8Bài 6.8. Prop Drilling
- 6.9Bài 6.9. InheritedWidget
- 6.10Bài 6.10. ValueNotifier
- 6.11Bài 6.11. ChangeNotifier
- 6.12Bài 6.12. Provider
- 6.13Bài 6.13. Dependency Injection cơ bản
- 6.14Bài 6.14. State đang tải
- 6.15Bài 6.15. State lỗi
- 6.16Bài 6.16. State rỗng
- 6.17Bài 6.17. State bất đồng bộ
- 6.18Bài 6.18. Các mẫu quản lý State
- Chương 7 - REST API & NetworkingMục tiêu: Kết nối Flutter với backend/API.24
- 7.1Bài 7.1. API là gì?
- 7.2Bài 7.2. HTTP
- 7.3Bài 7.3. REST API
- 7.4Bài 7.4. GET
- 7.5Bài 7.5. POST
- 7.6Bài 7.6. PUT
- 7.7Bài 7.7. PATCH
- 7.8Bài 7.8. DELETE
- 7.9Bài 7.9. JSON
- 7.10Bài 7.10. Tuần tự hoá
- 7.11Bài 7.11. Giải tuần tự hoá
- 7.12Bài 7.12. Gói http
- 7.13Bài 7.13. Dio
- 7.14Bài 7.14. Request headers
- 7.15Bài 7.15. Query parameters
- 7.16Bài 7.16. Request body
- 7.17Bài 7.17. HTTP status codes
- 7.18Bài 7.18. API error handling
- 7.19Bài 7.19. Timeout
- 7.20Bài 7.20. Retry
- 7.21Bài 7.21. Phân trang
- 7.22Bài 7.22. Kéo để làm mới
- 7.23Bài 7.23. API tìm kiếm
- 7.24Bài 7.24. Loading / Error / Empty states
- Chương 8 - Lưu trữ dữ liệu cục bộ và databaseMục tiêu: lưu trữ dữ liệu trên thiết bị cài đặt ứng dụng16
- 8.1Bài 8.1. Local storage là gì?
- 8.2Bài 8.2. SharedPreferences
- 8.3Bài 8.3. Key-value storage
- 8.4Bài 8.4. Secure Storage
- 8.5Bài 8.5. JSON local storage
- 8.6Bài 8.6. SQLite
- 8.7Bài 8.7. Database concepts
- 8.8Bài 8.8. Table
- 8.9Bài 8.9. Primary Key
- 8.10Bài 8.10. CRUD
- 8.11Bài 8.11. Queries
- 8.12Bài 8.12. Drift / database abstraction
- 8.13Bài 8.13. Repository pattern
- 8.14Bài 8.14. Local cache
- 8.15Bài 8.15. Offline-first basics
- 8.16Bài 8.16. Sync local & remote data
- Chương 9 - AuthenticationMục tiêu: Hiểu và triển khai authentication flow thực tế.16
- 9.1Bài 9.1. Authentication vs Authorization
- 9.2Bài 9.3. Register
- 9.3Bài 9.2. Login
- 9.4Bài 9.4. Logout
- 9.5Bài 9.5. Password handling
- 9.6Bài 9.6. Token
- 9.7Bài 9.7. Access token
- 9.8Bài 9.8. Refresh token
- 9.9Bài 9.9. Secure storage
- 9.10Bài 9.10. Authentication state
- 9.11Bài 9.11. Protected routes
- 9.12Bài 9.12. Session management
- 9.13Bài 9.13. Forgot Password
- 9.14Bài 9.14. Reset Password
- 9.15Bài 9.15. Email verification
- 9.16Bài 9.16. Social login concepts
- Chương 11 - Kiến trúc ứng dụng và Clean codeMục tiêu: Chuyển từ "code chạy được" sang "code có thể maintain".18
- 10.1Bài 10.1. Vì sao cần state management nâng cao?
- 10.2Bài 10.2. Riverpod architecture
- 10.3Bài 10.3. Provider
- 10.4Bài 10.4. StateProvider
- 10.5Bài 10.5. FutureProvider
- 10.6Bài 10.6. StreamProvider
- 10.7Bài 10.7. Notifier
- 10.8Bài 10.8. AsyncNotifier
- 10.9Bài 10.9. Provider dependencies
- 10.10Bài 10.10. Provider family
- 10.11Bài 10.11. Auto dispose
- 10.12Bài 10.12. State caching
- 10.13Bài 10.13. Authentication state
- 10.14Bài 10.14. API state
- 10.15Bài 10.15. Form state
- 10.16Bài 10.16. Error handling
- 10.17Bài 10.17. Loading state
- 10.18Bài 10.18. Testing providers
- Chương 10 - Quản lý trạng thái trong Flutter nâng caoMục tiêu: Sử dụng một architecture state management phù hợp cho production.23
- 11.1Bài 11.1. Vì sao architecture quan trọng?
- 11.2Bài 11.2. Separation of Concerns
- 11.3Bài 11.3. Feature-based architecture
- 11.4Bài 11.4. Layered architecture
- 11.5Bài 11.5. Presentation Layer
- 11.6Bài 11.6. Domain Layer
- 11.7Bài 11.7. Data Layer
- 11.8Bài 11.8. Repository
- 11.9Bài 11.9. Data Source
- 11.10Bài 11.10. Model
- 11.11Bài 11.11. Entity
- 11.12Bài 11.12. Use Case
- 11.13Bài 11.13. Dependency Injection
- 11.14Bài 11.14. SOLID
- 11.15Bài 11.15. Single Responsibility
- 11.16Bài 11.16. Dependency Inversion
- 11.17Bài 11.17. DTO
- 11.18Bài 11.18. Mapper
- 11.19Bài 11.19. Error abstraction
- 11.20Bài 11.20. Result pattern
- 11.21Bài 11.21. Code organization
- 11.22Bài 11.22. Naming conventions
- 11.23Bài 11.23. Refactoring
- Chương 12 - Sử dụng FirebaseMục tiêu: Biết xây backend nhanh bằng Firebase.17
- 12.1Bài 12.1. Firebase là gì?
- 12.2Bài 12.2. Firebase project
- 12.3Bài 12.3. Firebase setup
- 12.4Bài 12.4. Firebase Authentication
- 12.5Bài 12.5. Cloud Firestore
- 12.6Bài 12.6. Firestore structure
- 12.7Bài 12.7. CRUD
- 12.8Bài 12.8. Các truy vấn
- 12.9Bài 12.9. Phân trang
- 12.10Bài 12.10. Update realtime
- 12.11Bài 12.11. Firebase Storage
- 12.12Bài 12.12. Upload image
- 12.13Bài 12.13. Push Notification
- 12.14Bài 12.14. Firebase Cloud Messaging
- 12.15Bài 12.15. Security Rules
- 12.16Bài 12.16. Firebase Analytics
- 12.17Bài 12.17. Crashlytics
- Chương 13 - Animation & UXMục tiêu: Tạo app có UX tốt hơn thay vì chỉ "đúng chức năng".17
- 13.1Bài 13.1. Animation fundamentals
- 13.2Bài 13.2. Implicit Animation
- 13.3Bài 13.3. AnimatedContainer
- 13.4Bài 13.4. AnimatedOpacity
- 13.5Bài 13.5. Explicit Animation
- 13.6Bài 13.6. AnimationController
- 13.7Bài 13.7. Tween
- 13.8Bài 13.8. Hero Animation
- 13.9Bài 13.9. Page Transition
- 13.10Bài 13.10. Lottie
- 13.11Bài 13.11. Shimmer
- 13.12Bài 13.12. Skeleton loading
- 13.13Bài 13.13. Micro interaction
- 13.14Bài 13.14. Haptic feedback
- 13.15Bài 13.15. Accessibility
- 13.16Bài 13.16. Dark mode
- 13.17Bài 13.17. UX patterns
- Chương 14 - Kiểm thử và Gỡ lỗiMục tiêu: Có khả năng kiểm thử và tìm lỗi trong app.16
- 14.1Bài 14.1. Vì sao cần testing?
- 14.2Bài 14.2. Debugging mindset
- 14.3Bài 14.3. Flutter DevTools
- 14.4Bài 14.4. Debug console
- 14.5Bài 14.5. Breakpoint
- 14.6Bài 14.6. Widget Inspector
- 14.7Bài 14.7. Unit Test
- 14.8Bài 14.8. Widget Test
- 14.9Bài 14.9. Integration Test
- 14.10Bài 14.10. Mocking
- 14.11Bài 14.11. Repository testing
- 14.12Bài 14.12. API testing
- 14.13Bài 14.13. Provider testing
- 14.14Bài 14.14. Golden Test
- 14.15Bài 14.15. Test coverage
- 14.16Bài 14.16. Common Flutter bugs
- Chương 15 - Hiệu năng và ProductionMục tiêu: Biết đưa Flutter app từ development lên production.24
- 15.1Bài 15.1. Flutter performance fundamentals
- 15.2Bài 15.2. Build method optimization
- 15.3Bài 15.3. Rebuild là gì?
- 15.4Bài 15.4. Const optimization
- 15.5Bài 15.5. List performance
- 15.6Bài 15.6. Image optimization
- 15.7Bài 15.7. Memory
- 15.8Bài 15.8. Network optimization
- 15.9Bài 15.9. Caching
- 15.10Bài 15.10. Lazy loading
- 15.11Bài 15.11. Pagination
- 15.12Bài 15.12. App size
- 15.13Bài 15.13. Release mode
- 15.14Bài 15.14. Build APK
- 15.15Bài 15.15. Build AAB
- 15.16Bài 15.16. iOS build
- 15.17Bài 15.17. Environment variables
- 15.18Bài 15.18. Development / Staging / Production
- 15.19Bài 15.19. App signing
- 15.20Bài 15.20. App icon
- 15.21Bài 15.21. Splash screen
- 15.22Bài 15.22. App versioning
- 15.23Bài 15.23. Crash reporting
- 15.24Bài 15.24. CI/CD concepts
- Chương 16 - Dự án cuối khoá họcMục tiêu: Bạn áp dụng tất cả kiến thức và kĩ năng hiện có để build một app hoàn chỉnh từ đầu đến cuối.8
Yêu cầu tiên quyết
- Bạn phải có máy tính cá nhân(laptop)
- Bạn cần một tinh thần cầu thị sẵn sàng vượt qua giới hạn của bản thân
- Đã từng học lập trình là một lợi thế
Features
- Video bài học
- Code mẫu
- Dự án mẫu
- Hỗ trợ online 08-22h hàng ngày
- Hỗ trợ phỏng vấn và tìm việc làm sau khi tốt nghiệp khoá học
Khóa học này dành cho ai
- Người muốn học để đi làm Flutter
- Người muốn chuyên sâu Flutter từ con số 0
- Sinh viên muốn theo đuổi hướng nghề nghiệp mobile cross platform
- Người muốn tự build mobile app cho riêng mình




