หลังจากการสร้าง Project ของ Flutter ใหม่ Flutter จะทำการสร้างโครงสร้างไฟล์เหล่านี้ให้เราอย่างอัตโนมัติ:
flutter_app/
├── android/
├── ios/
├── build/
├── lib/
│ ├── main.dart
│ ├── screens/
│ │ ├── home_screen.dart
│ │ └── detail_screen.dart
│ ├── widgets/
│ │ ├── custom_button.dart
│ │ └── custom_text.dart
│ ├── models/
│ │ └── user.dart
│ ├── services/
│ │ └── api_service.dart
│ ├── utils/
│ │ ├── constants.dart
│ │ └── helpers.dart
│ └── emoji/
│ └── emoji_list.dart
├── linux/
├── macos/
├── test/
├── web/
├── windows/
├── .gitignore
├── .metadata
├── analysis_options.yaml
├── assets/
│ ├── images/
│ └── fonts/
├── pubspec.yaml
└── README.md
-
android/
และios/
: โฟลเดอร์สำหรับไฟล์เฉพาะของ Android และ iOS เมื่อต้องการสร้าง native code หรือกำหนดค่าเฉพาะแพลตฟอร์ม -
build/
: โฟลเดอร์ที่เก็บไฟล์ build ของแอปพลิเคชัน เมื่อทำการคอมไพล์และสร้างแอปพลิเคชัน -
lib/
: โฟลเดอร์หลักที่เก็บโค้ด Dart ทั้งหมดสำหรับแอป Fluttermain.dart
: จุดเริ่มต้นของแอปพลิเคชัน กำหนด Root Widget และเรียกหน้าจอหลักscreens/
: เก็บไฟล์ต่างๆ ที่แสดง UI ของแต่ละหน้าจอในแอป เช่น HomeScreen, DetailScreenwidgets/
: เก็บวิดเจ็ตที่ใช้ซ้ำในแอป เช่น ปุ่ม, ข้อความ เพื่อให้ใช้งานได้สะดวกมากขึ้นmodels/
: เก็บคลาสโมเดลต่างๆ ที่ใช้ในแอป เช่น User modelservices/
: เก็บไฟล์ที่เกี่ยวข้องกับเซอร์วิส เช่น การเรียก APIutils/
: เก็บไฟล์ helpers หรือ constants ที่ใช้ทั่วแอปemoji/
: โฟลเดอร์ที่เก็บไฟล์ที่เกี่ยวข้องกับการจัดการ Emoji ในแอปพลิเคชัน
-
linux/
,macos/
,windows/
และweb/
: โฟลเดอร์สำหรับแพลตฟอร์มอื่นๆ ที่ Flutter รองรับ เช่น Linux, macOS, Windows และ Web -
test/
: โฟลเดอร์สำหรับเขียน unit tests, widget tests และ integration tests -
.gitignore
: ไฟล์ที่ระบุว่าไฟล์หรือโฟลเดอร์ใดที่ไม่ต้องการให้ Git ติดตาม -
.metadata
: ไฟล์เมตาดาต้าของโปรเจ็กต์ที่ Flutter ใช้ในการติดตามข้อมูลบางอย่าง -
analysis_options.yaml
: ไฟล์กำหนดค่าสำหรับการวิเคราะห์โค้ด Dart เช่น กฎในการตรวจสอบโค้ด, ระดับความรุนแรงของ Linter เป็นต้น -
assets/
: โฟลเดอร์เก็บไฟล์แอสเซท เช่น รูปภาพ, ไอคอน, ฟอนต์ ที่ใช้ในแอปimages/
: โฟลเดอร์สำหรับเก็บไฟล์รูปภาพfonts/
: โฟลเดอร์สำหรับเก็บไฟล์ฟอนต์
-
pubspec.yaml
: ไฟล์กำหนดการตั้งค่าของโปรเจ็กต์ Flutter เช่น ชื่อ, เวอร์ชัน, ไลบรารี่ที่ใช้, assets ต่างๆ เช่น fonts, images เป็นต้น -
README.md
: ไฟล์สำหรับใส่คำอธิบายหรือเอกสารประกอบโปรเจ็กต์