pubspec yaml

🔹 ملف 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.