الاثنين، 9 نوفمبر 2020

What is Dart Programming - Syntax basics? ماهي صيغة الكود في برمجة دارت أساسيات البرمجة

 What is Dart Programming - Syntax basics? ماهي صيغة الكود في برمجة دارت أساسيات البرمجة

What is Dart Programming - Syntax basics? ماهي صيغة الكود في برمجة دارت أساسيات البرمجة


What is Dart Programming - Syntax basics? ماهي صيغة الكود في برمجة دارت أساسيات البرمجة

كحال أي لغة برمجية فإن دارت لا تختلف عن لغات البرمجة الشيئية او كائنية التوجه في أساسيات لغات البرمجة من تعريف المتغيرات والدوال والفئات الي آخره فجميعها متشابهة ولكن الاختلاف بسيط وهو كيفية كتابة الكود او الصيغة النحوية البرمجية. لمعرفة ماهي  لغة دارت اقرأ المقال بالضغط هنا. 

يحدد النحو مجموعة من القواعد لكتابة البرامج. تحدد كل مواصفة لغة بناء الجملة الخاص بها. يتكون برنامج Dart من -

  • المتغيرات والمشغلات Variables and Operators
  • الفئات Classes
  • الدوال Functions
  • التعبيرات وتراكيب البرمجة Expressions and Programming Constructs
  • صنع القرار وتكرار البناءات Decision Making and Looping Constructs
  • تعليقات Comments
  • المكتبات والحزم Libraries and Packages
  • النوع Typedefs
  • تمثيل هياكل البيانات كمجموعات / Generics Data structures represented as Collections / Generics

أول كود Dart الخاص بك

لنبدأ بمثال "Hello World" التقليدي -


main() { 
   print("Hello World!"); 
}

في الرئيسية () وظيفة هي طريقة محددة سلفا في السهام. تعمل هذه الطريقة كنقطة دخول إلى التطبيق. يحتاج نص Dart إلى الطريقة main () للتنفيذ. print () هي وظيفة محددة مسبقًا تطبع السلسلة أو القيمة المحددة إلى الإخراج القياسي ، أي المحطة الطرفية.

إخراج الكود أعلاه سيكون -

Hello World!

تنفيذ برنامج Dart

يمكنك تنفيذ برنامج Dart بطريقتين -

  • عبر الطرفية terminal
  • عبر WebStorm IDE

عبر الطرفية terminal

لتنفيذ برنامج Dart عبر الجهاز -

  • انتقل إلى مسار المشروع الحالي
  • اكتب الأمر التالي في نافذة Terminal
dart file_name.dart

عبر WebStorm IDE

لتنفيذ برنامج Dart عبر WebStorm IDE -

  • انقر بزر الماوس الأيمن فوق ملف البرنامج النصي Dart على IDE. (يجب أن يحتوي الملف على الوظيفة main () لتمكين التنفيذ)

  • انقر فوق الخيار "تشغيل <file_name>" . يتم إعطاء لقطة شاشة لها أدناه -

قم بتشغيل Test1 Dart

يمكن للمرء بدلاً من ذلك النقر فوق زر التشغيلالزر أو استخدام الاختصار Ctrl + Shift + F10 لتنفيذ Dart Script.

خيارات سطر الأوامر Dart

تُستخدم خيارات سطر الأوامر Dart لتعديل تنفيذ Dart Script. تتضمن خيارات سطر الأوامر الشائعة لـ Dart ما يلي -

 رقمخيار سطر الأوامر والوصف
1-c أو --c

لتمكين كل من التأكيدات وعمليات التحقق من النوع (الوضع المحدد).

2--version 

يعرض معلومات إصدار VM.

3---packages <path>

يحدد المسار إلى ملف تكوين دقة الحزمة.

4-p <path>

يحدد مكان العثور على المكتبات المستوردة. لا يمكن استخدام هذا الخيار مع - الحزم.

5-h أو - help

يعرض المساعدة.

تمكين الوضع المحدد

