Khi mới khởi tạo một ứng dụng Flutter bằng lệnh flutter create, bạn sẽ thấy hàng loạt thư mục xuất hiện. Việc hiểu rõ vai trò của từng thư mục sẽ giúp bạn quản lý mã nguồn sạch sẽ, khoa học.
1. Các thư mục nền tảng (Platform Folders)
android/ và ios/: Chứa toàn bộ mã nguồn native tương ứng của hệ điều hành. Đây là nơi bạn cấu hình các quyền truy cập phần cứng (như camera, GPS) hoặc cấu hình biểu tượng ứng dụng (App Icon).
web/: Chứa file index.html và cấu hình triển khai ứng dụng trên nền tảng Web.
2. Thư mục cốt lõi lib/ và file cấu hình pubspec.yaml
lib/ (Library): Nơi chứa 99% mã nguồn Dart của bạn. Mọi file giao diện, state management, model đều nằm ở đây.
pubspec.yaml: Trái tim quản lý thư viện của dự án. Chứa thông tin cấu hình phiên bản ứng dụng, các gói thư viện phụ thuộc (dependencies), và tài nguyên tĩnh (hình ảnh, font chữ).
3. Khuyến nghị cấu trúc thư mục sạch (Clean Architecture) cho người mới
Nên chia nhỏ thư mục lib/ thành các folder con:
* models/: Chứa các lớp định nghĩa dữ liệu.
* screens/ hoặc views/: Chứa các màn hình giao diện.
* services/: Chứa các dịch vụ gọi API, đọc ghi file hệ thống.