الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماذا تستخدم من JavaScript frameworks ولماذا ؟

بدأه Xacker في 19 أغسطس 2010 · 17 رد · 1,487 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

jQuery

mootools

prototype

dojo

yui

وغيرها ...

ماذا تستخدم منها ؟ لماذا ؟

ما الذي تعتقد أنه يميزها عن غيرها وهل قمت بتجربة إطارات العمل الأخرى لترى الفروقات بين ما تفضل وما هو متوفر ؟

وفقاً لـ Google trends فإن jQuery حالياً تأخذ الحصة الأكبر من السوق وتشهد تقدماً ملحوظاً على مدى الأعوام الماضية، بينما البعض الآخر يتراجع بشكل ملحوظ مثل prototype

post-7008-020376800 1282168815_thumb.png

ووفقاً لمصدر آخر، builtwith.com فإن jQuery تملك تقريباً 41% من حصة تقنيات ومكتبات JavaScript

post-7008-048211200 1282169008_thumb.png

فلمن ترى المستقبل ؟ وماذا تعتقد..

دعوة للنقاش.

المرفقات
8-19-2010 12-57-42 AM.png8-19-2010 1-01-10 AM.png
1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#2

صراحة انا مستغرب من النتائج ولكن ليس غريبا عن الجي كويري الاسرع بالتنفيذ والاقل بكتابة الكود

كانت تاخذني قدمي تجاه البروتوتايب كلو من ورا خبر بالويكيبيديا انو نسبة البروتوتايب اكبر بكثير

ولكن صراحة اعرف ان الافضل هي الجي كويري

ولكن لا اعرف لم احب ان اكتب كود جافا سكريبت صافي

ولكن الprototype with script.aculo.us

بتكافىء jquery with jquery UI

على فكرة الجي كويري لو طلبت منها عمل على ال ie 5 وحتى الستة بيعطيك رسالة انو السكريبت ممكن ياخذ وقت طويل بتحب تكفي تنفيذ

1

In bad state

#3
X-File كتب:

على فكرة الجي كويري لو طلبت منها عمل على ال ie 5 وحتى الستة بيعطيك رسالة انو السكريبت ممكن ياخذ وقت طويل بتحب تكفي تنفيذ

انسى هذه المتصفحات يا أخي فقد أكل عليها الدهر وشرب، واستمرار المطورين في دعم IE6 (أو محاولة دعمه) هو أحد أسباب عدم عزوف المستخدمين عن استخدامه كمتصفح افتراضي في أنظمة Windows.

من هنا ندعو إلى مقاطعة المستخدمين.. أقصد المتصفحات القديمة حتى لا نوفر للمستخدمين فرصة الإبقاء عليها وإبقائنا كمطورين تحت عجلة التطوير تدوسنا وتسير mellow.gif

تم تعديل هذه المشاركة بواسطة Xacker في 19 أغسطس 2010 في 01:56

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

أستخدم مكونات jQuery-UI ، وأستخدم jQuery لكن ليس حصريا، أحيانا أستخدم الجافا سكريبت العادي.

jQuery هي أول framework حاولت تعلمه، لأني كنت أرى يوميا مقالات تتكلم عنه، وأيضا كنت رأيت رسما بيانيا مشابها للذي قدمته، مما شجعني على اختياره،

وما وجدته فيها من قوة وسهولة الإستخدام جعلتني لا أبحث عن framework آخر.

1
#5

قد تتفاجؤون ما اكتب

prototype اسرع من ال jquery على الاقل ب خمس مرات لن احكم انا

انتم احكمو

هذا المثال بال prototype

<html>
<head><title> BETWEEN PROTOTYPE ND JQUERY</title>
<script language="javascript" src="prototype.js">
</script>
<script language="javascript">
function check()
{
var x=1;
var start = (new Date).getTime();
for(var i=0;i<10000;i++)
	{
	x=x+parseInt($('ch').value);
	}

var diff = (new Date).getTime() - start;
alert(diff);
}



