pubdev، Flutter، Dart

Package Manager = pub.dev

  • AR: هذا مستودع الحزم الرسمي. من خلاله تضيف مكتبات لمشروعك مثل http أو provider.
  • EN: This is the official package repository. You use it to add libraries to your project, like http or provider.

Dart فيها Package Manager قوي: pub.dev

Dart Has a Powerful Package Manager: pub.dev

ليه ده مميز

لأنه يوفر عليك وقت ومجهود كبير:

  • بدل ما تبني كل شيء من الصفر، تضيف مكتبات جاهزة بسرعة.
  • يوحّد طريقة تثبيت وتحديث الحزم (pub add / pub upgrade).
  • يقلل الأخطاء لأن الحزم مجربة ومستخدمة من مجتمع كبير.
  • يسهل إدارة الإصدارات والتوافق بين المكتبات.
  • يسرّع التطوير ويخليك تركز على منطق التطبيق بدل التفاصيل المتكررة.

باختصار: Package Manager = تطوير أسرع + جودة أعلى + صيانة أسهل.

مميزات pub.dev في Dart

  • سرعة التطوير بمكتبات جاهزة.
  • توحيد إدارة الحزم والإصدارات.
  • مجتمع كبير وحزم كثيرة.
  • سهولة التحديث والصيانة.
  • تقليل إعادة كتابة نفس الكود.

عيوب / تحديات

  • الاعتماد الزائد على مكتبات خارجية.
  • احتمال تعارض الإصدارات بين الحزم.
  • بعض الحزم قد تكون غير محدثة أو ضعيفة الجودة.
  • زيادة حجم التطبيق أحيانًا عند كثرة الحزم.
  • مخاطر أمنية لو استخدمت حزم غير موثوقة.

الخلاصة ممتاز جدًا إذا اخترت الحزم بعناية، وراجعت الجودة والتحديثات قبل الاعتماد عليها.

هو مش اي مكتبة في pub.dev موثوقة ؟

بالضبط، مش أي مكتبة على pub.dev تكون موثوقة.

pub.dev منصة نشر، لكن جودة الحزم تختلف. قبل الاستخدام راجع بسرعة:

  • عدد الـ likes وpub points
  • آخر تحديث (حديث ولا مهجور)
  • التوافق مع Null Safety
  • التوثيق والأمثلة
  • وجود اختبارات (tests)
  • عدد المشاكل المفتوحة في GitHub
  • اسم الناشر (publisher) وهل معروف

قاعدة عملية:
استخدم الحزم الرسمية أو المشهورة أولًا، وتجنب الحزم قليلة الاستخدام إلا لو فحصتها جيدًا.

الموقع الرسمي لحزم Dart وFlutter:
https://pub.dev

مثال intl

أكيد، هذه أرقام تقييم الباكدج على pub.dev ومعناها:

  • 6.05k likes
    عدد الأشخاص الذين أعجبوا بالباكدج. كلما زاد، غالبًا الباكدج محبوب ومجرب.

  • 150 points
    هذه Pub Points (تقييم جودة تقني تلقائي) من 150.
    150/150 يعني جودة ممتازة من ناحية الإعداد، التوثيق، التحليل، التوافق… إلخ.

  • 5.29M downloads
    عدد مرات التحميل الكلي. رقم كبير يعني استخدام واسع.

  • Publisher: verified publisher dart.dev
    الناشر موثّق رسميًا، وهنا معناه الباكدج صادرة من جهة موثوقة مرتبطة بـ dart.dev (رسمي/موثوق جدًا).

الخلاصة السريعة:
intl باكدج قوية جدًا: مستخدمة بكثرة + جودة عالية + ناشر موثّق.

  • المكتبة داخل اللغة (Built-in Library):
    جزء أساسي من Dart نفسها، تأتي تلقائيًا بدون تثبيت.
    مثال: dart:core, dart:convert, dart:async.

  • الباكدج (Package):
    إضافة خارجية (أو أحيانًا رسمية) تثبتها أنت عبر pub.dev داخل pubspec.yaml.
    مثال: intl, http, provider.

الخلاصة:

  • Built-in library = جاهزة مع اللغة.
  • Package = تضيفها حسب احتياج مشروعك.