فک کنم اکثر کسایی که این نوشته رو باز کردن بدونن jQuery یا به فارسی جیکوئری چیه. کتابخونه جاوااسکریپتی که با اومدنش توی سال ۲۰۰۶ کلی سرو صدا کرد و ترکوند. و واقعا هم توی اون سالها جادویی بود و البته الانم هست.
جیکوئری به قدری بین کتابخونههای جاوا اسکریپت معروفه که کاربرای آماتور اونو با جاوا اسکریپت یکی میدونن.
در ادامه میخوایم ببینیم با گذشت ۱۳ سال از انتشار جی کوئری و با وجود کتابخونههای دیگه(angularJs, Vue JS, React,...) آیا هنوز برنامهنویس ها و دولوپرها برای پروژه جدیدشون باید سراغش برن؟ یا کلاً منسوخ شده بدونیمش و طرفش نریم.
شاید الان خیلی از توسعهدهندگان خجالت بکشن تو جمع رفقای همکارشون بگن که توی پروژه جدیدشون از جیکوئری هم استفاده کردن. چون به نظرشون یه کتابخونه قدیمی و نالازمه و برای این نظرشون دلایلی هم دارن که با هم برسی میکنیم
خیلی سادس. نسخه اولیه جیکوئری سال ۲۰۰۶ اومد یعنی ۱۳ سال پیش! و طبعاً برای حل مشکلات همون موقع طراحی شد. درسته که جیکوئری توسعه داده شد و ورژنهای بعدیشم منتشر شد ولی در واقع امکانات همون موقع رو هنوز در خودش داره.
به عنوان مثال بسیاری از امکانات جیکوئری به حل کردن مشکلات در بین مرورگرای مختلف و قدیمی مربوط میشد. که الان با منسوخ شدن Internet Explorer 6 و مرورگرای مشابهش خیلی از اون مشکلات دیگه وجود ندارند و جاوا اسکریپت تقریبا همه جا یکسان اجرا میشه.
به یاد دارم اولین بار که از جیکوئری در کارام استفاده کردم از انیمیشنهاش به شدت هیجان زده میشدم و لذت میبردم. این انیمیشنها در اینترنت اکسپلورر ۶ هم به درستی اجرا میشد.
ولی با اومدن CSS3 و ساپورت خوب مرورگرها ازش دیگه جیکوئری بهترین راه برای انیمیشن دادن به المانهای صفحه نیست. با CSS انیمیشن های خیلی پیچیده تری هم میشه اجرا کرد.
با اضافه شدن querySelector/querySelectorAll به جاوا اسکریپت یکی از دلایل اصلی که باعث میشد من از جیکوئری استفاده کنم(سلکت کردن المانهای صفحه) کمرنگ شد.
علاوه بر این این به نظر من یکی کارهای اصلی که جیکوئری میکرد مدیریت کردن Class ها Event ها و Data بود که الان با classList & dataset اینکار میتونه انجام شه. البته این امکانات توی IE11 و بالاتر فقط اجرا میشه. که البته به نظر من زیاد مهم نیست مگه اینکه شما بخواین ۸۴ کیلوبایت جاوا اسکریپت فشرده شده رو فقط به خاطر IE8 و IE9 به صفحتون اضافه کنید.
توی این لینک میتونین لیست کامل جایگزینها برای فانکشنهای جیکوئری با جاوااسکریپت خالص
(بدون جیکوئری) رو ببینید
اگه الان قصد ساخت یک وب اپلیکیشن رو داشته باشم قطعا جیکوئری رو به عنوان فریمورک اصلی جاوا اسکریپت پروژه انتخاب نمیکنم. دلیلشم اینه که جیکوئری هیچ نوع معماریای رو پیشنهاد نمیکنه و مدیریت فایلهای جاوااسکریپت برای پروژههای بزرگ مثل جهنم میمونه. برای اسمارتفونها هم مناسب نیست چون پردازش زیادی انجام میده.
انتخابهای بهتری نظیر VueJS 2, React, Angular 2, Meteor و خیلی گزینههای دیگه که هر روز داغ میشن وجود داره. که امکانات خیلی زیادی برای وب اپلیکیشنهای بزرگ ارائه میدن و ایجکسهارو هم خیلی بهتر مدیریت میکنند و تقریباً همه نیازای توسعه دهنده رو برطرف میکنند.
همونطور که در نمودار بالا برگرفته از پلاگین Builtwith میبینید از بین ۱۰ هزار سایت برتر ۶۵ درصدشون جیکوئری رو تو صفحه لود کردند. و حتی تو خیلی از اگهیهای شغلی برای برنامه نویس فرانتاند هنوز جیکوئری دیده میشه دلیلش اینه که محبوبیت جیکوئری به حدی بود که ناگهانی و سریع منسوخ نمیشه.
دلیلش اینه جیکوئری به شدت کار راه اندازه، خیلیا اونو بلدن، هزاران پلاگین و تکه کد براش نوشته شده. یادگیریش آسونه، و خیلی دلایل دیگه.
به طور خلاصه میشه گفت که اگه قصد شروع به ساخت یه وب اپلیکیشن تقریبا بزرگ رو دارید جیکوئری انتخاب مناسبی برای شما نیست و سعی کنین گزینه بهتری مثل VueJS یا React یا حتی Angular رو انتخاب کنین.
ولی اگه قصد ساخت یه لندینگ پیج ساده یا یک وبلاگ ساده رو دارید و نمیخواین درگیر پیچیدگیهای تکنولوژیهای جدید بشین به نظر من جیکوئری این یار قدیمی میتونه کمک زیادی به شما بکنه.
نظر شما چیه؟