Trainning FLUTTER

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

 

 
ĐÀO TẠO FLUTTER 
 
 
::Tuần 1::  Tìm hiểu cơ bản Flutter, cài đăt và chạy ứng dụng dầu tiên 

Cài đặt Flutter 


→ Cài đặt : https://flutter.dev/docs/get-started/install 
 
Tìm hiểu ngôn ngữ Dart 
 Kiến thức cơ bản : Khai báo biến , các toán tử, biểu thức điều kiện, vòng
lặp … 
 Kiến thức OOP Dart 
 Sử dụng packages 

→ Tham khảo  : Flutter documentation 


→ Tham khảo  : Dart documentation 
→ Tham khảo  : Use packages 
→ Tham khảo  : Flutter API reference documentation 
 Flutter là gì ?, trình bày cấu trúc của Flutter SDK 
 Flutter sử dụng ngôn ngữ nào, có sự khác biệt gì so với các ngôn ngữ hiện
tại 
Flutter có 3 "trees": Widget tree, Element tree, RenderObject Tree ,
chức năng của từng tree là gì? 
 Các đặt tính hướng đối tượng trong ngôn ngữ dart (OOP) 
 Cấu trúc của một project Flutter gồm những gì? 
 Có bao nhiêu loại Widget trong Flutter, sự khác nhau giữ chúng là gì ? 
 StatefulWidget vs StatelessWidget. Khi nào thì cần sử dụng cái nào?
 
Bài tập tuần
 Yêu càu trình bày các phần đã tìm hiều
 Tạo ứng dụng Flutter đầu tiên và giải thích các chi tiết trong project

::Tuần 2:: Bố cục giao diện, navigator and router , các trạng thái State trong
Flutter

1. Bố cục giao diện, các vấn đề chính cần tìm hiểu về UI trong Flutter
 Cơ chế bố trí của Flutter hoặc động như thế nào
 Cách bố trí các widget theo chiều dọc và chiều ngang
 Cách tạo bố cục Flutter
 Tìm hiểu các loại Widget cà chức năng của chúng
2. Navigator and router
 Router là gì
 Navigator và nhiệm vụ của nó
 Material page router là gì và cách sử dụng
 Trình bày các cách điều hường chuyển trang trong Flutter
3. State
 State là gì?
 Trình bày sự khác khau giữa StatelessWidget và StatefulWidget, khi
nào nên sử dụng?
 Vòng đời của một StatefullWidget như thế nào?

Bài tập tuần


 Tạo một dự án gồm có 3 trang Splash, Login ,Home
 Tạo router điều hướng tới các trang đã tạo
 Init trang Spash đầu tiên sau 3s sẽ chuyển tới trang Login

Link design : Tranning UI Project

→ Tham khảo  : Flutter Layout 


→ Tham khảo  : Flutter Navigator and router 

::Tuần 3::Lập trình bất đồng bộ trong Dart/Flutter với future,stream, async,


await

Lập trình bất đồng bộ cho phép chương trình thực hiện công việc trong khi chờ việc khác
hoàn thành. Một số ví dụ điển hình như:
 Láy dữ liệu từ server
 Ghi vào database
 Đọc nội dung từ file
Để thực hiện lập trình bất đồng bộ trong Dart/Flutter thì chúng ta có thể sử dụng Future
và các từ khoá async và await

Đây là phần quan trọng cần hiểu rỏ khi lập trình về Flutter
 Lập trình bất đồng bộ dùng khi nào?
 Không dùng lập trình bất đồng bộ thì sao ?
 Khái nhiệm về Future
 Cách triển khai lập trình bất đồng bộ với Future, async, await
 Stream là gì, khi nào thì sử dụng stream, sự khác nhau giữa stream và future là gì
 Có bao nhiêu loại stream, khi nào nên sử dụng
 Cách xử lý dữ liệu trong Stream trước khi đẩy ra ngoài
 Trong fluter dùng widget nào để nhận vào một stream và future

→ Tham khảo  : https://200lab.io/blog/lap-trinh-bat-dong-bo-trong-dart-flutter/ 

Bài tập tuần


 Hiểu rõ khái niệm và hoặt động của bất đồng bộ trong flutter
 Cách hander lỗi khi gặp sự cố xử ly bằng future và stream
 Đưa ra các ví dụ cụ thể về các sử dụng bất đồng bộ

::Tuần 4::Rest Api trong Flutter

Ngày nay, hầu hết mọi ứng dụng đều sử dụng Internet để tìm nạp dữ liệu từ API, tương tác
với Firebase hoặc bất kỳ hành động khác yêu cầu kết nối Wi-Fi hoặc có dây

Để thực hiện các yêu cầu HTTP gửi / nhận dữ liệu từ máy chủ một cách hiệu quả ta cần tìm
hiểu các phần sau
 Flutter dùng các HTTP Requests nào ?
 Các packages HTTP thường được sử dụng, ưu nhược điểm của từng cái ra sao
 Cách xử lý data trả về từ một request và hiển thị lên UI
 Các để huỷ một request khi đang yêu cầu
 Cache request theo URL
 Các thành phần của một request bao gồm những gì, chức năng của tửng phần

→ Tham khảo  : https://docs.flutter.dev/cookbook/networking/fetch-data 


Bài tập tuần
→ API  : https://agrichapp.herokuapp.com/members 

 Tạo một utils http để thực hiện các request lên server
 Call api , xử lý data và hiển thị lên UI
 Kiểm tra và hiển thị các lỗi nếu có trong quá trình request
 Cache data và load dữ liệu từ cache nếu như gặp lỗi hoặc không có internet

::Tuần 5::GET – STATE MANAGER

 
Trong Flutter thì vấn đề khó nhất chính là quản lý state, mỗi khi state thay đổi, một số thành
phần trên giao diện sẽ được render lại. Điều này quyết định đến hiệu năng của ứng dụng. Vì
vậy để nhằm mục tích quản lý và tối ưu perfomance, chúng ta sẽ cùng nhau tìm hiểu về một
thư viện quản lý state cho Flutter

 State trong Flutter là gì ?


 MVC trong Flutter là gì ?
 Các quản lý trạng thái của app như thế nào?

Hiện nay có rất nhiều quản lý state, phổ biến nhất à Get, Bloc, Provider …, nhưng chúng ta
sẽ dùng Get để quản lý state cho Flutter

Vậy Get sẽ là được những gì chúng ta cần tìm hiểu


 Ưu điểm của Get so với các manager state khác là gì?
 Get có thể làm được những gì ?
 Nguyên lý hoặc động của Get như thế nào

Bài tập tuần


→ API  : https://agrichapp.herokuapp.com/members

 Trình bày và nắm rõ mô hình hoặc động của manage state Get
 Tạo một project theo structure pattern của Get
 Tạo request call API theo MVC là hiển thị trên UI
 Hiểu được các cách truyền dữ liệu giữa các page và callback data giữa các
page với nhau
 Trình bày các cách lấy dữ liệu và hiển thị lên UI trong controller của Get
→ Tham khảo  : https://pub.dev/packages/get 
→ Tham khảo  : https://viblo.asia/p/getx-make-flutter-easy-part-1-eW65G1wJZDO

You might also like