ممکن است این سؤال برای کاربرانی که شروع به برنامهنویسی میکنند به وجود آید که "آیا یادگیری jQuery ارزش دارد؟"
برای کسانی که به دنبال چارچوبهای مدرن مانند React، Angular یا Vue هستند نباید از جیکوئری در پروژههای جدید استفاده کنند اما این بدان معنا نیست که جیکوئری باید کاملاً فراموش شود. برخی از پروژهها ممکن است از کتابخانههایی مانند Bootstrap استفاده کنند که در حال حاضر به جیکوئری وابسته هستند؛ همانند برخی از الگوهای آماده. برخی از تیمهای سازنده از کار با جیکوئری راحتتر هستند.
در این موارد، مشاهدهشده که جیکوئری همچنان مهم است. همچنین، اگر میخواهید اولین شغل توسعهدهنده خود را ایمن کنید، بسیاری از شرکتها هنوز از jQuery استفاده میکنند؛ بنابراین دانستن کمی در مورد آن ایده خوبی خواهد بود! در این مقاله به این کتابخانه منبع بازخواهیم پرداخت.

jQuery چیست؟
یک کتابخانه جاوا اسکریپت منبع باز است که تعاملات بین یک سند HTML / CSS یا به عبارت دقیقتر Document Object Model بهاختصار DOM و جاوا اسکریپت را ساده میکند. با تشریح اصطلاحات، این کتابخانه رهگیری و دستکاری اسناد HTML، مدیریت رویداد مرورگر، انیمیشنهای DOM، تعاملات Ajax و توسعه جاوا اسکریپت بین مرورگر را ساده میکند.
تنها کتابخانه موجود امروزه که پاسخگوی نیازهای هر دو نوع طراح و برنامهنویس است، جیکوئری است. این کتابخانه با فلسفه "کمتر بنویس، بیشتر کار کن" مشهور است. این فلسفه را میتوان بهعنوان سه مفهوم بیشتر شرح داد:
- یافتن برخی از عناصر (از طریق انتخابگرهای CSS) و انجام کاری با آنها (از طریق روشهای جیکوئری) یعنی یافتن مجموعهای از عناصر در DOM و سپس انجام کاری با آن مجموعه از عناصر.
- زنجیر کردن چندین روش جیکوئری روی مجموعهای از عناصر
- استفاده از پوشه جیکوئری و تکرار ضمن
یادگیری را شروع کنید: آموزش رایگان و جامع جاوا اسکریپت
چرا jQuery؟
jQuery فوقالعاده محبوب است، به عبارتی جامعه زیادی از کاربران و تعداد زیادی از مشارکتکنندگان را که بهعنوان توسعهدهنده و بشارتدهنده شرکت میکنند، دارد. تفاوت بین مرورگرهای وب را عادی میکند. این عمدتاً یک رد پای سبک با معماری پلاگین ساده و درعینحال هوشمندانه است. مخزن پلاگینهای آن گسترده است و از زمان انتشار جیکوئری رشد مداوم داشته است.
API آن کاملاً مستند است، ازجمله مثالهای کد درونخطی که در دنیای کتابخانههای جاوا اسکریپت بسیار لوکس هستند. هک، هرگونه مستندسازی برای سالها لوکس بود. جیکوئری نرمافزار دوستانه است، به عبارتی راههای مفیدی برای جلوگیری از درگیری با سایر کتابخانههای جاوا اسکریپت فراهم میکند.

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

معایب JQuery
درحالیکه JQuery ازنظر کمی دارای یک کتابخانه چشمگیر است، بسته به میزان سفارشیسازی شما در وبسایت خود، ممکن است عملکرد محدود شود؛ بنابراین استفاده از جاوا اسکریپت خام ممکن است در برخی موارد اجتنابناپذیر باشد.
برای اجرای دستورات جیکوئری به پرونده جاوا اسکریپت جیکوئری نیاز است، درحالیکه اندازه این پرونده نسبتاً کوچک است (بسته به سرور 25-100 کیلوبایت)، اما همچنان در رایانه مشتری و شاید وب سرور شما نیز فشار وارد میکند تا اسکریپت جیکوئری را در وب سرور خود میزبانی کنید.
کاربرد jQuery
کتابخانه jQuery یک لایه انتزاعی باهدف کلی را برای اسکریپتهای رایج وب فراهم میکند، بنابراین تقریباً در هر موقعیت اسکریپت نویسی مفید است. ماهیت قابل توسعه آن است، زیرا پلاگینها بهطور مداوم برای افزودن قابلیتهای جدید درحالتوسعه هستند. عملکرد اصلی، نیازهای زیر را برآورده میکند.

