Menu
CoddyTech
MớiHành trình

Học lập trình app Flutter

Khóa học Flutter tương tác, miễn phí, bắt đầu từ con số 0. Viết app thật bằng Dart và chạy chúng trên màn hình điện thoại ngay cạnh trình soạn thảo, với Hot reload, gợi ý AI và chứng nhận cho từng phần.

219 bài học219 thử thách297 câu hỏi trắc nghiệm

  • Phù hợp cho người mới
  • sparkles iconTrợ giúp lập trình bằng AI
  • hint iconBài học tương tác thực hành
  • volume On iconCó thuyết minh âm thanh cho mọi bài học
  • quiz iconBài trắc nghiệm để kiểm tra kiến thức
  • certificate iconGiấy chứng nhận hoàn thành miễn phí

Đề cương

7 phần10 dự án219 bài học219 thử thách297 câu hỏi trắc nghiệm
  1. Bắt đầu phầnBắt đầuMở rộngThu gọnTạo các ứng dụng Flutter đầu tiên: Flutter là gì, cây widget, văn bản và kiểu chữ, các hộp màu, khoảng đệm, hàng và cột, biểu tượng và hình ảnh, cùng những kiến thức Dart cần thiết. Kết thúc bằng ứng dụng danh thiếp.

    Xin chào, Flutter

    6 bài học68

    Định dạng văn bản

    4 bài học45

    Dart cấp tốc

    4 bài học45

    Các hộp

    4 bài học44

    Hàng và cột

    6 bài học68

    Biểu tượng và hình ảnh

    5 bài học55

    Dự án: Danh thiếp

    3 bài học33
  2. Bắt đầu phầnBắt đầuMở rộngThu gọnTạo ứng dụng có thể phản hồi: nút, hàm (function) và Console, StatefulWidget và setState, const và final, câu lệnh điều kiện if và giá trị boolean, trường văn bản, công tắc, hộp kiểm và thanh trượt, cùng kiến thức Dart liên quan. Kết thúc bằng ứng dụng tính tiền boa.

    Nút

    5 bài học57

    Hàm

    3 bài học35

    Widget có trạng thái

    6 bài học610

    const và final

    2 bài học24

    Quyết định

    5 bài học58

    Trường văn bản

    5 bài học57

    Công tắc và thanh trượt

    3 bài học34

    Dự án: Máy tính tiền tip

    5 bài học56
  3. Bắt đầu phầnBắt đầuMở rộngThu gọnTạo ứng dụng có nhiều màn hình: danh sách cuộn và mục danh sách, thẻ và lưới, các lớp Dart tự tạo để lưu dữ liệu, chuyển đổi giữa các màn hình và truyền dữ liệu, tab, ngăn điều hướng và thao tác vuốt để xóa. Kết thúc bằng ứng dụng sách công thức nấu ăn.

    Danh sách cuộn

    5 bài học58

    Danh sách từ dữ liệu

    3 bài học34

    Thẻ và lưới

    3 bài học33

    Các lớp của riêng bạn

    6 bài học611

    Nhiều hơn một màn hình

    5 bài học58

    Tab, ngăn kéo và thao tác vuốt

    5 bài học58

    Dự án: Sổ tay công thức nấu ăn

    6 bài học67
  4. Bắt đầu phầnBắt đầuMở rộngThu gọnTạo màn hình phù hợp với mọi điện thoại: chia sẻ hàng bằng Expanded, Flexible và Spacer, tìm hiểu và sửa lỗi tràn nội dung, Wrap, Stack và Positioned, SafeArea, chiều rộng tối đa, kích thước màn hình và điểm ngắt, enum và switch, giao diện ứng dụng và chế độ tối. Kết thúc bằng màn hình trình phát nhạc.

    Chia sẻ không gian trong hàng

    4 bài học45

    Lỗi tràn

    5 bài học56

    Xếp chồng các widget

    4 bài học45

    Kích thước và điểm ngắt

    4 bài học44

    Enum và switch

    3 bài học33

    Giao diện chủ đề và chế độ tối

    5 bài học56

    Dự án: trình phát nhạc

    5 bài học55
  5. Bắt đầu phầnBắt đầuMở rộngThu gọnChia sẻ dữ liệu giữa các widget và màn hình: đưa trạng thái lên cấp cao hơn bằng giá trị và callback, kiến thức Dart cần thiết cho lớp mô hình, Provider với ChangeNotifier, Riverpod với ConsumerWidget, StateProvider và Notifier, cùng cách chọn giải pháp phù hợp. Kết thúc bằng giỏ hàng được chia sẻ giữa hai màn hình.

    Đưa state lên cấp trên

    4 bài học48

    Dart cho mô hình

    4 bài học48

    Provider

    7 bài học714

    Riverpod

    6 bài học612

    Dự án: Giỏ hàng

    6 bài học68
  6. Bắt đầu phầnBắt đầuMở rộngThu gọnTạo ứng dụng xử lý dữ liệu tải về: future, async và await, vòng xoay tải với FutureBuilder, xử lý lỗi bằng try và catch, chuyển JSON từ máy chủ thành các lớp Dart, kéo để làm mới, cùng ngày tháng và giá tiền với intl. Kết thúc bằng ứng dụng thời tiết.

    Future

    4 bài học46

    Màn hình tải

    5 bài học58

    Khi lời gọi hàm thất bại

    5 bài học56

    JSON

    5 bài học59

    Ngày tháng và giá cả

    3 bài học33

    Dự án: ứng dụng thời tiết

    5 bài học56
  7. Bắt đầu phầnBắt đầuMở rộngThu gọnTừng bước xây dựng bốn ứng dụng hoàn chỉnh với mọi kiến thức bạn đã học: danh sách việc cần làm, bài trắc nghiệm, cửa hàng có giỏ hàng và ứng dụng theo dõi thói quen với streak và chế độ tối. Mỗi dự án đều kết thúc bằng một ứng dụng hoàn thiện để bạn giới thiệu với mọi người.

    Dự án: Danh sách việc cần làm

    9 bài học910

    Dự án: Trắc nghiệm

    9 bài học99

    Dự án: Cửa hàng

    9 bài học99

    Dự án: Theo dõi thói quen

    9 bài học99
