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
Trợ giúp lập trình bằng AI
Bài học tương tác thực hành
Có thuyết minh âm thanh cho mọi bài học
Bài trắc nghiệm để kiểm tra kiến thức
Giấy chứng nhận hoàn thành miễn phí
Đề cương
Phần 1
Ứng dụng đầu tiên
Bắt đầu phầnBắt đầuTạ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ọc45Dart cấp tốc
4 bài học45Các hộp
4 bài học44Hàng và cột
6 bài học68Biểu tượng và hình ảnh
5 bài học55Dự án: Danh thiếp
3 bài học33Phần 2
Tạo tính tương tác
Bắt đầu phầnBắt đầuTạ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ọc57Hàm
3 bài học35Widget có trạng thái
6 bài học610const và final
2 bài học24Quyết định
5 bài học58Trường văn bản
5 bài học57Công tắc và thanh trượt
3 bài học34Dự án: Máy tính tiền tip
5 bài học56Phần 3
Danh sách và màn hình
Bắt đầu phầnBắt đầuTạ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ọc58Danh sách từ dữ liệu
3 bài học34Thẻ và lưới
3 bài học33Các lớp của riêng bạn
6 bài học611Nhiều hơn một màn hình
5 bài học58Tab, ngăn kéo và thao tác vuốt
5 bài học58Dự án: Sổ tay công thức nấu ăn
6 bài học67Phần 4
Bố cục phù hợp với mọi màn hình
Bắt đầu phầnBắt đầuTạ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ọc45Lỗi tràn
5 bài học56Xếp chồng các widget
4 bài học45Kích thước và điểm ngắt
4 bài học44Enum và switch
3 bài học33Giao diện chủ đề và chế độ tối
5 bài học56Dự án: trình phát nhạc
5 bài học55Phần 5
Quản lý trạng thái
Bắt đầu phầnBắt đầuChia 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ọc48Dart cho mô hình
4 bài học48Provider
7 bài học714Riverpod
6 bài học612Dự án: Giỏ hàng
6 bài học68Phần 6
Dữ liệu và mạng
Bắt đầu phầnBắt đầuTạ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ọc46Màn hình tải
5 bài học58Khi lời gọi hàm thất bại
5 bài học56JSON
5 bài học59Ngày tháng và giá cả
3 bài học33Dự án: ứng dụng thời tiết
5 bài học56Phần 7
Dự án
Bắt đầu phầnBắt đầuTừ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ọc910Dự án: Trắc nghiệm
9 bài học99Dự án: Cửa hàng
9 bài học99Dự án: Theo dõi thói quen
9 bài học99
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.
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!
January 2026
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
Gấp đôi hoặc mất hết
Ngày 5/7
Đó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!
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.
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.
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.
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,Rowvà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,StatefulWidgetvàsetState,constvà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,Flexiblevà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,
ProvidervớiChangeNotifier, Riverpod vớiConsumerWidgetvàNotifier, và khi nào dùng cái nào. Rồi đến future,asyncvàawait,FutureBuilder,tryvà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?
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?
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.