دسترسی به عناصر یک سند
بدون وجود کتابخانه جاوا اسکریپت، برای پیمایش در مدل درختی Document Object Model (DOM) و یافتن قسمتهای خاصی از ساختار یک سند HTML، باید خطوط زیادی از کد نوشته شود. مکانیسم انتخاب قوی و کارآمد در جیکوئری برای بازیابی قسمت دقیق سند برای بازرسی یا دستکاری ارائهشده است.
تغییر شکل ظاهری یک صفحه
CSS یک روش قدرتمند برای تأثیرگذاری بر نحوه ارائه یک سند ارائه میدهد، اما وقتی همه مرورگرهای وب از استانداردهای یکسانی پشتیبانی نکنند، کافی نیست. با استفاده از جیکوئری، توسعهدهندگان میتوانند با تکیه بر پشتیبانی استاندارد یکسان برای همه مرورگرها، این خلأ را پر کنند.
اصلاح محتوای یک سند
جیکوئری محدود به تغییرات آرایشی ساده نیست، بلکه میتواند با چند کلیک محتوای یک سند را اصلاح کند. متن قابل ویرایش است، میتوان تصاویر را وارد یا مبادله کرد، فهرستها را میتوان مرتب کرد، یا میتوان کل ساختار کد HTML را با یک رابط برنامهنویسی کاربردی آسان (API) بازنویسی و گسترش داد.
پاسخ به تعامل کاربر
کتابخانه جیکوئری راهی زیبا برای رهگیری طیف گستردهای از رویدادها مانند کلیک کاربر بر روی پیوند، بدون نیاز به درهم ریختن HTML خود با کنترلکنندههای رویداد است. درعینحال، API مدیریت رویداد آن ناسازگاریهای مرورگر را که اغلب آزاردهندگان وب است برطرف میکند.
متحرک کردن تغییرات ایجادشده در یک سند
برای پیادهسازی مؤثر چنین رفتارهای تعاملی، یک طراح باید بازخورد دیداری را نیز به کاربر ارائه دهد. کتابخانه جیکوئری با ارائه مجموعهای از جلوهها مانند محو شدن و همچنین یک جعبهابزار برای ایجاد جلوههای جدید، این کار را آسانتر میکند.
بازیابی اطلاعات از سرور بدون رفرش
این مدل کد به JavaScript و Asynchronous XML (AJAX) معروف است و به توسعهدهندگان وب کمک میکند تا سایتی پاسخگو و غنی از ویژگی طراحی کنند. کتابخانه جیکوئری پیچیدگی خاص مرورگر را از این فرآیند حذف میکند و به توسعهدهندگان اجازه میدهد تا بر روی عملکرد سرور تمرکز کنند.
سادهسازی کارهای معمول جاوا اسکریپت
علاوه بر تمام ویژگیهای خاص جیکوئری، این کتابخانه ساختارهای اساسی جاوا اسکریپت مانند تکرار و دستکاری آرایه را بهبود میبخشد.