</script>

</head>
<body>
<input type="text" value="10" id="ch" />
<button onclick="check()">click me</button>
<div id="output"></div>
</body>

</html>

وهذا بالجي كويري

<html>
<head><title> BETWEEN PROTOTYPE ND JQUERY</title>
<script language="javascript" src="jquery.js">
</script>
<script language="javascript">
function check()
{
var x=1;
var start = (new Date).getTime();
for(var i=0;i<10000;i++)
	{
	x=x+parseInt($('#ch').value);
	}

var diff = (new Date).getTime() - start;
alert(diff);
}



</script>

</head>
<body>
<input type="text" value="10" id="ch" />
<button onclick="check()">click me</button>
<div id="output"></div>
</body>

</html>

انا لن اكتب النتائج وانما جربوها عندكن واحكمو لحالكن وبصراحة التيجة تحكم بان لا تستخدم الجي كويري

هذين المثالين بحاجة للمكتبتين

وهذين الاصدارين باخر النسخ لها

بالتوفيق :):):)

prototype.js

jquery.js

In bad state

#6

انا استخدم JQuery برغم اني ظللت لفترة طويلة مقتنع بعدم استخدام غير Pure JS اي بدون استخدام اي مكتبة و هذه شيء جعلني اتعمق جيدا في جافا سكربت قبل استخدام اي مكتبة ....

بعد استخدام الجي كويري زادت انتاجيتي في برمجة و بكفائة اعلى , بداية موضوع CSS Selectors فهو يختصر الوقت كثيرا و تعتمد في ذلك على محرك Sizzle وهو معتمد في العديد من مكتبات الاخرى بسبب سرعته و اداءه , ايضا موضوع Animation و اياكس و Events ووو...., و اخير موضوع JQuery Plugins المتوفرة بكثيرة في جميع مجالات .

استخدام Pure Js قبل استخدام اي مكتبة يساعدك كثيرا في فهم المكتبة و امكانياتها عند تحولك لا ستخدامها , فصعد السلم درجة درجة ...

اقتباس
قد تتفاجؤون ما اكتب

prototype اسرع من ال jquery على الاقل ب خمس مرات لن احكم انا

انتم احكمو

اعتقد انه نوع selectors المستخدم في Prototype يشير مباشرة الى document.getElementById اما في JQuery انت استخدمت # و هو بحاجة الى عملية parsing ,

لذلك ياخذ وقت اضافي ..

على فيرفوكس جي كويري كانت اسرع ( نفس مثال الذي كتبته ) , اما كروم فرجح pt

اذا استخدمنا نفس Selector في pt

	x=x+parseInt($$('#ch').value);

الجي كويري سوف تكون اسرع بفارق كبير على متصفحين

تم تعديل هذه المشاركة بواسطة ahmad123 في 19 أغسطس 2010 في 04:14

#7

ال selector "#" خاص فقط بال id، لذلك لا أعتقد أن هناك حاجة ل parsing.

وحتى بعد تجربة الكود، فإن مثال jQuery كان أسرع من مثال prototype. blink.gif إلا إذا فاتني شيء في الموضوع huh.gif

#8
herch كتب:

ال selector "#" خاص فقط بال id، لذلك لا أعتقد أن هناك حاجة ل parsing.

وحتى بعد تجربة الكود، فإن مثال jQuery كان أسرع من مثال prototype. blink.gif إلا إذا فاتني شيء في الموضوع huh.gif

سوف يتطلب الامر بعض String Pattern Match , لو نظرت لـ Source Code الخاص بجي كويري لوجدت انها تستخدم :

 
// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,

و بطبع عمليات التعابير المنتظمة سوف تزيد من و قت تنفيذ الكود

بينما Prototype في $('theid')

function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}

و هنا نلاحظ الوصول المباشر

document.getElementById(element);

تم تعديل هذه المشاركة بواسطة ahmad123 في 19 أغسطس 2010 في 04:51

