Flutter პროექტს აქვს სტანდარტული სტრუქტურა — დირექტორიებით Dart კოდისთვის, პლატფორმის სპეციფიკური კოდისთვის, აქტივებისთვის და კონფიგურაციისთვის. სტრუქტურის და ძირითადი ფაილების გაგება (განსაკუთრებით pubspec.yaml და lib/) აუცილებელია Flutter აპლიკაციების ნავიგაციისა და აგების জন্য.
ძირითადი დირექტორიები და ფაილები
my_app/
lib/ → your DART CODE lives here (the heart of the app)
main.dart → the ENTRY POINT (the main() function; app starts here)
pubspec.yaml → project config: DEPENDENCIES, assets, metadata (very important)
android/ → Android-specific native project/config
ios/ → iOS-specific native project/config
web/ windows/ etc. → other platform folders
test/ → tests
assets/ → images, fonts, etc. (declared in pubspec.yaml)
pubspec.yaml — მთავარი კონფიგურაციის ფაილი
name: my_app
dependencies:
flutter:
sdk: flutter
http: ^1.0.0 # add packages here (from pub.dev)
provider: ^6.0.0
flutter:
assets:
- assets/images/ # declare assets to bundle
pubspec.yaml აცხადებს დამოკიდებულებებს (პაკეტებს pub.dev-დან), აქტივებს და მეტაინფორმაციას — flutter pub get ბრძანებას აკეთებთ დამოკიდებულებების ინსტალაციისთვის.
main.dart — შესვლის წერტილი
import 'package:flutter/material.dart';
void main() => runApp(MyApp()); // runApp starts the Flutter app with a root widget
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: HomeScreen()); // the app's root widget
}
}
lib/ ორგანიზაცია აპლიკაციების ზრდასთან ერთად
→ Beyond main.dart, organize lib/ into folders (by feature or layer):
lib/screens/, lib/widgets/, lib/models/, lib/services/, lib/providers/ (common)
→ Keep code organized as the app grows (separation of concerns).
რატომ არის ეს მნიშვნელოვანი
Flutter პროექტის სტრუქტურის გაგება აუცილებელი პრაქტიკული ცოდნაა Flutter აპლიკაციების ნავიგაციის, აგების და ორგანიზაციის დროს, ამიტომ ის სასარგებლო საფუძველი ცოდნაა.
ძირითადი დირექტორიები და ფაილების ცოდნა — რომ lib/ შეიცავს თქვენს Dart კოდს (აპლიკაციის გული, სადაც თქვენ უმეტეს დროს ხარჯავთ), main.dart არის შესვლის წერტილი (სადაც აპლიკაცია იწყება main() და runApp საშუალებით), პლატფორმის ფოლდერი (android/, ios/ და ა.შ. პლატფორმის სპეციფიკური ძველი კოდისთვის), test/ და assets/ დირექტორიები — აუცილებელია Flutter პროექტში თქვენი გზის ნახვისთვის.
pubspec.yaml გაგება განსაკუთრებით მნიშვნელოვანია: ეს არის მთავარი კონფიგურაციის ფაილი, რომელიც აცხადებს დამოკიდებულებებს (პაკეტებს pub.dev-დან, Flutter-ის პაკეტების ეკოსისტემა), აქტივებს და მეტაინფორმაციას — თქვენ მუდმივად ცვლით მას პაკეტების დასამატებლად (flutter pub get გაშვებით მათი ინსტალაციისთვის), რაც მას Flutter დეველოპმენტის ცენტრში აქცევს.
main.dart და შესვლის წერტილის გაგება (როგორ იწყება main() და runApp აპლიკაცია root widget-ით) აცხადებს როგორ იწყება Flutter აპლიკაცია.
lib/-ის ორგანიზაციის გაგება აპლიკაციების ზრდასთან ერთად (ფოლდერებში ფিჩური ან ფენის მიხედვით — ეკრანები, ვიჯეტები, მოდელები, სერვისები — ვიზიების გამოყოფის მიზნით) ასახავს კარგი პრაქტიკას მრავალფეროვანი პროექტებისთვის.
Flutter-ის გამოყენება მოითხოვს პროექტის სტრუქტურის ნავიგაციას, დამოკიდებულებების მართვას pubspec.yaml საშუალებით, შესვლის წერტილის გაგებას, და კოდის ორგანიზაციას, და რადგან ეს ცოდნა აუცილებელი პრაქტიკული საფუძველია Flutter დეველოპმენტის ნებისმიერ კუთხით, Flutter პროექტის სტრუქტურის გაგება — ძირითადი დირექტორიები, pubspec.yaml, შესვლის წერტილი, და კოდის ორგანიზაცია — ფასეულია, საფუძველი პრაქტიკული ცოდნა Flutter პროექტებთან მუშაობის დროს, აუცილებელი აპლიკაციების აგებისა და შენარჩუნებისთვის და ძირითადი შესაძლებლობა Flutter დეველოპმენტისთვის.
