Boplo.ir
rss

من در Facebook


جستجو


آخرین مطالب

مطالب همینجوری

بر و بچ

MyView TakhteShasi Tween

دوستشون دارم

بیلبورد

دامین برای فروش: CleanCode.ir
FastFeed.ir
Fonvi.com

تماس


انواع و اقسام سفارشات طراحی و برنامه نویسی سایت پذیرفته میشه. از سایت حمایت از خرگوشهای صورتی گرفته تا سایت قاچاق اعضای بدن!
تماس

 

از بيماران سرطاني حمايت كنيم

A new begining
AHHP presents

 

آدرس کوتاه: http://Boplo.ir/:62

مقایسه jQuery و MooTools
۳۱ تير ۱۳۸۸ ساعت ۰۹:۵۶

طراحی وب
بررسی فنی تفاوت این دو فریم ورک

برای استفاده از جاوااسکریپت توی سایت، معمولا jQuery و MooTools گزینه های قابل تأمل تری هستند و اغلــــب ایــن ســــوال پیـــش میــاد که کــــدوم رو باید انتخــــاب کرد؟ چــند روز پیـــش به ســـایـــت jQuery vs MooTools.com برخوردم. یکی از توسعه دهندگان MooTools، یه مقاله بلند بالا، در همین باره در این سایت قرار داده. من هم از اونجاییکه چند وقت بود تو فکر نوشتن همچین مطلبی بودم، تصمیم گرفتم که این مقاله رو ترجمه کنم. این کار رو انجام دادم و صفحه فارسی رو برای نویسنده اش ارسال کردم و اون هم تو سایت قرار داد. به آدرس زیر:

« jQuery vs MooTools .com / index_fa.html »

jQuery or MooTools, image by sir.blogsky.com

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


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

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

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

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

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

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

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

نسخه‌های جدید MooTools در مرورگرهای غیر از اینترنت اکسپلورر، یه امکانی دارند که jQuery نداره (تا این تاریخ). اون اینه که Elementها در jQuery از نوع Object هستند در حالیکه Elementها در MooTools از در واقع Elementهای توسعه یافته جاوااسکریپت هستند. به مثال زیر دقت کن. میخوایم شفافیت لینک زیر رو تغییر بدیم و آدرسش رو هم Alert کنیم:

<a id="boploLink" href="http://boplo.ir">Boplo.ir</a>
// Javascript
var jsLink = document.getElementById('boploLink');
jsLink.style.opacity = 0.5; // Works unless IE7-
alert( jsLink.href ); // alerts: http://boplo.ir

// jQuery
var jqLink = $('#boploLink');
jqLink.css('opacity', 0.5); // Works well
alert( jqLink.attr('href') ); // alerts: http://boplo.ir

// MooTools
var mooLink = $('boploLink');
mooLink.setStyle('opacity', 0.5); // Works well
alert( mooLink.get('href') ); // alerts: http://boplo.ir

و حالا چگونگی ارتباط این فریم ورکها با Elementهای DOM:

var jsLink = document.getElementById('boploLink');

// jQuery
jsLink.css('opacity', 0.5);
// Uncaught TypeError: Object has no method 'css'
alert( jsLink.href ); // alerts: undefined

// MooTools
jsLink.setStyle('opacity', 0.5); // Works well
alert( jsLink.get('href') ); // alerts: http://boplo.ir
alert( jsLink.href ); // alerts: http://boplo.ir

همونطوری که مشاهده می کنی، همه خصوصیات Element جاوااسکریپت در MooTools قابل دسترسه و این به نظر من خیلی فوق العاده است.
البته jQuery از نسخه 1.3 مشخصه ای به نام context داره که Element مورد نظر در DOM رو میده:

alert( $('#boploLink').context.href ); // alerts: http://boplo.ir

در آخر بحث مقایسه، این جمله کلیدی، خیلی از مفاهیم رو بیان می کنه:

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

و دیگر هیچ!

 


پی نوشت اول: اگر پایه یادگرفتنش یکیشون شدی، خودت رو اسیر بخش آموزش سایتشون نکن چون کل آموزششون بصورت فایل CHM با حجم کم تو اینترنت هست که اگر سرچ کنی، پیدا می کنی.
پی نوشت دوم: نظر بنده به MooTools نزدیکتر است...

 

تو چی فکر می کنی؟


حسن : چه جالب! اتفاقا منم در حال ترجمه‌ش بوده‌م! بسیار عالی بود. امیرحسین از آشنایی باهات خوشحالم!
(2 سال و 6 ماه و 12 روز و 20 ساعت و 54 دقیقه پیش)