تاریخچه پروژه jQuery
John Resig برای اولین بار از پیشرفت کتابخانه Prototype در اوت 2005 اشاره کرد که مرحله توسعه عمومی نام دارد. این چارچوب جدید رسماً بهعنوان جیکوئری در 14 ژانویه 2006 منتشر شد.
- jQuery 1.0 (اوت 2006): این اولین نسخه پایدار کتابخانه، از قبل پشتیبانی زیادی از انتخابگرهای CSS، مدیریت رویدادها و تعامل AJAX داشت.
- jQuery 1.1 (ژانویه 2007): این نسخه API را بسیار ساده میکند. بسیاری از روشهای نادر استفادهشده با هم تلفیقشده و تعداد روشهای یادگیری و مستندسازی را کاهش میدهد.
- jQuery 1.1.3 (جولای 2007): این نسخه جزئی شامل پیشرفتهای گستردهای در موتور انتخاب جیکوئری بود. از زمان انتشار، عملکرد جیکوئری با سایر کتابخانههای جاوا اسکریپت خود، مانند Prototype، Mootools و Dojo، مطابقت دارد.
- jQuery 1.2 (سپتامبر 2007): XPath برای انتخاب موارد در این نسخه حذفشده است؛ زیرا با نحو CSS زائد شده است. سفارشیسازی جلوهها در این نسخه بسیار انعطافپذیرتر شده است و با افزودن رویدادهای فضای نام، توسعه پلاگین آسانتر شده است.
- JQuery UI (سپتامبر 2007): این مجموعه پلاگین جدید برای جایگزینی پلاگین محبوب اما قدیمی اینترفیس اعلام شد. مجموعهای غنی از ابزارکهای از پیشساخته شده همراه با مجموعهای از ابزارها برای ساخت عناصر پیچیده مانند رابطهای کشیدن و رها کردن، گنجاندهشده است.
- jQuery 1.2.6 (مه 2008): با عملکرد افزونه محبوب Brandon Aaron در کتابخانه اصلی ادغامشده است.
- jQuery 1.3 (ژانویه 2009): یک تعمیر اساسی در موتور انتخاب (Sizzle) باعث افزایش چشمگیر عملکرد کتابخانه شده است. نمایندگی رویداد رسماً تحویل گرفتهشده است.
jQuery چه کاری میتواند برای یک سند HTML انجام دهد؟
جیکوئری برای پرسوجو و اصلاح DOM، یعنی موارد نمایش دادهشده در یک صفحه وب، استفاده میشود. احتمالاً از خود میپرسید که چرا کد جیکوئری را به سند HTML قالببندی شده / تنظیمشده توسط قوانین سبک CSS اضافه میکنید؟ خوب، jQuery چندین مزیت به همراه دارد:
- موارد نمایش دادهشده در صفحه ممکن است به عملکردهای کاربر واکنش نشان دهند. بهعنوانمثال، هنگامیکه کاربر روی یک دکمه کلیک میکند، امکان انجام محاسبات و نمایش نتیجه وجود دارد یا برای تغییر ویژگیهای یک عنصر به دنبال وقایع خاص هستند (ضربه کلید، کلیک ماوس، زمان سیستم و غیره).
- عناصر نمایش دادهشده در یک صفحه را میتوان بهراحتی متحرک کرد (شکل ظاهری، ناپدید شدن، ترجمه) بهصورت خودکار یا به دنبال اقدامی توسط کاربر.
- با استفاده از فناوری AJAX، jQuery میتواند بخشی از صفحه وب فعلی را بهروز کند. بهعنوانمثال، برای نمایش نام افراد واردشده در وبسایت یا بهروزرسانی قیمت سهام موجود در لیست از این فناوری استفاده میشود.

