MooTools
MooTools (أدواتي الموجهة للكائنات) [ 4 ] هو إطار عمل جافا سكريبت خفيف الوزن وموجه للكائنات . وهو مُرخص بموجب رخصة MIT المجانية والمفتوحة المصدر . [ 5 ]
ملخص
توفر MooTools للمستخدم عددًا من الخيارات التي تتجاوز لغة جافا سكريبت الأصلية. وتشمل هذه الخيارات ما يلي:
- إطار عمل قابل للتوسيع والتعديل يسمح للمطورين باختيار مزيجهم المخصص من المكونات. [ 6 ]
- تتبع MooTools ممارسات البرمجة الكائنية ومبدأ DRY . [ 7 ]
- مكون تأثيرات متقدم، مع انتقالات محسّنة مثل معادلات التسهيل التي يستخدمها العديد من مطوري فلاش. [ 8 ]
- تحسينات على نموذج كائن المستند (DOM) ، تُمكّن المطورين من إضافة عناصر DOM وتعديلها وتحديدها وحذفها بسهولة. كما يدعم النظام تخزين المعلومات واسترجاعها باستخدام خاصية تخزين العناصر. [ 9 ]
يتضمن إطار العمل وظائف مدمجة لمعالجة CSS وعناصر DOM وكائنات JavaScript الأصلية وطلبات Ajax وتأثيرات DOM، وغير ذلك. كما يوفر MooTools واجهة برمجة تطبيقات (API) مفصلة ومتكاملة، [ 10 ] بالإضافة إلى وحدة تنزيل مخصصة تتيح للمطورين تنزيل الوحدات والتبعيات التي يحتاجونها فقط لتطبيق معين. [ 11 ] [ 12 ]
تاريخ
قام فاليريو برويتي بتأليف إطار العمل لأول مرة وأصدره في سبتمبر 2006 [ 13 ] ، مستلهماً ذلك من Prototype و base2 لدين إدواردز . نشأت MooTools من Moo.fx، وهي مكتبة تأثيرات جافا سكريبت شائعة ، أصدرها فاليريو برويتي في أكتوبر 2005 كإضافة لإطار عمل Prototype جافا سكريبت . [ 14 ] يمكن استخدامها كبديل أخف وزناً لـ script.aculo.us أو غيرها من المكتبات الأكبر حجماً. توفر تأثيرات بسيطة وأساسية، وتضمن حجم مكتبة صغير.
بينما قام Prototype بتوسيع - أو تصميم - العديد من كائنات JavaScript الأصلية من نوع String و Array و Function بإضافة طرق إضافية، رغب Proietti في إطار عمل (في ذلك الوقت) [ 15 ] يقوم أيضًا بتوسيع كائن Element الأصلي [ 13 ] لتوفير تحكم أكبر في نموذج كائن المستند (DOM). [ 16 ]
عناصر
تتضمن MooTools عددًا من المكونات، ولكن ليس من الضروري تحميلها جميعًا لكل تطبيق. بعض فئات المكونات هي:
- النواة : مجموعة من وظائف الأدوات المساعدة التي تتطلبها جميع المكونات الأخرى. [ 17 ]
- المزيد : مجموعة رسمية من الإضافات التي توسع النظام الأساسي وتوفر وظائف محسّنة. [ 18 ]
- الفئة : المكتبة الأساسية لإنشاء كائنات الفئة. [ 19 ]
- Natives : مجموعة من التحسينات على كائنات JavaScript الأصلية. تضيف Natives وظائف وتوافقًا وأساليب جديدة تُبسط عملية البرمجة.
- العنصر : يحتوي على عدد كبير من التحسينات وتوحيد معايير التوافق لكائن عنصر HTML . [ 20 ]
- Fx : واجهة برمجة تطبيقات متقدمة للتأثيرات لتحريك عناصر الصفحة. [ 21 ]
- الطلب : يتضمن واجهة XHR ، وملفات تعريف الارتباط، و JSON ، وأدوات خاصة باسترجاع HTML ليستخدمها المطورون. [ 22 ]
- النافذة : توفر واجهة متعددة المتصفحات لمعلومات خاصة بالعميل، مثل أبعاد النافذة. [ 23 ]
توافق المتصفح
برنامج MooTools متوافق مع: [ 24 ] وتم اختباره
- سفاري 3+
- إنترنت إكسبلورر 6+
- موزيلا فايرفوكس 2+
- أوبرا 9+
- كروم 4+
التركيز على النمطية وإمكانية إعادة الاستخدام
لكل إطار عمل جافا سكريبت فلسفته الخاصة، ويهتم MooTools بالاستفادة القصوى من مرونة وقوة جافا سكريبت بطريقة تُركز على زيادة التجزئة وإعادة استخدام الكود. يُحقق MooTools هذه الأهداف بسهولة للمطورين القادمين من لغات البرمجة القائمة على الوراثة الفئوية مثل جافا، وذلك من خلال كائن فئة MooTools .
الفئة عبارة عن كائن يتكون من أزواج مفتاح/قيمة، ويحتوي إما على خصائص أو دوال. يسهل دمج الفئة وتوسيعها مع مثيلات أخرى من الفئة، مما يتيح التركيز الأمثل لـ MooTools: إعادة استخدام الكود من خلال تعظيم قوة الوراثة النموذجية في JavaScript، ولكن باستخدام صيغة كائن الفئة الأكثر ألفة لنماذج الوراثة التقليدية. [ 25 ]
البرمجة الكائنية التوجه
يحتوي MooTools على نظام قوي لإنشاء الفئات وتوريثها، يشبه معظم لغات البرمجة الكائنية التقليدية . على سبيل المثال، فيما يلي ما يعادل الأمثلة الموجودة في صفحة تعدد الأشكال على ويكيبيديا في MooTools:
var Animal = new Class ({دالة التهيئة : function ( name ) { this . name = name ; }});var Cat = new Class ({ Extends : Animal ,talk : function () { return 'مياو!' ; }});var Dog = new Class ({يمتد إلى : حيوان ،talk : function () { return 'Arf! Arf!' ; }});var animals = { a : new Cat ( 'Missy' ), b : new Cat ( 'Mr. Bojangles' ), c : new Dog ( 'Lassie' ) };Object.each ( animals , function ( animal ) { alert ( animal.name + ' : ' + animal.talk ( ) ) ; } ); // يُظهر التنبيهات التالية: // // ميسي: مياو! // مستر بوجانجلز: مياو! // لاسي: عواء! عواء!انظر أيضاً
مراجع
- ↑ إعلان الإصدار الأصلي
- ↑ "الإصدار 1.6.0 · mootools/Mootools-core" . GitHub .
- ^ "مو تولز" . mootools.net .
- ↑ "شرائح عرض MooTools في مؤتمر FOSDEM" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 23 يوليو 2011. تم الاطلاع عليه بتاريخ 17 فبراير 2010 .
- ↑ الموقع الرسمي لـ MooTools
- ↑ صفحة تنزيل MooTools الأساسية
- ↑ كائن فئة MooTools مؤرشف بتاريخ 31 أغسطس 2008 في Wayback Machine
- ↑ تم أرشفة فصل المؤثرات (FX) الخاص بـ MooTools بتاريخ 23 يونيو 2008 في Wayback Machine
- ↑ فئة العناصر في MooTools - قائمة شاملة بأساليب معالجة العناصر. مؤرشفة بتاريخ 5 سبتمبر 2008 في Wayback Machine
- ↑ طريقة أفضل لاستخدام العناصر
- ↑ أداة بناء MooTools الأساسية
- ↑ MooTools المزيد من أدوات البناء
- نيوتن ، آرون (18 سبتمبر 2008). أساسيات MooTools: المرجع الرسمي لـ MooTools لتطوير JavaScript و Ajax ( الطبعة الأولى). Apress . ص. 16. ISBN 978-1-4302-0983-6.
- ↑ نيوتن، آرون (18 سبتمبر 2008). أساسيات MooTools: المرجع الرسمي لـ MooTools لتطوير جافا سكريبت وأجاكس ( الطبعة الأولى). Apress . عدد الصفحات: 15. ISBN 978-1-4302-0983-6.
- ↑ يتضمن الإصدار 1.6.1 من برنامج Prototype "نظام تخزين بيانات تعريف العناصر". تم إصدار Prototype 1.6.1. رابط قديم مؤرشف بتاريخ 1 مارس 2010 على archive.today بواسطة سام ستيفنسون، كُتب في 1 سبتمبر 2009. تم الاطلاع عليه بتاريخ 21 مارس 2010.
- ↑ لاحظ أن MooTools لا تُوسّع الكائن الأصلي Object - فجميع أنواع JavaScript الأساسية مثل String و Function ترث منه - بل تُوفّر بدلاً من ذلك كائن Hash مُلائمًا لهذا الغرض: تخيّل الأمر وكأن لديك مجموعة من الدوال المساعدة التي تُتيح معالجة كائنات JavaScript العادية بسهولة تامة، والتي لا تتأثر بهذه العملية في الأحوال العادية. ( نيوتن، آرون (18 سبتمبر 2008). أساسيات MooTools: المرجع الرسمي لـ MooTools لتطوير JavaScript و Ajax (الطبعة الأولى ). Apress . ص. 16. ISBN 978-1-4302-0983-6.)
- ↑ تم أرشفة نواة MooTools في 2 أكتوبر 2009 على موقع Wayback Machine
- ↑ MooTools المزيد مؤرشف بتاريخ 2009-10-04 في Wayback Machine
- ↑ تم أرشفة فئة MooTools بتاريخ 31 أغسطس 2008 في Wayback Machine
- ↑ عنصر MooTools مؤرشف بتاريخ 5 سبتمبر 2008 في Wayback Machine
- ↑ تم أرشفة فئة MooTools Fx في 23 يونيو 2008 على موقع Wayback Machine
- ↑ تم أرشفة فئة طلب MooTools بتاريخ 30 يوليو 2008 في Wayback Machine
- ↑ بالإضافة إلى الحصول على حجم أي عنصر، يمكنك بسهولة الحصول على أبعاد النافذة. مؤرشف بتاريخ 11-09-2008 في أرشيف الإنترنت (Wayback Machine).
- ↑ يعرض موقع MooTools توافقه على صفحته الرئيسية.
- ↑ مقارنة بين jQuery و Mootools
للمزيد من القراءة
- "مقدمة في هندسة MooTools" . الميكانيكا التطبيقية والمواد .
- "استشارة تفاعلية تعتمد على تقنيات الاستقصاء الطويل في MooTools" . الميكانيكا التطبيقية والمواد .
- أوركارد، ليزلي م.؛ بهليفانيان، آرا؛ كون، سكوت؛ جونز، هارلي (31 أغسطس 2009). أطر عمل جافا سكريبت الاحترافية: بروتوتايب، وYUI، وExtJS، وDojo، وMooTools ( الطبعة الأولى). دار نشر Wrox . ص 888. ISBN 978-0-470-38459-6.
- نيوتن، آرون (18 سبتمبر 2008). أساسيات MooTools: المرجع الرسمي لـ MooTools لتطوير تطبيقات جافا سكريبت وأجاكس ( الطبعة الأولى). Apress . ص 300. ISBN 978-1-4302-0983-6.
- ليكومت ، كزافييه (1 يونيو 2012). اكتشف MooTools : إطار عمل JavaScript لموقع ديناميكي وتفاعلي (FR) (الطبعة الأولى ). كتب رقمية . ص. 260. ردمك 978-2-8150-0215-8.
روابط خارجية
- مكتبات جافا سكريبت
- أجاكس (برمجة)
- برنامج مرخص بموجب ترخيص MIT
- أطر عمل الويب