سيد داوود فامريني : سلام
من هنوز با mootools كار نكردم اما jquery رو خيلي زود ياد گرفتم اگه اينجوري كه مي گيد بد نيست امتحانش ضرر نداره.
از ترجمه تون هم ممنون خيلي خوبه.
(2 سال و 6 ماه و 7 روز و 5 ساعت و 6 دقیقه پیش)

hamid : Thanks
(2 سال و 6 ماه و 7 روز و 5 ساعت پیش)

مرتضی : مقالت جالب بود.
jquery بیشتر تونسته خودش رو جا بندازه.
من هنوز سراغ هیچکدوم برای یادگیری نرفتم.
ولی برای autocompletion تو نرم افزارم از jquery استفاده کردم.

من یه برنامه نویس تنها هستم که تا حالا یه phpکار بالاتر از متوسط رو از نزدیک ندیدم.

اگه میتونی این نرم افزار رو یه نیگاه بهش بنداز و برآوردی از سطح کیفیش بکن.

خوشحال می شم نظرت رو بدونم.
لینک نرم افزار:
http://pooyan.twsh.ir

راستی بیس قالبش متأسفانه همینیه که تو استفاده کردی! اما خوب باید گفت تقریباً چیزی ازش باقی نمونده.
(2 سال و 6 ماه و 16 ساعت و 30 دقیقه پیش)

dash sia : چند سال پیش که شروع کردم به یادگیری طراحی و برنامه نویسی وب پیش خودم گفتم که به زودی طراحی وب رو تموم میکنم!! الان 7 سال میگذره و چندین وب و ... ساختم ولی میفهمم که وب ته نداره :)) خدا میدونه بعد از jquery و mootool باید چی یاد بگیرم !!!!!؟
(2 سال و 5 ماه و 4 روز پیش)

خانی : مقاله خیلی خوبی بود ، من هنوز mootools کار نکردم ولی این مقاله رو که خوندم حتما میرم دنبالش.
(2 سال و 3 ماه و 24 روز و 1 ساعت و 41 دقیقه پیش)

1تا : سلام
سپاس مطلب مفیدی بود
مشتاق شدم با Mootools آشنا بشم
پایدار باشید
(2 سال و 3 ماه و 9 روز و 18 ساعت و 2 دقیقه پیش)

سامی از تبریز : سلام
خسته نباشی و ازت ممنونم، واقعا وقتی آدم دوستانی مثل شما رو می بینه روحیه میگیره :)
خب من از mootools اطلاعی ندارم و تابحال پیش نیومده که باهاش درگیر بشم اما خب به نظر من jquery قدرت قابل قبولی رو برای توسعه دهندگان وب قرار میده و برای اکثر مواقع کافیه و نباید اینطور فکر بشه که زبان ضعیفی می باشد.
بهرحال برای دوستانی که قصد دارند jquery رو یاد بگیرن من کتاب Learning Jquery 1.3 رو پیشنهاد می کنم که مالِ سال 2009 از انتشارات Packt Publishing می باشد و نویسندگان: Jonathan Chaffer & Karl Swedberg با مقدمه ای از John Resig خالق jquery

پیدا کردنش یکمی سخته چون هر جایی میزارن فوری حذف می شه ولی میتونین از تورنت براحتی پیدا کنین.
باز هم امیر حسین عزیز ازت متشکرم
خوش باشید
(2 سال و 3 ماه و 8 ساعت و 43 دقیقه پیش)

امیرحسین : ممنون سامی جان از توجه و لطفت.

jQuery اصلا فریم ورک ضعیفی نیست ولی در مقابل MooTools امکانات کمتری داره. شما اگر به بخش آموزش MooTools برید: http://mootools.net/docs/core
میبینید که توابع پیش فرضی که تو MooTools وجود داره اصلا با jQuery قابل قیاس نیست ولی خب کار کردن باهاش نیاز به دانش جاوااسکریپت داره. من چند وقت پیش یه سیستم با PHP نوشتم که Interface اش تمام آژاکس و جاوااسکریپت بود. از MooTools استفاده کردم. اگر از jQuery استفاده می کردم، حجم کدهام بالا میرفت و بعضی جاها به مشکل برمی خوردم ولی اون امکانات اضافه MooTools که تو نگاه اول خیلی بی استفاده میاد، توی سیستمهای حرفه ای واقعا مفیده!
(2 سال و 3 ماه و 2 ساعت و 36 دقیقه پیش)

علی صائبی فر : اگر قصد یادگیری جی کوئری را دارید می توانید از فیلم های آموزشی که به زبان فارسی تهیه شده است به رایگان از آدرس jquery.nano3oft.com دانلود کنید

