PDA

View Full Version : مقایسه jQuery و MooTools



raziee
سه شنبه 03 آذر 1388, 22:04 عصر
منبع (http://boplo.ir/web-design/jquery-or-mootools/)
برای استفاده از جاوااسکریپت توی سایت، معمولا jQuery و MooTools گزینه های قابل تأمل تری هستند و اغلب این سوال پیش میاد که کدوم رو باید انتخاب کرد؟ چند روز پیش به سایت jQuery vs MooTools .com برخوردم. یکی از توسعه دهندگان MooTools، یه مقاله بلند بالا، در همین باره در این سایت قرار داده. من هم از اونجاییکه چند وقت بود تو فکر نوشتن همچین مطلبی بودم، تصمیم گرفتم که این مقاله رو ترجمه کنم. این کار رو انجام دادم و صفحه فارسی رو برای نویسنده اش ارسال کردم و اون هم تو سایت قرار داد. به آدرس زیر:

« jQuery vs MooTools .com / index_fa.html »



خیلی سعی کردم که ترجمه حتی الامکان کامل و رسا باشه و هرکسی با هر سطح فنی، بتونه ازش استفاده کنه. در کل مقاله برای کسانی که چیزی از جاوااسکریپت نمی دونن هم تا حدی مفیده.



اگر حوصله خوندن اون مقاله رو نداری یا میخوای نظرات خیلی خیلی خیلی مفید من رو هم در این باره بدونی، ادامه مطلب رو بخون...

توضیح: اول یه توضیح کوتاه درباره مفهوم فریم ورک (Framework) بدم برای کساییکه احتمالا با این واژه آشنایی ندارند. فریم ورک مجموعه ای از توابع و کدهایی هست که برای سهولت انجام کاری خاص طراحی میشه. مثلا همین jQuery، یه تابع معرفی کرده برای نمایش مطالب بصورت اسلاید. تمام کاری که ما باید بکنیم، استفاده از این تابع است. در حالیکه نوشتن چنین تابعی، به اطلاعات تجربه زیادی نیاز داره ولی استفاده اش نه! خلاصه فریم ورک، کار رو آسونتر می کنه.

jQuery : اگر جاوااسکریپت بلد نیستی، یا کم بلدی، یا حوصله کد نویسی نداری ولی میخوایی افکتهای قشنگ جاوااسکریپت رو توی سایتت داشته باشی، این بهترین گزینه است. پیشنهاد می کنم معطل نکنی و بری تو بخش آموزش سایتش . تو کمتر از سه ساعت، زندگی تحت وبت تغییر می کنه. از اینکه توی مدت به این کمی، چیزایی یاد گرفتی که همیشه فکر می کردی مال از ما بهترونه، ذوق می کنی. باور کن. همین امروز و الان برو سراغ سایتش. ولی صبرکن! این مقاله رو تا آخر بخون بعد برو. بعدشم اون پایینو میبینی نوشته "تو چی فکر می کنی" ؟ اونو واسه خودم ننوشتم! نظرت رو بگو، قول میدم از اینکه دو خط کامنت تایپ میکنی نوک انگشتات خسته نشه....

jQuery امکانات خیلی خوب و سریعی برای کار با DOM ارائه میده ولی برای توسعه امکانات جالبی نداره. همینطور وقتی از محدوده DOM خارج میشیم، کار بیخ پیدا می کنه چون jQuery خارج از DOM، هیچ تابعی نداره و باید از کدهای جاوااسکریپت معمولی استفاده کرد. اگر با این فریم ورک کار کرده باشی می دونی که تقریبا همه متدهاش، به المان یا اجزای DOM متصل می شوند و این به نظر من بزرگترین اشکالشه یعنی کل توانایی هامون بر روی اجزای صفحه قابل اجراست!

MooTools : این فریم ورک گسترده تر از بالاییه. متدهای خیلی زیادی برای خود جاوااسکریپت داره و نه صرفا برای DOM. تقریبا همه قابلیتهایی که jQuery داره، اینم داره به اضافه امکانات خیلی بیشتری برای کدنویسی جاوااسکریپت. این فریم ورک امکان تعریف کردن شیء و متد رو به سادگی میده. یعنی می تونی برای شیء Array متد بسازی و استفاده کنی یا برای اشیاء دیگه جاوااسکریپت. خواص ارث بری جاوااسکریپت رو به نوعی اصلاح کرده که شما با کلاسهای MooTools کارهای خیلی بیشتری می تونی بکنی.
بزرگترین عیبش در مقابل بالایی، دشوارتر بودنشه. همونجوری که گفتم، توی سه ساعت، حتی بدون زمینه قبلی، میشه jQuery رو یاد گرفت (اصولش رو) ولی برای MooTools اینطور نیست.

من چند وقت پیش کار کردن با MooTools رو شروع کردم و اصلا به اون سختی که توی مقاله تاکید شده، نبود ولی سادگی jQuery یه ویژگی خاصه.

اگر بخوای برای یک سایت، مجموعه امکانات جاوااسکریپت ایجاد کنی که به کدنویسی زیاد نیاز داره، بهتره که از jQuery استفاده نکنی چون در این زمینه، MooTools خیلی قدرتمندتره! ولی برای کارهای جزئی و سریع، فقط و فقط و فقط jQuery.

این جمله کلیدی، خیلی از مفاهیم رو بیان می کنه:

بخش اعظمی از تفاوتها، به درک مفهوم فریم ورک و ابزار (Toolkit) مربوط میشه. به این صورت که، jQuery یک ابزاره و MooTools یک فریم ورک.

و دیگر هیچ!

vb_bmw
یک شنبه 08 آذر 1388, 00:27 صبح
jQuery بسیار قوی هست.ولی اصلا نمیشه MooTools رو ضعیف دونست.MT به خاطر دسترسی های سریع ترش و پیاده سازی های سریع ترش و از همه مهم تر سازگاری بسیار بالاش با ASP.Net خیلی قدرتمند هست.

در مقابل jQuery به علت کدین سریع تر،پیاده سازی بسیار حرفه ای ، کارایی به شدت خوب طرفداران بیشتری داره.

توی این مقایسه ها حرفه ای تر ها MS Ajax رو انتخاب میکنن.به شدت قدرتمند و سریع و منعطف.

Exception
یک شنبه 08 آذر 1388, 19:50 عصر
توی این مقایسه ها حرفه ای تر ها MS Ajax رو انتخاب میکنن.به شدت قدرتمند و سریع و منعطف.
MS Ajax حرفه ای تره؟ واقعا تعجب میکنم از این حرفتون!
شما تاحالا تو کدوم پروژه حرفه ای (بجز پروژه هایی که از Ajax Control Toolkit استفاده کردن) دیدن که از MS Ajax استفاده بشه؟ من که خودم با ASP.NET کار میکنم، 90% مواقع بجای اون از jQuery استفاده میکنم.

Exception
یک شنبه 08 آذر 1388, 19:51 عصر
بنده اینجا دسترسی مدیریت ندارم وگر نه شما رو همونطور که توی MO بن کردم اینجا هم مادام اعمر بن میکردم.
با توجه به این آستانه تحملی که در مقابل نظرات مخالف دارین، من خدا رو شکر میکنم که شما اینجا دسترسی مدیریت ندارید.

vb_bmw
یک شنبه 08 آذر 1388, 21:46 عصر
نه دوست من ایشون توی سایت های مختلفی ایجاد مشکل کردن که اینجا یکیشه.

در مورد MS Ajax هم باید بگم نمونه ی بارزش silverlight.net و قسمتی از KIGG .

درضمن MS Ajax با ASP.Net یک خروجی بسیار قدرتمند میده.

احتمالا تا حالا با MS Ajax کار نکردید.وگر نه برای زمان هایی که نیاز به کار های خاصی دارید از MS Ajax استفاده می کردید.( توی وبلاگ ScottGu هم یه سرچ بزنید دقیقا به همین مطلب می رسید ).

در ضمن منظور فقط دستورات خاص هست.من خودمم توی تمام پروژه هام از jQuery استفاده میکنم.

جدا از اون خود ماکروسافت هم این موضوع رو قبول کرده و jQuery رو جزو بخش های اصلی ASP.NET MVC قرار داده.

درضمن زود قضاوت کردن خیلی بده. :)