#9

:wacko: :wacko: :wacko: :wacko: :wacko:

لماذا على ال iE8 عندي تظهر ال prototype اسرع بحوالي سبعة مرات

بصراحة قبل ما روح على الدوام ما غضرت انتظر نزل الفير فوكس والكروم

الجي كويري اسرع فقط بالفير فوكس بتمنى تتاكدو :( :(

In bad state

#10

هذه مقارنة جيدة من IBM مطلع هذا العام

Compare JavaScript frameworks

و هذه مقارنة اخرى من ويكيبيديا

Comparison of JavaScript frameworks

شخصياً افضل مميزات Dojo

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 19 أغسطس 2010 في 11:06

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#11

صراحة تامة لا اثق بهذه الاحصائيات منذ يومين وجدت موقع يقارن الجي كويري بباقي المكتبات وكانو كلن خضر

اخي طارق دقق حتى بالويكي بيديا رح تلاقي ان اقدم المكتبات من حيث التعامل مع المستعرضات هي prototype

MochiKit

In bad state

#12

بدأت بالعمل على المكتبات بعد أن قمت بعمل نظام تغيير تصميم الموقع باستخدام جافاسكريبت , عندها فكرت في استخدام مكتبات تريحني من كتابه المزيد من اكواد الجافاسكريبت

البدايه كانت مع مكتبة ياهوو yui

تعلمها صعب جدا وتحتوي على دوال كثيره وعمل نظام معين يحتاج إلى حفظ جميع دوالها يعني لغه برمجة ثانيه بس محدوده

بعدها جربت الدوجو والموتول وكانت أيضا محدوده أو أن تعلمها صعب ويحتاج إلى فهم البناء الخاص بها

بعدها يئست وعدت إلى الجافاسكريبت لأكمل مابقي من العمل

الجي كويري سمعت عنها من أحد أعضاء هذا المنتدى عندما كنت أشرح درس حول تصميم موقع من الصفر ... كنت قد بنيت مكتبه خاصه بي لإخفاء وإظهار الوسوم وعمليات أخرى فقال لي استخدم جي كويري وفعلا بحثت عنها ووجدت أنها أسهل مكتبه وقعت عليها ومن يومها أصبح عملي كله يعتمد على هذه المكتبه

الجميل في جي كويري إمكانياتها العاليه في فهم الكود فهي ليست دوال تحفظ إنما يمكنك إستخدام أكثر من أمر في نفس السطر ربما كنظام الكلاسيز

$("#x").show().hide().daily()...

لي تعليق على الرسم البياني

png fix , swfobject

هل هذه مكتبات !! هي دوال فقط لعمل أمر معين

بخلال مكتبه ياهوو وجيكويري وبروتوتايب التي تعتبر لغه

يجب أن نقارن التفاح بالتفاح وليس بالخس :)

تم تعديل هذه المشاركة بواسطة bastr3 في 19 أغسطس 2010 في 20:15

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#13

حقيقة لا استخدم اى مكتبة خاصة فى الجافا سكربت و برمجت مع مرور الوقت مكتبة خاصة بي ، وهى افضل لطبيعة عملى واسرع من اى مكتبة اخرى ، خاصة لغة جافا سكربت لغة سلسلة جدا بطبيعتها و من الممكن عمل مكتبة كاملة حسب احتياجاتك فى وقت قليل جدا

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#14
d3veloper كتب:

حقيقة لا استخدم اى مكتبة خاصة فى الجافا سكربت و برمجت مع مرور الوقت مكتبة خاصة بي ، وهى افضل لطبيعة عملى واسرع من اى مكتبة اخرى ، خاصة لغة جافا سكربت لغة سلسلة جدا بطبيعتها و من الممكن عمل مكتبة كاملة حسب احتياجاتك فى وقت قليل جدا

جميل جدا اخي ولكن لي سؤالين

1- كم عدد اسطر المكتبة والتوابع الموجودة بها

2- هل قارنت سرعتها بباقي المكتبات

In bad state

#15
اقتباس
حقيقة لا استخدم اى مكتبة خاصة فى الجافا سكربت و برمجت مع مرور الوقت مكتبة خاصة بي

هل قمت بكتابة Framework ام قمت بكتابة مجموعة من الدوال التى تحتاج إليها بصورة متكررة و قمت بحفظها فى ملفات Js ؟

نود الاستفادة من تجربتك كما ذكر اخونا X-File

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#16
طارق إبراهيم كتب:

هل قمت بكتابة Framework ام قمت بكتابة مجموعة من الدوال التى تحتاج إليها بصورة متكررة و قمت بحفظها فى ملفات Js ؟

نود الاستفادة من تجربتك كما ذكر اخونا X-File

كتابة مكتبة كاملة لكن دون بعض الامور الغير ملائمة لطبيعة مشروعى واستفد من تجربة John Resig مبرمج ال jQuey فى هذا ، لقد نشر مقال كامل عن من تحتاجه لكتابة مكتبتك الخاصة بك و كيفية تطويعها حسب احتياجاتك الخاصة بك كبرمج هاوى او محترف ، خاصة وكما ذكرت سابقا ان لغة الجافا اسكريبت لغة سلسلةجدا كالصلصال تستطيع تشكيلها كما تحب ، وانصح بالاتى :

http://www.slideshare.net/jeresig/building-a-javascript-library

وكتاب Pro JavaScript Techniques ومؤلفه John Resig

وكذلك كتاب Pro JavaScript Design Patterns

بالاضافة الى قراءة وتحليل البنية التحتية لمكتبات اخرى مثل ال prototype و YUI

1

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#17
X-File كتب:

جميل جدا اخي ولكن لي سؤالين

1- كم عدد اسطر المكتبة والتوابع الموجودة بها

2- هل قارنت سرعتها بباقي المكتبات

للاسف نظرا لطبيعة المشروع الذى نعمل عليه الان ، لن استطيع ان اجيبك اجابة وافيه لكن فى القريب العاجل سيتم نشر كل شئ فور الانتهاء من المشروع الجديد باذن الله ، لان العمل عليها يتطور بشكل يومى

sigpic13832_4.gif

The best way to be ready for the future is to invent it

#18
اقتباس
d3veloper كتب:

كتابة مكتبة كاملة لكن دون بعض الامور الغير ملائمة لطبيعة مشروعى واستفد من تجربة John Resig مبرمج ال jQuey فى هذا ، لقد نشر مقال كامل عن من تحتاجه لكتابة مكتبتك الخاصة بك و كيفية تطويعها حسب احتياجاتك الخاصة بك كبرمج هاوى او محترف ، خاصة وكما ذكرت سابقا ان لغة الجافا اسكريبت لغة سلسلةجدا كالصلصال تستطيع تشكيلها كما تحب ، وانصح بالاتى :

http://www.slideshar...ascript-library

وكتاب Pro JavaScript Techniques ومؤلفه John Resig

وكذلك كتاب Pro JavaScript Design Patterns

بالاضافة الى قراءة وتحليل البنية التحتية لمكتبات اخرى مثل ال prototype و YUI

جميل جدا كنت قد قرات بالكتاب الثاني وكان تقيل على المخ :Dولكنه جميل جدا

ومطوراه

ROSS HARMES مهندس الواجهات بياهو

DUSTIN DIAZ كذلك مهندس واجهات بجوجل

ولكن مع ذلك لي سؤال واحد هل المكتبة تقوم باعمل متل jquery ام مكتبة لعمل مخصص فقط

d3veloper كتب:

بالاضافة الى قراءة وتحليل البنية التحتية لمكتبات اخرى مثل ال prototype و YUI

عجبتني هاي :)

تم تعديل هذه المشاركة بواسطة Xacker في 23 أغسطس 2010 في 00:51

In bad state

مواضيع مشابهة