با تشکر
(2 سال و 1 ماه و 29 روز و 17 ساعت و 5 دقیقه پیش)

محمدرضا : من كه موتولز رو انتخاب مي كنم ،
و البته اين رو قبول ندارم كه جي كوئري فريمورك نيست !
و در آخر بابت ترجمه ي قشنگت مرسي
موفق باشي
(1 سال و 11 ماه و 17 روز و 15 ساعت و 43 دقیقه پیش)

رامین : ایول کارت 20ته
(1 سال و 11 ماه و 8 روز و 15 ساعت و 46 دقیقه پیش)

محمد جواد : سلام
جالب بود
ولي خوب بهتره بدوني که بيشتر CMS‌ها الان از jQuery استفاده مي کنن و به نظر من jQuery بيشترمقبوليت پيدا کرده.
(1 سال و 10 ماه و 29 روز و 23 ساعت و 26 دقیقه پیش)

امیرحسین : jQuery بخاطر سادگی استفاده اش مقبولیت زیادی داره. برای یه طراح چی از این بهتر که جاوااسکریپت رو بدون بلد بودن یا حرفه ای بودن استفاده کنه؟ ولی محدودیت دامنه امکانات jQuery در مقابل MooTools یک اظهار نظر سلیقه ای نیست. اگر با MooTools کار کنید متوجه خواهید شد.
(1 سال و 10 ماه و 28 روز و 18 ساعت و 16 دقیقه پیش)

احمد : من سمپل های jquery رو جالب تر دیدم
یه سوال این دو تا باهم می تونن استفاده بشن ؟
البته استفاده نشن که بهتره چون حجم بالا می ره ولی من دیدم استفاده همزمان تداخل و خرابی داره
(1 سال و 6 ماه و 27 روز و 23 ساعت و 14 دقیقه پیش)

امیرحسین : توی نسخه های جدید MooTools که متد document.id ایجاد شده، نباید مشکلی با jQuery بوجود بیاد اما در هر صورت لینک زیر رو مطالعه کنید:
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
(1 سال و 6 ماه و 27 روز و 23 ساعت پیش)

محمد رضا : سلام
ترجمه ات خوندم، جالب بود.
من خيلي وقته برنامه نويسي ميكنم ولي كم پيش امده كه از فريم وركهاي موجود استفاده كنم. خوب به دلايل سياستهاي شركت محل كارم مي باشد.
تو در رابطه ExtJs هم مي توني مطلبي مشابه ارائه بدهي.
منظورم تفاوت، تشابه، برتري و ... بين Extjs,Jquery,MooTools اين 3 تا فريم ورك يا فريم ورك هاي ديگر موجود در اينترنت.
اگه يه وقت جايي در اين رابطه هم مطلبي خوني، لطفا لينكش رو برام بفرست.
با تشكر.
(1 سال و 5 ماه و 22 روز و 4 ساعت و 1 دقیقه پیش)

علی ستاری : سلام

بعد از مدت‌ها مطلب حرفه‌ای/فنی خوب و تمیز در بلاگ‌های فارسی دیدم!

در مورد MooTools و jQuery هم موافقم، jQuery برای کارهای quick 'n' dirty خیلی خوبه، در حالی که در پروژه‌های بزرگتر ساختار حرفه‌ای MooTools به کار میاد.

موفق باشی،
علی
(1 سال و 5 ماه و 2 روز و 17 ساعت و 20 دقیقه پیش)

علی : مدتیه که دارم رو jQuery کار میکنم و به نظرم ابزار واقعا خوبیه !
با مطالعه مقالت حتما سراغ MooTools هم خواهم رفت.
(1 سال و 16 روز و 14 ساعت و 59 دقیقه پیش)

سید محسن : سلام
با این مقاله ات کار ما رو زیاد کردی.
خیلی ممنون از مطلب مفیدت
(11 ماه و 9 روز و 15 ساعت و 29 دقیقه پیش)

عسل : واقعا عالييييييييييييييييييي بود
خيلي ممنون هم از شما هم از نظرات دوستان من ه لذت بردم از اين بحث
(9 ماه و 24 روز و 18 ساعت و 42 دقیقه پیش)

كاوه : مقاله ي قشنگي بود، ممنونم.
موفق باشي
(9 ماه و 14 روز و 20 ساعت و 2 دقیقه پیش)

assadi : سلام
مطالبتون واقعا عالي و مفيد بود به قول دوستمون بعد از مدت‌ها مطلب حرفه‌ای/فنی خوب و تمیز در بلاگ‌های فارسی دیدم!
من نه با jquery آشنا بودم نه با mootools بامقاله خوبشما حتما سراغشون ميرم.