Exception
یک شنبه 08 آذر 1388, 22:26 عصر
نه دوست من ایشون توی سایت های مختلفی ایجاد مشکل کردن که اینجا یکیشه.

در مورد MS Ajax هم باید بگم نمونه ی بارزش silverlight.net و قسمتی از KIGG .

درضمن MS Ajax با ASP.NET یک خروجی بسیار قدرتمند میده.

احتمالا تا حالا با MS Ajax کار نکردید.وگر نه برای زمان هایی که نیاز به کار های خاصی دارید از MS Ajax استفاده می کردید.( توی وبلاگ ScottGu هم یه سرچ بزنید دقیقا به همین مطلب می رسید ).

در ضمن منظور فقط دستورات خاص هست.من خودمم توی تمام پروژه هام از jQuery استفاده میکنم.

جدا از اون خود ماکروسافت هم این موضوع رو قبول کرده و jQuery رو جزو بخش های اصلی ASP.NET MVC قرار داده.

درضمن زود قضاوت کردن خیلی بده. :)
چرا اتفاقا قبل از اینکه jQuery رو شروع کنم از MS Ajax استفاده میکردم ولی بعد از شروع jQuery، این اتفاق کمتر میافته.
اون 90% هم که گفتم، برای این بود که 10% مواقع با خود MS Ajax کار میکنم. مثلا اگر از UpdatePanel استفاده شده باشه، تابعی مثل pageLoad (در MS Ajax و نه Page_Load) چیزی هست که معادل ساده ای در jQuery نداره.

