مهدی بابایی
مهدی بابایی
خواندن ۷ دقیقه·۲ سال پیش

جی کوئری چیست و چرا مفید است؟

jQuery همه جا حاضر و محبوب ترین کتابخانه جاوا اسکریپت است. این کتابخانه در سیستم های بزرگی مانند وردپرس ادغام شده است و سوالات جاوا اسکریپت در StackOverflow اغلب با استفاده از jQuery پاسخ داده می شود.
این کتابخانه میانبرهایی برای بسیاری از توابع جی کوئری فراهم می کند و برای دستکاری HTML استفاده می شود که اغلب کاری طولانی و خسته کننده در نظر گرفته می شود. jQuery ساختار کوتاه‌تر و تمیزتری را ارائه می‌کند و به جای نوشتن چندین بار عبارت document.getElementByID، می‌توانید آن را تنها با یک کاراکتر انجام دهید و زمان توسعه را تا حد زیادی کاهش دهید.
یکی از بزرگترین مزایای jQuery تابع انتخاب است که برای یافتن و ارجاع عناصر در HTML استفاده می شود. به عنوان مثال، اگر می خواهید عنصری را بر اساس شناسه آن انتخاب کنید، می توانید موارد زیر را انجام دهید:
$('#ID')
این ساده تر از نوشتن دستور زیر است:
document.getElementByID(\'ID\')
البته این تنها راه برای انتخاب یک عنصر نیست و jQuery می تواند تقریباً از هر انتخابگر CSS استفاده کند. این انتخابگر در تابع $ قرار دارد. شی $ همچنین شامل سایر متدهای jQuery مانند ajax.$() است.
جاوا اسکریپت مدرن عملکرد انتخابی مشابهی در تابع document.querySelectorAll () خود دارد، بنابراین اگر فقط از jQuery استفاده می کنید، دستورات زیر را خلاصه کنید:
document.querySelector Katoa ()
می توانید با فراخوانی تابعی مانند $ یا چیزی شبیه به jQuery اضافه کنید:
window.$ = document.querySelectorAll
اما این تنها مزیت جی کوئری نیست. jQuery در برخورد با عناصر DOM کارآمدتر از جاوا اسکریپت است. این کتابخانه می تواند فهرستی از اشیاء را تجزیه کند و نتایج جستجو را با علایق عملیاتی فیلتر کند. وقتی یک عنصر را در HTML با استفاده از جاوا اسکریپت ساده انتخاب می‌کنید، فهرست ساده‌ای از عناصر DOM را نشان می‌دهید، اما jQuery عناصر jQuery را برمی‌گرداند که متدها و ویژگی‌های اضافی دارند و برای تعامل با آنها مفیدتر هستند.
jQuery دارای برخی ویژگی های دیگر مانند انیمیشن ها و پشتیبانی از AJAX است، اما انیمیشن های CSS خالص اغلب سریع تر هستند و کتابخانه هایی مانند axios بسیار بهتر از jQuery هستند. می تواند درخواست های AJAX را مدیریت کند. jQuery اکنون یک نسخه سبک وزن بدون این ویژگی ها ارائه می دهد. با این کار حجم در حالت فشرده سازی و کوچک شدن به 6 کیلوبایت کاهش می یابد.
جی کوئری تمیز است؟
آیا جی کوئری سرعت وب سایت ها را کاهش می دهد؟
افزودن انواع مختلف کتابخانه ها، چارچوب ها و کدها به یک وب سایت ساده ترین راه برای کاهش سرعت بارگذاری صفحه است، به ویژه برای کاربران تلفن همراه یا اتصالات ضعیف شبکه. با این حال، jQuery در این زمینه یک استثنا است، زیرا بسیار کوچک است و در همه جا استفاده می شود. بنابراین اگر به آن از CDN محبوبی مانند گوگل ارجاع می دهید، به احتمال زیاد بیش از نیمی از کاربران شما آن را در حافظه پنهان در سیستم خود دارند و نیازی به دانلود چیزی از سرور شما ندارند. با این حال، این به تنهایی توجیهی برای گنجاندن آن در یک وب سایت نیست، زیرا هنوز باید از حافظه سیستم کاربر بارگیری و اجرا شود، که زمان می برد.
اگر کاربر شما کتابخانه jQuery را در حافظه پنهان در سیستم خود ندارد، می توانید از نسخه کوچک شده و gzip شده استفاده کنید که تنها 28.78 کیلوبایت است، احتمالاً حتی کوچکتر از HTML شما. این یک راه حل ایده آل نیست و حتی می تواند یک یا دو ثانیه زمان بارگذاری صفحه را در اتصالات ضعیف 3G اضافه کند.
از آنجایی که جی کوئری رندر صفحه را مسدود می کند، باید قبل از نمایش صفحه آن را بارگذاری کنید که برای کاربران موبایل خوب نیست. اگر می‌خواهید وب‌سایت اغلب ثابت شما در سریع‌ترین زمان ممکن در همه دستگاه‌ها بارگیری شود، احتمالاً بهتر است به جای jQuery از جاوا اسکریپت خالص استفاده کنید. با این حال، اگر وب سایت شما بسیار پویا است، استفاده از jQuery و کتابخانه های دیگر سودمند است زیرا آنها سرعت توسعه را افزایش می دهند. برای صفحات وب داخلی، پنل‌های مدیریت یا هر چیزی که کاربر با آن روبرو نیست، از جمله jQuery، اهمیتی ندارند.
از کدهای بد آگاه باشید
از آنجایی که جی کوئری دارای توابع جاوا اسکریپت خاص خود است، همیشه عملکرد کمتری نسبت به جاوا اسکریپت خالص دارد و تنها مزیت آن افزایش سرعت توسعه است. این بدان معنا نیست که خود جی کوئری کند است، اما باید مراقب کدهای کمتر از حد مطلوب باشید. بسیاری از فراخوانی‌های تابع با تأخیر زیاد می‌تواند باعث شود که نرخ فریم برنامه به کمتر از نرخ تازه‌سازی آن برسد، که به نظر کاربر نهایی به صورت لکنت یا به سادگی انجماد است.

استفاده از حلقه ها به جای هر حلقه jQuery هنگام تعریف یک حلقه روی تعداد زیادی آیتم می تواند به کاهش تاخیر کمک کند. اگرچه هر دو لینک سریع هستند، اما همه پیوندها کند هستند، اگرچه خواناتر هستند. بیشتر این تاخیر ناشی از انتظار در انتهای حلقه و قبل از شروع حلقه بعدی است، بنابراین حلقه‌هایی با کد کمتر و طول بیشتر نسبت به حلقه‌هایی با کد بیشتر و عناصر کمتر، عملکرد بیشتری را تجربه می‌کنند.
انتخابگرهای جی کوئری کند هستند. در واقع، هر چیزی با DOM کند است، بنابراین باید تعداد تماس های DOM را در اسکریپت های خود به حداقل برسانید. اگر به چیزی بیش از یک بار اشاره می کنید، آن را در یک اصلاح کننده نگه دارید:
var $item = $(\'#item\')
این امر باعث می‌شود که جی کوئری مجبور نباشد چندین بار برای یافتن عنصر مورد نظر هر بار که از تابع ()$ استفاده می‌کنید، جستجو کند. این علامت $ در ابتدای یک متغیر، قراردادی برای نامگذاری متغیر شی jQuery است و نیازی به آن نیست.
فرآیند انتخاب jQuery را می توان با استفاده از شناسه ها به جای کلاس ها بهبود بخشید. انتخاب بر اساس ID بسیار سریعتر از انتخاب بر اساس کلاس است زیرا jQuery به سادگی متد ()getElementByID را می پوشاند. می چرخد ​​و از «موتور انتخاب» خود استفاده نمی کند. اگر می خواهید چیزی را بر اساس یک دسته انتخاب کنید، حداقل باید زمینه را مشخص کنید تا جی کوئری بداند به دنبال چه هستید. برای مثال از کد زیر استفاده کنید:
$(\'.class\'، \'#container\')
دستور بالا سریعتر از جستجوی .class است زیرا jQuery همه چیز را در DOM به جز عنصر container # نادیده می گیرد.
آیا باید از jQuery استفاده کنیم؟
جی کوئری یک کتابخانه است نه یک چارچوب. کتابخانه ای که ابزارهای مفیدی را برای برنامه شما فراهم می کند یا مشکلاتی را که جاوا اسکریپت ساده به خوبی کار نمی کند حل می کند. فریم ورکی مانند Recat یا Vue فریم ورک قوی تری در نظر گرفته می شود و ارتباط زیادی با نحوه عملکرد برنامه دارد.
jQuery ساختار ساده ای دارد و فرآیند توسعه را بسیار آسان می کند. اگر مقدار کمی به وب سایت خود اضافه می کنید، احتمالاً به jQuery نیاز نخواهید داشت، اما اگر قصد دارید محتوای قدرتمند زیادی در وب سایت خود داشته باشید، jQuery می تواند به سرعت بخشیدن به کارها کمک کند. اگر در زمینه کدنویسی جاوا اسکریپت تازه کار هستید، یادگیری jQuery می تواند به شما در ایجاد برنامه های کاربردی ساده کمک کند.
اما در زمینه برنامه های کاربردی بزرگ، مزایای jQuery کاهش می یابد زیرا کتابخانه به عنوان موتور برنامه وب طراحی نشده است، بلکه اغلب به جای چارچوب های پیچیده تر برای ساخت صفحات پویا ساده استفاده می شود. این کتابخانه برای ساخت برنامه های کاربردی ساده به خوبی کار می کند، اما استفاده از آن در پروژه های بزرگ دشوار است. در این موارد، ممکن است به سازماندهی، مدولار بودن و توسعه پذیری بیشتری نیاز داشته باشید که چارچوب های کامل ارائه می کنند.
با این حال، جی کوئری نسبت به یک فریم ورک بزرگ مانند React دسترسی بسیار گسترده‌تری دارد، بنابراین اگر نمی‌خواهید عملکرد بسیار پیشرفته‌تری ارائه دهید، جی کوئری می‌تواند کمک زیادی به پاکسازی کد شما کند. اگر روی یک پایه کد موجود کار می‌کنید، افزودن jQuery آسان‌تر است و نسبت به یک سیستم کامل نیاز به refactoring، یادگیری و به‌روزرسانی کمتری دارد. علاوه بر این، جی کوئری ساده‌تر از اکثر چارچوب‌های وب است و نیازی به بررسی نحوه عملکرد کد نیست.
jQuery در نهایت یک کتابخانه دستکاری DOM است، بنابراین اگر در یک موقعیت خاص به دستکاری DOM فراتر از آنچه جاوا اسکریپت خالص ارائه می دهد نیاز دارید، jQuery ممکن است برای شما مناسب باشد.

جاوا اسکریپتجی کوئری
هر روز در تلاش برای رسیدن به قله های برنامه نویسی
شاید از این پست‌ها خوشتان بیاید