🔹 ملف pubspec.yaml
في Dart و Flutter 🚀
📌 pubspec.yaml
هو ملف إعدادات المشروع في Dart و Flutter، ويستخدم لتعريف المكتبات (dependencies
) والأصول (assets
) والمعلومات الخاصة بالمشروع.
يتم استخدامه من قبل مدير الحزم pub
لتحميل وإدارة الحزم (Packages
).
🔹 محتويات pubspec.yaml
✅ 1. معلومات المشروع (Project Info
)
🔹 يحتوي القسم الأول من pubspec.yaml
على معلومات المشروع مثل الاسم، الوصف، والنسخة.
yamlنسختحريرname: my_app # اسم المشروع
description: تطبيق تجريبي بـ Flutter
version: 1.0.0+1 # رقم الإصدار (major.minor.patch+build)
environment:
sdk: '>=3.0.0 <4.0.0' # إصدار Dart المدعوم
🔹 التفسير:
name
: اسم المشروع.description
: وصف مختصر للمشروع.version
: رقم الإصدار، حيث:1.0.0
→ رقم الإصدار الرئيسي.+1
→ رقم البناء (build number
).
environment.sdk
: يحدد إصدار Dart المطلوب لتشغيل المشروع.
✅ 2. إضافة مكتبات (dependencies
)
🔹 يستخدم هذا القسم لإضافة المكتبات (Packages
) التي يحتاجها المشروع.
yamlنسختحريرdependencies:
flutter:
sdk: flutter
http: ^0.13.0 # مكتبة لطلبات HTTP
provider: ^6.0.5 # إدارة الحالة
🔹 التفسير:
flutter
: مطلوب عند العمل مع Flutter.http
: مكتبة لإجراء طلبات HTTP.provider
: مكتبة لإدارة الحالة (State Management
).^0.13.0
تعني استخدام الإصدار 0.13.0 أو أعلى ولكن أقل من 1.0.0.
📌 🔄 تثبيت الحزم:
بعد إضافة الحزم، قم بتشغيل:
arduinoنسختحريرflutter pub get
✅ 3. إضافة حزم dev_dependencies
(للتطوير فقط)
🔹 يتم استخدام dev_dependencies
لإضافة أدوات تطويرية فقط، مثل اختبار الأكواد (Testing
)، تحليل الكود (Linter
).
yamlنسختحريرdev_dependencies:
flutter_test:
sdk: flutter
lint: ^2.0.0 # مكتبة لفحص جودة الكود
🔹 التفسير:
flutter_test
: مكتبة لإجراء الاختبارات التلقائية في Flutter.lint
: أداة تحليل الكود لضمان اتباع أفضل الممارسات.
✅ 4. إضافة الخطوط (fonts
) والصور (assets
)
📌 إضافة صور (assets/
) إلى المشروع:
yamlنسختحريرflutter:
assets:
- assets/images/logo.png
- assets/icons/icon.png
🔹 التفسير:
- يجب إنشاء مجلد
assets/
داخل المشروع وإضافة الصور فيه. - يجب تشغيل:arduinoنسختحرير
flutter pub get
📌 إضافة خطوط مخصصة (fonts/
) إلى المشروع:
yamlنسختحريرflutter:
fonts:
- family: Roboto
fonts:
- asset: assets/fonts/Roboto-Regular.ttf
- asset: assets/fonts/Roboto-Bold.ttf
weight: 700
🔹 التفسير:
- يجب تحميل الخطوط ووضعها داخل
assets/fonts/
. weight: 700
تعني أن هذا الخط هو الخط العريض.
✅ 5. إعدادات flutter
(للتطبيقات المحمولة)
🔹 هذا القسم مخصص لتطبيقات Flutter فقط.
yamlنسختحريرflutter:
uses-material-design: true # لتفعيل تصميم Material
🔹 التفسير:
uses-material-design: true
→ يتيح استخدام مكونات Material Design.
🔹 أوامر pub
لإدارة pubspec.yaml
📌 تحديث أو تحميل الحزم:
arduinoنسختحريرflutter pub get
🔹 يستخدم لجلب (fetch
) الحزم المحددة في pubspec.yaml
.
📌 تحديث جميع الحزم:
rustنسختحريرflutter pub upgrade
🔹 يحدث جميع الحزم إلى أحدث إصدار متوافق.
📌 حذف pubspec.lock
وإعادة تحميل الحزم:
rustنسختحريرflutter pub cache repair
🔹 يصلح مشاكل الكاش (cache
) إذا كانت هناك مشاكل في التحديث.
🎯 خلاصة pubspec.yaml
✅ يحتوي على معلومات المشروع مثل الاسم، الإصدار، والوصف.
✅ يحدد إصدار Dart المطلوب عبر environment.sdk
.
✅ يحتوي على dependencies
لإضافة مكتبات خارجية.
✅ يحتوي على dev_dependencies
لأدوات التطوير فقط.
✅ يمكن استخدامه لإضافة assets
(صور، أصوات، خطوط، إلخ).
✅ يتم تحديث الحزم باستخدام flutter pub get
أو flutter pub upgrade
.