اما ظاهرا در این مورد هم نظر هستیم که MS Ajax بیشتر به درد کارهای خاص میخوره و اونقدرها جایگزین مناسبی برای jQuery نیست!

امیـرحسین
پنج شنبه 12 آذر 1388, 00:47 صبح
بررسی تفاوت jQuery و MooTools بطور صددرصد به برنامه و هدف برنامه نویس مربوط میشه.
MooTools همه دامنه قدرت jQuery رو پوشش میده ولی برای کارهای جزیی و کوچیک زیادی بزرگ و دست و پا گیره و وقتی به کدنویسی تخصصی و گسترده نیاز نداریم، jQuery خیلی ساده تر و سبکتر عمل می کنه در غیر اینصورت، یعنی حالتی که نیاز اساسی به حجم بالای کد داریم، عملا jQuery بی فایده است مگه اینکه بخوایم چند ده تا پلاگینش رو همزمان استفاده کنیم، کدهای شخصی خودمون که حتما جاوااسکریپت خام هستند رو استفاده کنیم و در نهایت امیدوار باشیم که conflict نداشته باشند.
این یعنی مهمترین پارامتر هدف برنامه نویسه ولی در نمای کلی، همونطور که گفتم، MooTools قابلیتهای jQuery رو پوشش میده.

(اینم نظر تکمیلی من)

S.ahmad.mirzai
جمعه 15 شهریور 1392, 21:19 عصر
منم یه پست کوتاه به آدرس زیر قرار دادم همراه با شبه کد های از هردو فریم ورک+مقایسه ای از حجم هر دو فریم ورک و ... که می تونین مشاهده کنین :-)
http://safecode.ir/post.aspx?id=18

sinoser
شنبه 16 شهریور 1392, 00:30 صبح
با چیزی که من فهمیدم و می دونم خلاصه این دعوا اینه

اگر هدفتون کار با اجزای صفحه که dom کلمه مناسب تریه براش هست و از javascript و اون فرمش بدتون میاد برید سراغ jQuery
اگرم javascript می دونید و ازش خوشتون میاد ولی مشکلاتش اعصابتونو خورد کرده برید سراغ mootools

soroush.elec
شنبه 16 شهریور 1392, 00:43 صبح
بنده به Ext js مسلطم ولی بخاطر حجم زیادش نمی توانم از آن در پروژه های کوچک و وب سایت ها استفاده کنم. حجم mootools چقدر است . آیا مثل jquery سبک است؟؟؟

sinoser
شنبه 16 شهریور 1392, 01:14 صبح
بنده به Ext js مسلطم ولی بخاطر حجم زیادش نمی توانم از آن در پروژه های کوچک و وب سایت ها استفاده کنم. حجم mootools چقدر است . آیا مثل jquery سبک است؟؟؟
توی همین مقاله دوستمون یک جدول هست همون اول ها هم هست قشنگ گفته
http://jqueryvsmootools.com/index_fa.html

shadii
یک شنبه 24 شهریور 1392, 10:25 صبح
با توجه به اینکه دانشمندا یه جا جمع شدن یه سوال دارم! الان من بخوام برنامه ای بنویسم که مثلا یه باکس داشته باشم چند تا عکس توش درگ بشن و در نهایت اون باکس رو save کنم باید چی کار کنم؟ از کدوم استفاده کنم؟

sinoser
یک شنبه 24 شهریور 1392, 11:59 صبح
با توجه به اینکه دانشمندا یه جا جمع شدن یه سوال دارم! الان من بخوام برنامه ای بنویسم که مثلا یه باکس داشته باشم چند تا عکس توش درگ بشن و در نهایت اون باکس رو save کنم باید چی کار کنم؟ از کدوم استفاده کنم؟

jQuery کارش همین چیزاس
باید از متد draggable() , droppable() موجود در jQuery UI استفاده کنی
توضیحات بیشتر در
http://jqueryui.com/draggable/
http://jqueryui.com/droppable/