[ActionScript] مقدمة في أكشن سكريبت 3
الكاتب: Libyano | 25 ديسمبر 2007
مقدمة :
لغة الاكشن سكريبت 3 هي اللغة الرسمية للعمل في منصة أدوبى الفلاش , طبعا هذه اللغة مبنية على EcmaScript النسخة الرابعة وهى لازالت تحت التطوير (حتى هذه اللحظة) .
في المستقبل, من المتوقع أن الاكشن سكريبت 3 ستدعم كلية EcmaScript Edition 4 , وعلى سبيل المثال أيضا لغة الجافاسكريبت تدعم EcmaScript , ومن المتوقع حين صدور النسخة الثالثة من متصفح Firefox أن يتم دعم الجافاسكريبت 2 وهى لها شبه بالكود الموجود الان في الاكشن سكريبت 3 .
هناك عدة وسائط لكي كود الاكشن سكريبت يستطيع أن يٌنفذ بداخلها :
- Adobe Air :
أدويي أير يستطيع أن يشغل تطبيقات منصة الفلاش لتطوير التطبيقات على سطح المكتب , أير يدعم محتويات SWF وكما يدعم المحتويات المتكونة من HTML و الجافاسكريبت , كما يجب أن أدوبى أير منصبا على نظام التشغيل لكي يتم تشغيل التطبيقات , أدوبى أير ينفد برامج الاكشن سكريبت على سطح المكتب ولديه الإمكانيات الكاملة للتعامل من أنظمة التشغيل (مثلا كالتحكم في الملفات والبحث عنها ,والتحكم في النوافذ).
- Flash Player :
فلاش بليير يستطيع أن يشغل محتويات وتطبيقات منصة الفلاش المُراد تطويرها على الويب , عادة يكون فلاش بليير منصب داخل مستعرض الانترنت أو يعمل لوحده على سطح المكتب .
- Flash Lite :
فلاش لايت يستطيع أن يشغل محتويات وتطبيقات الفلاش على أجهزة النقال (الموبايل) ,طبعا بسبب محدودية أداء أجهزة المحمول , نجد هذا ألأخير عمليا متأخر عن أدوبى أير وفلاش بليير بسبب السرعة والمميزات المستقبلية ,حتى ألان فلاش لايت لايدعم الاكشن سكريبت 3 .
Adobe Air و Flash Player و Flash Lite كلهم يدعون بـبيئة التشغيلية للفلاش , لان كل من الثلاثة بيئات تدير كود الاكشن سكريبت حينما يتم تنفيذ الكود , و هذه البيئات موجودة على أنظمة التشغيل ويندوز وماكنتوش ولينكس بالإضافة إلى عدد كبير من الأجهزة المحمولة .
الأدوات المستخدمة في كتابة كود الاكشن سكريبت :
معظم المبرمجين يكتبون كودهم من خلال كلا أو أحد البرنامجين التاليين : Flex Builder و برنامج Flash, من الضروري توفر النسخة 9 أو نسخة CS3 من برنامج Flash أو برنامج Flex Builder 2 أو فما فوق لكتابة الاكشن سكريبت3 (حاليا يوجد Adobe Flex builder 3 beta 3) .
, طبعا فيه هناك خيارات أخرى للكتابة على سبيل المثال لا للحصر برنامج FlashDevelop(وهو مجاني),أو أستعمال Flex 3 SDK (وهو مجاني أيضا).
بما أن الاكشن سكريبت 3 لغة تدعم كلية مفهوم Object Oriented Programming (أو مايسميها البعض ب البرمجة الشيئية الموجهة) , من الضروري التطرق إلى أسياسات هذا المفهوم إلا وهو Objects و Classes .
Class و Object :
تخيل أنك تبنى طائرة كلية من الصفر , وتخيل العملية التي ستتبعها لبناء الطائرة , طبعا لن تقوم بحدادة الحديد وبناء الطائرة على الفور. أول خطوة منطقية تخطر على بال أي شخص هي رسم مخطط لهذه الطائرة , طبعا لأنك ترسم في طائرة فيجب عليك رسم عدة مخططات كل مخطط يمثل جزء من الطائرة (مخطط للعجلات , مخطط للأجنحة , مخطط للمقاعد الخ) . كل مخطط من هذه المخططات ستصف كل جزء على حدة ومكان كل جزء من هذه الأجزاء في جسم الطائرة . لبناء طائرة عليك أن تصنع كل جزء بمفرده ومن ثم تجميع الأجزاء كلً حسب المخطط الرئيسي , خطوة التجميع هي التي ستمكنك من بناء طائرة متكاملة .
لو ربطت أنا قصة بناء الطائرة بـ Classes و Objects في الاكشن سكريبت 3 (أو في حتى لغات أخرى) , كنت راح أقول إن المخططات تمثل مجموعة Class و الطائرة التي بنيت تمثل Object , طبعا برامج الاكشن سكريبت تعمل على مجموعة Objects وهذه Objects مبنية على هذه Classes .
أحيانا الصنف (أو Class) يكتب من الصفر على يد المطور وهذا مايسمى بـ أصناف خاصة (أو custom classes) , فيه النوع الأخر من الأصناف إلا وهى النوع الجاهز منها وهى دائما موجودة في أي بيئة تشغيلية للفلاش و الاكشن سكريبت وهذا النوع يسمى بBuilt-in Classes , هذه الأصناف تقوم بوظائف أساسية مثلا أظهار صور , تشغيل الأصوات,تكوين أرقام و نصوص,الاستجابة للمستخدم.
يوجد بضعة أصناف مهمة في الاكشن سكريبت وتمسى بـ native classesوهى مبنية مباشرة بداخل الاكشن سكريبت , الجدول التالي يوضح هذه الأصناف :
الصنف |
التعريف |
| String | هذا الصنف يمثل البيانات النصية (أي نص). |
| Boolean | يمثل الحالتين المنطقتين true و false . |
| Number | يمثل كل الأرقام المحتوية على قيمة كسرية مثل(13.45456) |
| int | يمثل كل الأرقام الصحيحة الموجبة والسالبة مثل (13 ,14 , 15-) |
| uint | يمثل الأرقام الصحيحة الموجبة فقط |
| Array | يمثل أي قيم مرتبة |
| Error | يمثل أي خطا في البرنامج |
| Date | يمثل نقطة محددة في الوقت |
| Math | يحتوى على القيم الرياضية الثابتة والعمليات الرياضية المعروفة |
| RegExp | يحتوى على أدوات للبحث واستبدال النصوص |
| Function | يمثل أي خطوات يمكن تنفيذها عدة مرات (الدوال) |
| Object | يعرف المميزات الأساسية لأي object في الاكشن سكريبت |
يتبع …