جی‌کوئری مُرد؟!

جی‌کوئری کتابخانه جاوااسکریپتی است که تقریبا می‌توان گفت دنیای صفحات وب را تغییر داد. با استفاده از جی‌کوئری عملیات‌هایی مانند ایجاد تغییر در DOM، انیمیشن‌سازی و… روند بسیار ساده‌تر و سریع‌تری به خود گرفتند. با وجود آنکه جی‌کوئری را می‌توان یکی از قدیمی‌ترین کتابخانه‌های جاوااسکریپتی دانست اما هنوز ۷۴ درصد وبسایت‌های دنیا از آن استفاده می‌کنند.

اما جی‌کوئری به تغییراتی نیاز دارد به همین دلیل در سال‌های اخیر کتابخانه‌های مختلفی عرضه شد‌ه‌اند که می‌توانند جایگزین مناسبی برای جی‌کوئری در نظر گرفته شوند. کتابخانه Cash یکی از آن‌هاست. حتی به نظر می‌رسد که توسعه‌دهندگان مدرن جاوااسکریپت ترجیح می‌دهند که برای پیاده‌سازی اهداف‌شان بجای استفاده از جی‌کوئری از خود جاوااسکریپت استفاده نمایند. البته به نظر می‌رسد که کار سختی را در پیش خواهند داشت اما صفحات وبی که بدین شکل ساخته می‌شوند بهینه‌تر بوده و سریع‌تر اجرا می‌شوند.

چرا دیگر به جی‌کوئری نیازی نداریم؟

باید این موضوع را اعتراف کرد که جی‌کوئری یکی از خوش ساخت‌ترین کتابخانه‌هایی‌ست که برای جاوااسکریپت توسعه داده شده اما آیا واقعا دیگر به آن نیازی داریم؟ خب، با در نظر گرفتن پیشرفت‌های جاوااسکریپت (اکمااسکریپت۶ و…) به نظر می‌رسد که نیاز ما به استفاده کردن از جی‌کوئری پایان یافته. دلیل این موضوع هم آن است که جی‌کوئری هنوز با در نظر گرفتن حالت‌های گذشته توسعه داده می‌شود، به همین دلیل شاید بهتر باشد که از ویژگی‌های جدید‌تر جاوااسکریپت استفاده کنیم. بعضی وقت‌ها حتی استفاده از جاوااسکریپت به صورت خالص، می‌تواند نتیجه بهتری را تولید کند.

برای مثال: شاید جی‌کوئری برای کار با درخواست‌های HTTP مناسب باشد اما اکمااسکریپت سینتکس Fetch را ایجاد کرده که به ما کمک می‌کند تا درخواست‌های HTTP را از طریق APIهای مبتنی بر Promise فراخوانی کنیم که کار بسیار ساده‌تر و تقریبا سریع‌تری است. البته کل این موارد تنها به اینجا ختم نمی‌شود چرا که ویژگی‌های جدید و مدرن جاوااسکریپت بسیار بیشتر از مدیریت یک درخواست HTTP است.

شاید بگویید که پیاده‌سازی انیمیشن با استفاده از جاوااسکریپت خالص و بدون کمک گرفتن از جی‌کوئری کار سختی‌ست. حق با شماست اما این موضوع را نیز در نظر بگیرید که ما واقعا نیازی به جاوااسکریپت برای انجام چنین کاری نداریم. CSS transition و یا CSS Keyframe به ما در این مسئله می‌توانند کمک کنند. برای مسئله DOM نیز هنوز می‌توانیم به خوبی از خود جاوااسکریپت استفاده کنیم.

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

جایگزین‌های جی‌کوئری

بجای جی‌کوئری می‌توانیم از کتابخانه‌های دیگری استفاده کنیم که ساختار مدرن‌تری داشته و در مواردی حجم کمتری را بر دوش وبسایت می‌گذارند. در این قسمت از مطلب قصد داریم شما را با سه جایگزین مناسب جی‌کوئری آشنا کنیم. Cash، Zepto و Syncfusion Essential JS 2 نام این سه مورد هستند. دو مورد اول به صورت متن باز با لایسنس MIT ارائه می‌شوند اما مورد سومی یک محصول تجاری است.

Cash

Cash بیشتر از ۳۵۰۰ ستاره در گیت‌هاب دارد و جدای از آنکه جایگزین بسیار مدرنی برای جی‌کوئری به حساب می‌آید نسبت به آن حجم بسیار کمتری نیز ارائه می‌دهد. سینتکس این کتابخانه شباهت بسیار زیادی با جی‌کوئری داشته و حجم آن در حالت غیر فشرده برابر با ۳۲ کیلوبایت است. ویژگی‌های مهمی که این کتابخانه از آن‌ها پشتیبانی می‌کند عبارت است از نوع‌های تایپ‌اسکریپت، رویدادهای namespace و… . برای دانلود این پروژه می‌توانید به صفحه گیت‌هاب آن مراجعه کنید.

Zepto

Zepto یکی از سازگارترین کتابخانه‌های جایگزین برای جی‌کوئری است. منظور از سازگاری این است که APIهای بسیار مشابهی با جی‌کوئری را ارائه می‌کند. توسعه‌دهندگانی که جی‌کوئری را می‌دانند به سرعت می‌توانند کار با این کتابخانه را نیز یاد بگیرند. همچنین در مقایسه با جی‌کوئری حجم این کتابخانه بسیار کم است. به همین دلیل می‌توان آن را جایگزینی بسیار سریع‌تر و کوچکتر برای جی‌کوئری دانست. Zepto را می‌توان در کنار ابزارهایی مانند PhoneGap نیز استفاده کرد. برای دانلود این پروژه می‌توانید به وبسایت اصلی آن مراجعه کنید.

Syncfusion Essential JS 2

Syncfusion Essential JS 2 یک فریمورک تجاری است که با استفاده از تایپ‌اسکریپت ساخته شده است. می‌توان این مورد را یکی از مدرن‌ترین و سریع‌ترین کتابخانه‌های جایگزین برای جی‌کوئری دانست. در کنار کمک به شما برای ساخت رابط کاربری سفارشی، این ابزار قابلیت‌های ماژولار را نیز در اختیارتان قرار می‌دهد.

در صفحه گیت‌هاب این پروژه می‌توانید سورس کد اصلی، فایل‌های تست واحد و پیشنمایش‌های زنده را مشاهده کرد.

در پایان

در این مطلب از وبسایت راکت دلایلی را برای استفاده از راهکاری دیگری جدای از جی‌کوئری برای توسعه رابط کاربری وبسایت ارائه کردیم. همچنین سه جایگزین سریع و سبک برای جی‌کوئری را نیز معرفی نمودیم.