Package Manager
Package Manager = pub.dev
- AR: هذا مستودع الحزم الرسمي. من خلاله تضيف مكتبات لمشروعك مثل
httpأوprovider. - EN: This is the official package repository. You use it to add libraries to your project, like
httporprovider.
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 = تضيفها حسب احتياج مشروعك.