Bạn nhận được gì
Mọi thứ bạn sẽ dùng để học lập trình

Học qua thực hành

Viết code thật, truy vấn cơ sở dữ liệu, xây dựng trang web và làm chủ prompt AI. Các bài học tương tác bao quát mọi kỹ năng mà lập trình viên hiện đại cần.

playground.js
Trình chỉnh sửa code
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Đầu vào
"Alex"
Đầu ra
"Hello, Coddy! Alex"

Xây dựng streak

Học đều đặn và nhìn tiến độ của bạn lớn dần! Theo dõi thói quen code mỗi ngày, bảo vệ streak bằng ngày đóng băng và nhận phần thưởng khi học mỗi ngày.

12 ngày streak

Quay lại ngày mai để giữ streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gấp đôi hoặc mất hết

Ngày 5/7

fire Freeze icon

Đóng băng streak

2 left

Bạn không đơn độc

Thi đấu trên bảng xếp hạng toàn cầu, mời bạn bè để nhận phần thưởng và cùng nhau ăn mừng thành công. Học code cùng bạn bè vui hơn nhiều!

Giải đấu Challenger
Giải đấu ChallengerTop 7 được thăng hạng
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconVùng thăng hạngleaderboard Arrow Up icon

Mọi cách để học

Đọc, nghe, tự kiểm tra, hỏi AI hoặc tra cứu bất cứ điều gì bạn đã học. Mỗi bài học phù hợp với trình độ của bạn.

Giới thiệu về biến
Âm thanh

Biến là một vùng chứa có tên, lưu một giá trị mà bạn có thể dùng lại sau trong chương trình.

Trong Python, bạn tạo biến bằng cách viết tên, dấu bằng, rồi giá trị muốn lưu.

Giá trị có thể thay đổi theo thời gian. Gán lại tên đó chỉ đơn giản là trỏ nó tới một giá trị mới.

1xSarah

Nhận chứng nhận

Nhận chứng nhận cho mỗi khóa học bạn hoàn thành. Thêm vào hồ sơ LinkedIn và CV để cho nhà tuyển dụng thấy kỹ năng lập trình của bạn.

CoddyGiấy chứng nhận hoàn thành
Chứng nhận rằngNguyễn Văn Anđã hoàn thành xuất sắc
python iconPython cơ bản
Đã xác minh
NgàyTh1 2026
LinkedInThêm vào LinkedIn

