تخطَّ إلى المحتوى

مقدمة في Dart: لغة تطبيقات Flutter

الدرس 1 من 14 · Dart

إذا كنت تحلم بصنع تطبيقات موبايل تعمل على أندرويد وiPhone معاً، فهذا الطريق يبدأ من هنا. في هذا الدرس ستتعرف على لغة Dart، اللغة التي يُكتب بها كل تطبيق Flutter، وستكتب أول برنامج لك وتفهم كل سطر فيه.

Dart لغة برمجة حديثة طورتها شركة Google، وظهرت أول مرة عام 2011. في البداية كانت تهدف لتطوير مواقع الويب، لكن شهرتها الحقيقية جاءت عندما اختارتها Google لتكون لغة Flutter، أداتها الشهيرة لبناء التطبيقات.

تخيّل أن Flutter مطبخ مجهز بكل الأدوات، و Dart هي اللغة التي تتكلم بها مع الطباخين. لا يمكنك أن تطبخ في هذا المطبخ دون أن تعرف لغته!

  • سهلة القراءة: إذا تعلمت JavaScript أو Java أو C#‎ من قبل، ستشعر أن Dart مألوفة جداً. وإن كانت أول لغة لك، فقواعدها واضحة ومنظمة.
  • آمنة: فيها نظام اسمه Null Safety يمنع نوعاً شائعاً جداً من الأخطاء قبل أن يحدث.
  • سريعة: تتحول إلى كود سريع يعمل مباشرة على الهاتف.
  • متعددة المنصات: نفس الكود يعمل على أندرويد وiOS والويب وسطح المكتب عبر Flutter.
main.dart
void main() {
print('Hello, Dart!');
}
الناتج
Hello, Dart!

لنفهم كل جزء:

  • void main(): هذه الدالة الرئيسية. كل برنامج Dart يبدأ تنفيذه من main، مثل الباب الرئيسي لأي بيت: كل الزوار يدخلون منه. وكلمة void تعني أن الدالة لا تُرجع أي قيمة.
  • الأقواس المعقوفة { }: تحدد بداية الدالة ونهايتها. كل الكود الذي ينفّذه البرنامج يوضع بينها.
  • print('Hello, Dart!');: تعرض النص في الطرفية. النص يوضع بين علامتي تنصيص مفردتين (أو مزدوجتين).
  • ;: الفاصلة المنقوطة إلزامية في نهاية كل أمر في Dart. نسيانها يسبب خطأ.

لتأخذ فكرة عن شكل اللغة، هذا مثال صغير فيه متغيرات:

main.dart
void main() {
var name = 'سارة';
int age = 14;
print('اسمي $name وعمري $age سنة');
print('بعد 5 سنوات: ${age + 5}');
}
الناتج
اسمي سارة وعمري 14 سنة
بعد 5 سنوات: 19
  • var name = 'سارة';: متغير تستنتج Dart نوعه تلقائياً (نص).
  • int age = 14;: متغير حددنا نوعه صراحة: عدد صحيح int.
  • $name داخل النص: تضع قيمة المتغير في الجملة مباشرة. وإذا كانت عملية حسابية نكتبها داخل ${ }.

سنشرح المتغيرات والأنواع بالتفصيل في الدرس القادم.

لديك طريقتان:

  1. بدون تثبيت: افتح موقع DartPad الرسمي (dartpad.dev) في المتصفح، واكتب الكود، واضغط Run. هذه أسهل طريقة للتعلم في البداية.
  2. على جهازك: ثبّت Flutter SDK (يحتوي على Dart بداخله) أو Dart SDK وحده، ثم احفظ الكود في ملف main.dart وشغّله في الطرفية بالأمر:
نافذة طرفيّة
dart run main.dart

بعد أن تتقن أساسيات Dart، ستنتقل إلى Flutter وتكتب كوداً مثل هذا:

Text('مرحباً بك في Flutter!')

لاحظ أنه نفس أسلوب Dart: أسماء وأقواس ونصوص. وكل ما ستتعلمه في هذا الكورس، من المتغيرات والشروط إلى الكلاسات والبرمجة غير المتزامنة، ستستخدمه يومياً في تطبيقات Flutter: الكلاسات لبناء الشاشات، والقوائم لعرض البيانات، و async لجلب البيانات من الإنترنت. لهذا ننصحك بأن تبدأ بـ Dart أولاً، فكل دقيقة تقضيها في تعلمها ستوفر عليك ساعات في Flutter.

افتح DartPad واكتب برنامجاً يطبع ثلاثة أسطر عنك: اسمك، ومدينتك، وعمرك بعد 10 سنوات باستخدام ${ }. مثال:

الناتج
اسمي: يوسف
مدينتي: المنصورة
عمري بعد 10 سنوات: 24
  • نسيان الفاصلة المنقوطة: في Dart هي إلزامية، وستظهر رسالة مثل Expected ';' after this.
  • كتابة الكود خارج main: الأوامر مثل print يجب أن تكون داخل دالة، والبرنامج يبدأ من main.
  • كتابة Print بحرف كبير: Dart حساسة لحالة الأحرف، والصحيح print.

سؤال

من أين يبدأ تنفيذ أي برنامج Dart؟

سؤال

ما العلاقة بين Dart و Flutter؟

  • Dart لغة من Google، وهي اللغة التي تُكتب بها تطبيقات Flutter.
  • كل برنامج يبدأ من الدالة void main().
  • الفاصلة المنقوطة ; إلزامية في نهاية كل أمر.
  • $name و ${...} تضعان القيم داخل النصوص بسهولة.
  • جرّب الكود بسرعة على DartPad، أو شغّله على جهازك بـ dart run.