0Pricing
Dart Academy · درس

هيكلة مكتبة قابلة للنشر

تنظيم lib وsrc وواجهة API العامة

هيكلة مكتبة قابلة للنشر درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

الحزمة مجرّد مجلد

إن package Dart القابلة للنشر مجرّد مجلد يحتوي على pubspec.yaml في جذره. يحوّل هذا الملف الواحد الشيفرة العادية إلى شيء يمكن لـ pub.dev استضافته. 📦

مجلد lib هو الموضع العام

يوضع كل ما تريدون من المستخدمين استيراده ضمن lib. وتُعد الملفات الموجودة مباشرةً في lib جزءًا من الواجهة العامة لحزمتكم، لذا اختاروا مواضعها بعناية.

إخفاء التفاصيل الداخلية في lib/src

ضعوا الشيفرة التي لا تريدون كشفها في lib/src. ووفقًا للاصطلاح، تُعد هذه الملفات تفاصيل تنفيذ خاصة، ولا يُفترض أن يستوردها المستخدمون مباشرةً.

lib/
  my_package.dart
  src/
    helper.dart

ملف نقطة الدخول

تتضمن معظم الحزم ملفًا رئيسيًا واحدًا في lib يحمل اسم الحزمة. وتمثل entry point ما يستورده المستخدمون للحصول على مكتبتكم كاملةً دفعةً واحدة.

import 'package:my_package/my_package.dart';

إعادة التصدير باستخدام الكلمة المفتاحية export

تستخدم نقطة الدخول لديكم export لإظهار الأجزاء من lib/src التي يحتاج إليها المستخدمون فعلًا. وهكذا تنشئون API عامةً واحدةً واضحةً ومقصودة.

export 'src/calculator.dart';
export 'src/parser.dart';

حدّدوا API العامة بعناية

مجموعة الأسماء التي تصدّرونها هي public API. حافظوا على صغرها واستقرارها، لأن كل رمز مُصدَّر يُعد وعدًا لمستخدميكم.

الشرطات السفلية تعني الخاصية

تكون الأسماء التي تبدأ بشرطة سفلية library-private في Dart. وحتى داخل lib/src، ابدؤوا المساعدات التي لا تريدون تسريبها بشرطة سفلية واحدة.

int _internalCount = 0;

مجلد example

أضيفوا مجلد example يحتوي على برنامج صغير قابل للتشغيل. فهو يوضّح للمستخدمين طريقة عمل حزمتكم ويكسبكم نقاطًا على pub.dev. ✨

توضع الاختبارات في test

توجد الاختبارات الآلية في مجلد test خارج lib. ولا تُرسَل إلى المستخدمين، لكنها تثبت أن الحزمة تعمل كما وعدتم.

ملفات المستوى الأعلى مهمة

يحتوي جذر الحزمة الجيد أيضًا على README وCHANGELOG وLICENSE. وهذه الملفات الثلاثة هي أول ما يعرضه pub.dev للزوار.

نظرة سريعة على تنظيم واضح

عند جمع العناصر، تبدو structure كخريطة: يضم lib واجهة API، ويضم src التفاصيل الداخلية، إلى جانب example وtest وملفات البيانات الوصفية.

my_package/
  lib/
  example/
  test/
  pubspec.yaml

تحقّق سريع

أين تضعون الشيفرة التي ينبغي أن تبقى تفصيلًا داخليًا للتنفيذ؟

مراجعة: مكتبة منظّمة

تعلّمتم layout: يضم lib واجهة API العامة، ويخفي lib/src التفاصيل الداخلية، وينظّم export ما يراه المستخدمون. ابدؤوا بالتنظيم، ثم انشروا. 🚀

الأسئلة الشائعة

هل درس «هيكلة مكتبة قابلة للنشر» مجاني؟

نعم — نص درس «هيكلة مكتبة قابلة للنشر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «هيكلة مكتبة قابلة للنشر»؟

تنظيم lib وsrc وواجهة API العامة تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «هيكلة مكتبة قابلة للنشر»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. هيكلة مكتبة قابلة للنشر
  2. التوثيق باستخدام تعليقات dartdoc
  3. الفحص والتنسيق ودرجة pana
  4. ‏dart pub publish إلى pub.dev
← العودة إلى Dart Academy