THỜI LƯỢNG: 40 GIỜ
GIỚI THIỆU KHÓA HỌC:
Flutter là một Software Development Kit (SDK) phát triển ứng dụng di động nguồn mở được tạo ra bởi Google để tạo ra các giao diện native chất lượng cao trên iOS và Android trong khoảng thời gian ngắn.
Các ưu điểm vượt trội của Flutter:
- Phát triển ứng dụng nhanh chóng: Tính năng hot reload của nó giúp bạn nhanh chóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn. Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator, simulator và device cho iOS và Android.
- UI đẹp và biểu cảm: Thỏa mãn người dùng của bạn với các widget built-in đẹp mắt theo Material Design và Cupertino (iOS-flavor), các API chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận thức được nền tảng.
- Sử dụng Dart (ngôn ngữ lập trình hướng đối tượng do Google phát triển) giúp cho việc release hoặc rebuild cho project nhanh chóng.
MỤC TIÊU KHÓA HỌC:
Sau khi hoàn tất khóa học, học viên sẽ có khả năng:
- Nâng cao khả năng phân tích, tối ưu hoá giao diện và trải nghiệm người dùng.
- Không chỉ kỹ năng lập trình mà còn biết cách phân tích UI, kiến trúc ứng dụng và quản lý team code hiệu quả.
- Hiểu rõ bản chất Flutter, cách render các widget và quản lý widget.
- Sử dụng thành thạo các Animation cơ bản đến phức tạp, tối ưu hoá trải nghiệm người dùng và ứng dụng.
ĐỐI TƯỢNG THAM GIA:
Khoá học này dành cho các bạn mới bắt đầu làm quen với Flutter và lập trình di động (iOS native, Android)
ĐIỀU KIỆN THAM GIA: Học viên đã biết một ngôn ngữ lập trình bất kì
CHỨNG NHẬN HOÀN TẤT KHÓA HỌC: do SmartPro cấp cho học viên đạt yêu cầu
NỘI DUNG CHƯƠNG TRÌNH:
Phần 1: Cài đặt Flutter và build ứng dụng đầu tiên
- Cài đặt Flutter trong MacOS, Windows, Linux
- Cài đặt Android Studio, Xcode, các thư viện liên quan
- Ngôn ngữ Dart
- Variables - Types - String - If/else - Loop - Switch
- Struct - Class - Enum
- Bài tập logic
Phần 2: State và props, viết giao diện màn hình Login
- Giới thiệu về Widget, vòng đời của ứng dụng, vòng đời của 1 Widget
- Sử dụng một số Widget cơ bản
- Build app lên thiết bị thật, debug trên android và ios sử dụng Android Studio
Phần 3: Layout các widget với Container, Row, Column
- Layout các widget theo chiều ngang/dọc
- Chia nhỏ và layout màn hình có nhiều Widget, sử dụng kết hợp MainAxis và Cross Axis.
- Làm các ví dụ với màn hình Detail Place, Login, Register,...
Phần 4: Quản lý state, làm quen với StatefulWidget và StatelessWidget
- Khái niệm state, ví dụ với màn hình Login/Register với state là thông tin đăng nhập
- Ứng dụng của state, những trường hợp nên sử dụng Stateful hoặc Stateless Widget
Phần 5: Hiện danh sách với ListView, GridView
- Hiển thị danh sách các sản phẩm, tuỳ biến từng Item trong list
- Tuỳ biến ListView với số item dạng paging - tự động load mỗi khi đến phần tử cuối cùng
- Ví dụ về sử dụng ScrollView thay ListView
Phần 6: Layout với Card, ListTile, SizeBox
- Xây dựng các màn hình hiện thông tin User(MyProfile) sử dụng Card, SizedBox, Center
- Chuyển qua lại giữa các màn hình với Navigation
Phần 7: Navigation và làm làm việc với nhiều màn hình
- Khái niệm Navigation và Router
- Truyền dữ liệu qua lại giữa các màn hình khác nhau
- Tuỳ biến Animation khi navigate giữa các Widget
Phần 8: Quản lý state với getX
- Xây dựng chức năng chuyển đổi Dark Mode/Light Mode
- Theo đổi, notify state giữa các màn hình khác nhau
- Chuyển qua lại giữa các màn hình và lưu trữ state
Phần 9: Tích hợp Firebase với chức năng đăng nhập Facebook, Google
- Tích hợp Firebase Authentication vào App
- Thêm chức năng đăng nhập Facebook, Google
- Lưu dữ liệu đăng nhập vào AsyncStorage, tự động chuyển màn hình nếu đã đăng nhập
Phần 10: Xây dựng các api Backend cơ bản với Nodejs
- Các khái niệm về request GET, POST, PUT, DELETE.
- Xây dựng các API phía Backend với ASP .NET Web Api
- Thực hiện chức năng upload ảnh/file lên server
- Cài đặt Docker SQL Server và deploy ứng dụng Web Api
Phần 11: Tích hợp các api đăng nhập/đăng ký user
- Gọi các api với sử dụng Async/Await hoặc Future
- Thêm LoadingView, xử lý Exception khi không lấy được dữ liệu
- Kết hợp Firebase Authentication và lưu thông tin đăng nhập lên Firebase
Phần 12: Tích hợp các api thêm mới, sửa, xoá sản phẩm/địa điểm
- Bổ sung các api phía Backend
- Tích hợp api các màn hình còn lại
Phần 13: Bổ sung các chức năng trên app, upload ảnh
- Hoàn thiện và bổ xung các chức năng cần thiết
- Thay đổi, upload ảnh, có gọi api lưu ảnh lên server
- Build và deploy ứng dụng