تعمل برامج Dart في وضعين هما -

    • الوضع المحدد Checked Mode
    • وضع الإنتاج (افتراضي) Production Mode

    يوصى بتشغيل Dart VM في الوضع المحدد أثناء التطوير والاختبار ، لأنه يضيف تحذيرات وأخطاء للمساعدة في عملية التطوير وتصحيح الأخطاء. يفرض الوضع المحدد عمليات فحص مختلفة مثل فحص النوع وما إلى ذلك. لتشغيل الوضع المحدد ، أضف الخيار -c أو –-checked قبل اسم ملف البرنامج النصي أثناء تشغيل البرنامج النصي.

    ومع ذلك ، لضمان الاستفادة من الأداء أثناء تشغيل البرنامج النصي ، يوصى بتشغيل البرنامج النصي في وضع الإنتاج .

    خذ بعين الاعتبار ملف البرنامج النصي Test.dart التالي -


    void main() { 
       int n = "hello"; 
       print(n); 
    } 

    قم بتشغيل البرنامج النصي عن طريق إدخال -

    dart Test.dart
    

    على الرغم من وجود عدم تطابق في النوع ، يتم تنفيذ البرنامج النصي بنجاح عند إيقاف تشغيل الوضع المحدد. سينتج عن البرنامج النصي الإخراج التالي -

    hello
    

    حاول الآن تنفيذ البرنامج النصي باستخدام الخيار "- - محدد" أو "-c" -

    dart -c Test.dart 
    

    أو،

    dart - - checked Test.dart
    

    سيرمي Dart VM خطأ يشير إلى وجود عدم تطابق في النوع.

    Unhandled exception: 
    type 'String' is not a subtype of type 'int' of 'n' where 
       String is from dart:core 
       int is from dart:core 
    #0  main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) 
    #1  _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) 
    #2  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

    التسميات في دارت Identifiers 

    المعرفات او التسميات هي أسماء تعطى لعناصر في برنامج مثل المتغيرات والوظائف وما إلى ذلك. قواعد المعرفات هي -

    يمكن أن تتضمن المعرفات كلا من الأحرف والأرقام. ومع ذلك 

    •  لا يمكن أن يبدأ المعرف برقم.
    • لا يمكن أن تتضمن المعرفات رموزًا خاصة باستثناء الشرطة السفلية (_) أو علامة الدولار ($).
    • لا يمكن أن تكون المعرفات كلمات رئيسية.
    • يجب أن تكون فريدة من نوعها.
    • المعرفات حساسة لحالة الأحرف.
    • لا يمكن أن تحتوي المعرفات على مسافات.

    تسرد الجداول التالية بعض الأمثلة على المعرفات الصالحة وغير الصالحة -


    التسميات الصالحة

    التسميات الغير صالحة

    firstName

    Var

    first_name

    first name

    num1

    first-name

    $result

    1number

    Keywords in Dart الكلمات الرئيسية او المفتاحية 

    الكلمات الرئيسية لها معنى خاص في سياق اللغة.الجدول التالي يسرد بعض الكلمات الرئيسية في Dart.

    abstract 1continuefalsenewthis
    as 1defaultfinalnullthrow
    assertdeferred 1finallyoperator 1true
    async 2doforpart 1try
    async* 2dynamic 1get 1rethrowtypedef 1
    await 2elseifreturnvar
    breakenumimplements 1set 1void
    caseexport 1import 1static 1while
    catchexternal 1insuperwith
    classextendsisswitchyield 2
    constfactory 1library 1sync* 2yield* 2

    المسافة البيضاء وفواصل الأسطر

    يتجاهل Dart المسافات وعلامات التبويب والأسطر الجديدة التي تظهر في البرامج. يمكنك استخدام المسافات وعلامات التبويب والأسطر الجديدة بحرية في برنامجك وأنت حر في تنسيق برامجك ووضع مسافة بادئة لها بطريقة مرتبة ومتسقة تجعل الشفرة سهلة القراءة والفهم.

    Dart حساس لحالة الأحرف

    Dart حساس لحالة الأحرف. هذا يعني أن Dart يميز بين الأحرف الكبيرة والصغيرة.

    تنتهي العبارات بفاصلة منقوطة

    كل سطر من التعليمات يسمى بيان. يجب أن ينتهي كل بيان dart بفاصلة منقوطة (؛). يمكن أن يحتوي سطر واحد على عبارات متعددة. ومع ذلك ، يجب فصل هذه العبارات بفاصلة منقوطة.

    التعليقات في Dart

    التعليقات هي طريقة لتحسين إمكانية قراءة البرنامج. يمكن استخدام التعليقات لتضمين معلومات إضافية حول برنامج مثل مؤلف الكود ، تلميحات حول دالة / بناء ، إلخ. يتجاهل المترجم التعليقات.

    يدعم Dart الأنواع التالية من التعليقات -

    • التعليقات أحادية السطر (//) - يتم التعامل مع أي نص بين "//" ونهاية السطر على أنه تعليق

    • تعليقات متعددة الأسطر (/ * * /) - قد تمتد هذه التعليقات إلى أسطر متعددة.

    مثال

    // this is single line comment  
      
    /* This is a   
       Multi-line comment  
    */ 

    البرمجة الشيئية oop في Dart

    Dart هي لغة كائنية التوجه. Object Orientation هو نموذج لتطوير البرامج يتبع نمذجة العالم الحقيقي. يعتبر Object Orientation البرنامج على أنه مجموعة من الكائنات التي تتواصل مع بعضها البعض عبر آلية تسمى الطرق.

    • الكائن - الكائن هو تمثيل في الوقت الفعلي لأي كيان. وفقًا لـ Grady Brooch ، يجب أن يحتوي كل كائن على ثلاث ميزات -

      • الحالة - الموصوفة بسمات الكائن.

      • السلوك - يصف كيف سيتصرف الكائن.

      • الهوية - قيمة فريدة تميز كائنًا عن مجموعة من الكائنات المماثلة.

    • الفئة - فئة من حيث OOP هي مخطط لإنشاء الكائنات. فئة تغلف البيانات للكائن.

    • الطريقة - الأساليب تسهل الاتصال بين الأشياء.

    مثال: Dart و Object Orientation


    class TestClass {   
       void disp() {     
          print("Hello World"); 
       } 
    }  
    void main() {   
       TestClass c = new TestClass();   
       c.disp();  
    }

    يحدد المثال أعلاه فئة TestClass . يحتوي الفصل على طريقة disp () . تقوم الطريقة بطباعة السلسلة "Hello World" على المحطة. الكلمة الأساسية الجديدة تنشئ كائنًا من الفئة. يستدعي الكائن طريقة التوزيع () .

    يجب أن ينتج الكود الناتج التالي -

    Hello World



    التسميات: