Sub-pillar 9.1 · Dart

Học Dart từ zero

Ngôn ngữ Dart bắt đầu năm 2011, nhưng phần lớn người học Dart chỉ chạm đến nó qua Flutter. Sub-pillar này dạy Dart như ngôn ngữ độc lập — 8 chương, mọi ví dụ chạy bằng dart run.

Dart 3.3+ · 8 chương · ~7,500 dòng · 50+ bài tập + quiz

Lộ trình 8 chương

Mỗi chương ~700-1100 dòng, có: lý thuyết, code chạy được, visualizer, 4-5 bài tập, 6-8 quiz, tổng kết. Đáp án bài tập collapsible (click để xem).

Tại sao học Dart trước Flutter?

🧠 Mental model

90% người học Flutter "skip" Dart — học Flutter widget rồi gặp Future, Stream, required, late mới đi tra cứu Dart syntax. Cách đó dẫn đến lỗ hổng nền tảng: khi gặp bug null safety hoặc async behavior khó, không có khung tham chiếu để debug.

Sub-pillar này đảo lại: học Dart 8 chương standalone trước, sau đó Flutter là application layer trên top — không phải framework "đi kèm với một ngôn ngữ lạ".

💡 Đối tượng phù hợp

Có nền JavaScript/TypeScript là ideal — Dart dễ tiếp nhận. C# / Java cũng dễ. Đặc biệt: mỗi chương có callout so sánh với JS/TS để build mental model nhanh.

⚠️ Cảnh báo

Mọi tutorial Dart cũ trên internet (trước 2021) dùng cú pháp pre-null-safety, có new keyword, dùng List không generic — đừng follow. Sub-pillar này 100% Dart 3.3+.

Kết nối qua Flutter

Mỗi chương Dart có section "Connects to" cuối — trỏ tới chương Flutter sẽ dùng kiến thức. Ví dụ: chương 3 (functions with named params) là nền tảng cho mọi widget Flutter (mọi widget constructor đều dùng {required ...}). Chương 7 (Stream) là nền tảng cho Bloc state management.

Học xong 8 chương Dart → mở Flutter sub-pillar (15 chương).