استراتژیهای jQuery
اخیراً با افزایش علاقه به HTML پویا، تعداد چارچوبهای جاوا اسکریپت زیاد میشود. بعضی از آنها تخصصی هستند و روی یکی یا دو کار فوق تمرکز دارند. دیگران سعی میکنند تمام رفتارها و انیمیشنهای احتمالی را فهرست بندی کرده و به همه آنها از پیش بستهبندیشده خدمات دهند. برای حفظ طیف گستردهای از ویژگیهای توضیح دادهشده در بالا درحالیکه کمحجم است، جیکوئری از چندین استراتژی استفاده میکند.
دانش CSS
با پایهگذاری مکانیزم برای تعیین مکان عناصر صفحه بر روی انتخابگرهای CSS، جیکوئری راهی مختصر اما قابلخواندن در بیان ساختار یک سند به ارث میبرد. کتابخانه جیکوئری به یک ورودی برای طراحانی تبدیل میشود که میخواهند رفتارهایی را به صفحات خود اضافه کنند؛ زیرا دانش CSS پیششرط توسعه حرفهای وب است.
پشتیبانی از برنامههای افزودنی
روش ایجاد پلاگینهای جدید ساده و کاملاً مستند است که باعث ایجاد طیف گستردهای از ماژولهای مبتکر و مفید شده است. حتی بیشتر قابلیتهای اصلی بارگیری جیکوئری به لطف معماری پلاگین در داخل انجام میشود و در صورت تمایل میتوان آن را حذف کرد، درنتیجه کوچکتر میشود.
قطعههای انتزاعی مرورگر
واقعیت تأسفآور توسعه وب این است که هر مرورگر دارای انحراف از استانداردهای منتشرشده است. بخش قابلتوجهی از هر برنامه وب را میتوان به مدیریت ویژگیهای مختلف در هر سیستمعامل منتقل کرد. درحالیکه منظره مرورگر که همیشه در حال تغییر است، پایه کد را برای برخی از قابلیتهای پیشرفته کاملاً خنثی میکند، جیکوئری یک لایه انتزاعی اضافه میکند که کارهای معمول را استاندارد میکند، اندازه کد را کاهش میدهد و بسیار ساده میشود.
انجام چندین عمل
برای جلوگیری استفاده بیشازحد از متغیرهای موقتی یا تکرار غیرضروری، جیکوئری برای بیشتر روشهای خود از یک مدل برنامهنویسی به نام chaining استفاده میکند. این بدان معنی است که نتیجه اکثر عملیات روی یک جسم، خود جسم است و آماده اقدامات بعدی است که روی آن انجام میشود.
این استراتژیها امکان فشردهسازی بسته جیکوئری زیر 20 کیلوبایت را فراهم میکنند، درحالیکه تکنیکهایی را برای نگهداری کدهای سفارشی ما که از کتابخانه بهصورت فشرده استفاده میکنند، ارائه میدهند.
ظرافت کتابخانه تا حدودی به دلیل طراحی است و بخشی دیگر از آن به روند تحول تحریکشده توسط جامعه پویایی که در اطراف پروژه به وجود آمده است بستگی دارد. کاربران جیکوئری دورهم جمع میشوند تا نهتنها در مورد توسعه پلاگین بلکه در مورد پیشرفتهای کتابخانه اصلی بحث کنند.

کلام آخر
شبکه جهانی وب امروز یک محیط پویا است و کاربران آن نوار بالایی را برای سبک و عملکرد سایتها تعیین میکنند. برای ایجاد سایتهای تعاملی جالب، توسعهدهندگان برای خودکار کردن کارهای مشترک و ساده کردن کارهای پیچیده، به کتابخانههای جاوا اسکریپت مانند jQuery متوسل میشوند. یکی از دلایلی که کتابخانه جیکوئری بهعنوان یک گزینه محبوب شناختهشده است، توانایی پشتیبانی از طیف گستردهای از وظایف است.
ممکن است دشوار به نظر برسد که بدانیم از کجا شروع کنیم؛ زیرا جیکوئری عملکردهای مختلفی را انجام میدهد. بااینوجود سازگاری و تقارن در طراحی کتابخانه وجود دارد. بیشتر مفاهیم آن از ساختار HTML و Cascading Style Sheets (CSS) گرفتهشده است. طراحی کتابخانه شروع سریع برای طراحانی است که تجربه برنامهنویسی کمی دارند؛ زیرا بسیاری از توسعهدهندگان وب تجربه بیشتری نسبت به جاوا اسکریپت با این فناوریها دارند.
jQuery پرکاربردترین کتابخانه جاوا اسکریپت است و به شما امکان میدهد جلوههایی پویا در صفحات وب خود مانند تغییر رنگ، انیمیشن و جلوههای محو ایجاد کنید. ترکیبات بیحدوحصر هستند! با یادگیری مفاهیم اساسی جاوا اسکریپت قبل از غواصی در دنیای jQuery، شما پایه محکمی برای خود در توسعه مرحله بعدی خواهید داشت.
با وجود تمام تلاشهای لازم برای طراحی چنین سیستم انعطافپذیر و مقاوم، محصول نهایی برای همه رایگان است. این پروژه منبع باز تحت مجوز عمومی GNU (مناسب برای گنجاندن در بسیاری از پروژههای منبع باز دیگر) و مجوز MIT (برای تسهیل استفاده از جیکوئری در نرمافزارهای اختصاصی) به کارهای خود ادامه میدهد.