Vì sao nên học Flutter với Coddy

  • Code và app nằm cạnh nhau. Nhấn Chạy, app được biên dịch trên máy chủ của Coddy và mở ra trên màn hình điện thoại cạnh trình soạn thảo, chạy bằng Flutter web engine. Hot reload hiển thị thay đổi của bạn mà vẫn giữ nguyên state của app, còn Console hiển thị đầu ra của print() và các lỗi. Nhấn Kiểm tra, bài học được chấm dựa trên những gì app của bạn hiển thị trên màn hình.
  • Không cần biết Flutter hay Dart để bắt đầu. Phần đầu tiên dựng widget tree từ Text, các hộp màu, padding, Row và Column, icon và hình ảnh, và kết thúc bằng một app danh thiếp. Phần thứ hai giúp app phản hồi người dùng: nút bấm, StatefulWidget và setState, const và final, ô nhập văn bản, công tắc và thanh trượt, kết thúc bằng app tính tiền tip.
  • App có nhiều màn hình: danh sách cuộn, thẻ và lưới, lớp Dart của riêng bạn, chuyển giữa các màn hình, tab, menu ngăn kéo và vuốt để xóa. Sau đó là bố cục vừa với mọi điện thoại: Expanded, Flexible và Spacer, lỗi tràn bố cục và cách sửa, Stack, SafeArea, breakpoint, theme và chế độ tối.
  • State và dữ liệu theo đúng cách app thật xử lý: đưa state lên trên, Provider với ChangeNotifier, Riverpod với ConsumerWidget và Notifier, và khi nào dùng cái nào. Rồi đến future, async và await, FutureBuilder, try và catch, và JSON từ máy chủ được chuyển thành lớp Dart, kết thúc bằng một app thời tiết.

Câu hỏi thường gặp về học Flutter

Có cần biết Dart để học Flutter không?

Không. App Flutter được viết bằng Dart, và khóa học này dạy phần Dart bạn cần ngay trên đường đi: biến, hàm, if, lớp, async và await, mỗi thứ đúng lúc một app lần đầu cần đến nó. Không cần kinh nghiệm lập trình để bắt đầu.

Nên học khóa Dart trước hay bắt đầu luôn với Flutter?

Nếu bạn muốn xây app, hãy bắt đầu ở đây: bạn viết app Flutter ngay từ bài học đầu tiên và học Dart bên trong nó. Nếu bạn muốn học riêng ngôn ngữ, để viết chương trình dòng lệnh hoặc học Dart sâu hơn, hãy học khóa học Dart trước, và khóa học này sẽ đi nhanh hơn sau đó.

Có cần Android Studio, trình giả lập hay điện thoại không?

Không. App của bạn được biên dịch trên máy chủ của Coddy và chạy trên một màn hình điện thoại trong trình duyệt, nên không cần cài Flutter SDK hay khởi động trình giả lập. Khóa học có trên website, dùng được trong trình duyệt của máy tính hoặc điện thoại, và không có trong các app di động của Coddy. Khi muốn đăng app cho Android hoặc iOS sau này, bạn cài Flutter trên máy tính của mình, và code bạn viết ở đây dùng tiếp được.

Khóa học Flutter này sẽ xây những app nào?

Mỗi phần kết thúc bằng một app: danh thiếp, app tính tiền tip, sổ công thức nấu ăn, màn hình trình phát nhạc, giỏ hàng dùng chung cho hai màn hình và app thời tiết. Phần cuối cùng xây thêm bốn app nữa, từng bước một: danh sách việc cần làm, app trắc nghiệm, cửa hàng có giỏ hàng và app theo dõi thói quen với streak và chế độ tối.

Khóa học Flutter có miễn phí không?

Có. Bài học, bản xem trước app, gợi ý AI và chứng nhận đều miễn phí. Tài khoản miễn phí học được vài bài học mỗi ngày, còn Pro bỏ giới hạn hằng ngày.

Học xong khóa Flutter có nhận được chứng nhận không?

Có. Mỗi phần trong 7 phần cho bạn một giấy chứng nhận hoàn thành miễn phí khi học xong, kèm trang riêng để chia sẻ hoặc thêm vào LinkedIn.

Lộ trình học có khóa học này

Khóa học này là một bước trong một lộ trình dài hơn: nhiều khóa học theo thứ tự mà một người hướng dẫn sẽ dạy, mỗi khóa có chứng nhận miễn phí riêng.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Flutter với Coddy

Bắt đầu