راستش من كارم با php و Ajax هستش
سيستم تحت وبي طراحي كردم كه با explorer كدهاي ajax جواب نميده
يه پروژه جديدم دستم هستش كه هنوز شروع نكردم دنبال بهترين راه حل هستم كه مثل قبلي محدوديتي مرورگري نداشته باشم
شما چي رو پيشنهاد ميديد؟ممنون ميشم راهنمائيم بفرمائيد
(9 ماه و 7 ساعت و 15 دقیقه پیش)

امیرحسین : ممنون از لطفتون.
قسمت ویژه این JS Libraryها Cross-Browser بودنشون هست.
اگر تا حالا باهاشون کار نکردید، جی کوئری سادست ولی هر طراحی باید بلد باشدش!
در غیر اینصورت اگر به جاوااسکریپت و DOM تسلط دارید حتما MooTools رو هم امتحان کنید.
(9 ماه و 5 ساعت و 47 دقیقه پیش)

لیلا : سلام از مطالب مفیدتون ممنون
من هم چند سالی هست که در زمینه وب کار میکنم
خیلی خوشحالم که امروز سایت شما را دیدم .
من تازه میخوام jquery و motools را کارکنم که فکر میکنم مطالب شما کمکم کنم .
ازتون تشکر میکنم.
لطفا لینک آخرین ورژن دانلود jquery ,MooTools را بزارید.
(6 ماه و 23 روز و 6 ساعت و 58 دقیقه پیش)

امیرحسین : به سایت خودشون مراجعه کنید: mootools.net و jquery.com
(6 ماه و 23 روز و 4 ساعت و 57 دقیقه پیش)

یک دوست : مرصی
(6 ماه و 19 روز و 23 ساعت و 52 دقیقه پیش)

وحید : فقط چون گفتی دو خط نظر بدینا... من تازه شروع کردم به این یادگیری وب و واقعا راه درازی دارم، دعا کن بتونم حرفه ای شم، شاد باشی، در آغوش خدا... در ضمن با وبت حال کردم، بازم میام اینجا ;-)
(5 ماه و 21 روز و 23 ساعت و 1 دقیقه پیش)

حامد : اولا بهت خسته نباشید می گم دوست عزیز
حرفات کاملا منطقیه و همشو قبول دارم
اگر فقط یه کاره کوچیک داریم که می خوایم قیافه سایت رو عوض کنیم Jquery بهتره
ولی اگر می خوایم از javascript برای برنامه نویسی استفاده کنیم بهتره بریم سراغ MooTools
خودم کمی از Jquery استفاده کردم ولی رو اصلا استفاده MooToolsنکردم
(5 ماه و 9 روز و 15 ساعت و 9 دقیقه پیش)

akhsham : واو...خيليييي خوب بود
لايك
ممنون
(4 ماه و 9 روز و 2 ساعت و 38 دقیقه پیش)

faramarz : سلام
ممنون از اطلاعاتی که اینجا گذاشتی
(3 ماه و 8 روز و 18 ساعت و 27 دقیقه پیش)

پیام : بسیار خوشم اومد ازاینکه صداقت اینرو داشتی که بگی ترجمه کردم و مثل خیلی انسان های دیگه اون رو به نام خودت تموم نکردی. آفرین
(2 ماه و 12 روز و 23 ساعت و 15 دقیقه پیش)

hossein : مرسی دوست عزیز .
بسیار عالی و تمیز بود.

از زمان انتشار این مقاله تا الان jQuery تفاوت چندانی داشته یا نه؟
(1 ماه و 25 روز و 39 دقیقه پیش)

 

me

امیرحسینم. اسمم رو دوست دارم، خودم رو دوست دارم. تهران زندگی می کنم. فارغ التحصیل مهندسی صنایع هستم. برنامه‌نویسی و طراحی وب می کنم. در واقع Web Developer محسوب میشم. برنامه نویسی و وقت گذرونی با وب تنها کاریه که خسته ام نمی کنه.
آدم خیلی سردی هستم، اینو دور و وری هام میگن. ولی به نظر خودم سرد نیستم در واقع گرمای خودم رو کم بروز می دم! آدما رو اغلب دوست دارم غیر از اون مواقعی که اونا من رو نادیده میگیرن!

این سایت رو بعد از کلی اینور اونور دوباره راه انداختم تا هرچی دوست دارم توش بنویسم، چه کسی بخونه چه نخونه.
خلاصه اینجا خونه منه،

به خونه امیرحسین خوش اومدی...

MODx | Template World