مثلا زبان فارسی را در نظر بگیرید که بسیار گسترده است. حال ما درنظر داریم یه کتاب کوچک بنویسم و برای 2000 لغت پرکاربرد زبان فارسی علامت های اختصاری در نظر بگیریم، به عنوان مثال برای لغت «در» یک معادل در نظر میگیریم:
در = ^-^
با این علامت های اختصاری ما می توانیم کلمات و جملات خاصی را به صورت خیلی مختصیر و مفید بنویسیم. حال اگر یک متن را با این علامت های اختصاری بنویسیم و آن کتاب مرجع را نیز در اختیار شخص ثالثی قرار دهیم، آن شخص می تواند علامت ها را دیده و با مراجعه به کتاب مرجع، متن اصلی را مشاهده کنید. کار JQuery هم در واقع به همین صورت است. جی کوئری یک فایل javascript چند هزار خطی هست که در آن یک سری کارهایی که طراحان وب با جاوا اسکریپت انجام میدادند را، خلاصه کرده است. به عنوان مثال برای مخفی کردن یک DIV کافی است که به اندازه یک نیم خط کد بنویسم (در حالی که قبلا باید دهها خط کد جاوا اسکریپت برای این کار نوشته میشد) خود فایل JQuery در واقع حکم همان کتاب مرجع را دارد. به همین خاطر است که اگر شما فایل اصلی جی کوئری را به صفحه لینک نکنید و دستورات خودتان را بر اساس قوانین جی کوئری بنویسید، اتفاقی نمیافتد و در واقع دستوران برای شما کار نخواهند کرد. (چون در این حالت دستورات هست ولی کتاب مرجع نیست که مرورگر وب بفهمد هر دستور چه معنایی میدهد) البته باید در نظر داشت که خود فریم ورکها هم محدودیت دارند، چون کل یک زبان برنامه نویسی را پوشش نمیدهند و یا گاها سنگین هستند (چون مثلا ما به همه توابع داخل یه فریمورک احتیاجی نداریم (در مورد مثال کتاب مرجع هم ممکن است کسی به همه 2000 لغت احتیاجی نداشته باشد)
در استفاده از JQuery ما دو تا فایل خواهیم داشت:
- یک فایل، خود فایل JQuery میباشد که باید در ابتدا به صفحه مورد نظر ما لینک شود.
- فایل دوم فایل JS ای هست که دستورات ما بر اساس قوانین Jquery داخلش نوشته شده است. (البته میتواند این دستورات را در داخل کدهای صفحه نیز قرار داد و یک فایل جداگانه نداشت)
jQuery نوعی عملکرد چند منظوره و مشترک برای انجام عملیات جاوا اسکریپت در اختیار کاربر می گذارد. ماهیت بالنده و دایما در حال رشد jQuery (به دلیل افزوده شدن دائمی پلاگینهای مختلف به آن) چنان است که تشریح فواید استفاده از آن، در یک مقاله ممکن نباشد. اما میتوان مختصری درباره ویژگیهای کلیدی jQuery در زیر اشاره کرد:
- ایجاد امکان دسترسی به بخشهایی از یک صفحه بدون نیاز به ابزارهای جاوا اسکریپت و عدم نیاز به کد نویسی های زیاد.
- جی کوئری مکانیسم سریع و موثری برای جستجو ، یافتن و انتخاب بخشهای مورد نظر از یک صفحه را بدون نیاز به ابزار جاوا اسکریپت، در اختیار ما قرار میدهد.
- امکان تغییر ظاهر یک صفحه؛ البته CSS ابزار قدرتمندی در تغییر صفحات بما میدهد اما قادر به انجام اینکار در مرورگرهای مختلف که استانداردهای متفاوتی دارند، نیست. اما جی کوئری براحتی میتواند هر نوع مرورگری را ساپورت کند و حتی قادر است که مختصات ویژه صفحات وب را، حتی بعد از دستکاری و تغییر ساختاری و ظاهر، دوباره تغییر دهد.
- جی کوئری نه تنها تغییرات ظاهری و ناچیز را، بلکه صرفا با چند کلیک ساده، میتواند محتوای صفحات مورد نظر کاربر را هم تغییر کلی بدهد و مثلا متن یا عکسی را تغییر داده و یا تصویر یا لیستی را درون متنهای آن صفحه اضافه و یا از آن حذف کند. حتی میتواند تمام ساختار HTML صفحات را کاملا تغییر دهد.
- یکی از امکانات کتابخانه جی کوئری کنترل و جلوگیری از اتفاقات غیرمنتظره ایست که بهنگام کلیک کردن یک کاربر بر یک لینک رخ میدهند و مثلا باعث کند شدن یا درهمریختگی مرورگرها میشوند. ابزار event-handler در جی کوئری این وظیفه را بسادگی و بدون نیاز به استفاده از جاوا اسکریپت انجام میدهد.
- افزودن انیمیشن (Fade) به یک صفحه؛ کسب فیدبک از (یا به) کاربران، امری بسیار مهم است و جی کوئری این ویژگی را بسادگی با استفاده از امکاناتی همچون Fade و غیره بما میدهد.
- کسب طالاعات از یک سرور بدون نیاز به ریفرش کردن آن صفحه (که اصطلاحا به آن AJAX میگویند) جی کوئری اینکار را بدون نیاز به دانستن مختصات ویژه هر سرور و صرفا با مراجعه مستقیم به نتایج آن صفحه (محتویات سرور) انجام میدهد.
- ساده سازی عملکردهای مشترک / تکراری جاوا اسکریپت : جی کوئری علاوه بر انجام بسیار ساده تغییرات کلی در متن و ظاهر صفحات وب، حتی قادر به ساده تر کردن عملیات ساختار سازی همچون Iteration And Array Manipulation هم هست.
- کد نویسی بر اساس دستور زبانی که jQuery ایجاد کرده، خیلی ساده است و در کمترین تعداد خط میتوان بیشترین تغییرات را در صفحه ایجاد کرد.
- جی کوئری کاملا Unobtrusive میباشد یعنی شما هیچ کد جاوا اسکریپتی را داخل کدهای XHTML وارد نمی کنید. از این نظر کدهای شما کاملا مجزا از هم و مرتب خواهد بود و از طرفی وقتی JS روی مرورگر فعال باشد، کدهای شما اجرا میشود ولی اگر JS فعال نباشد، هیچ مشکلی برای سایت شما پیش نمیآید و سایت همچنان برای کاربر قابل استفاده خواهد بود.
- در jQuery تگها را میتوان بر اساس همان قواعد CSS انتخاب نمود.
به عنوان مثال وقتی میخواهیم یه تگ a را که داخل یه div با آیدی amir میباشد، انتخاب کنیم، به این صورت عمل میکنیم:
به عنوان مثال همین تگ a را در داخل jQuery به این صورت انتخاب میکنیم:
- هر مرورگر به یک شکل کدهای JS را تفسیر میکند. جی کوئری محیطی را فراهم کرده است که شما اصلا ذهنتان مشغول این قضیه نشود و مطمئن باشید که کدی که مینویسید در همه مرورگرها و IE نسخه 6 به بعد به درستی کار خواهد کرد.
- ارایه و شناسایی و تغییر مختصات صفحات وب، متضمن آشنایی طراحان وب با کدها و خطاهای مربوط به CSS و ... است ولی جی کوئری این کار را برای طراحان آسانتر نموده است.
- ساپورت های Extension در جی کوئری طوری تنظیم شده اند که پلاگینها را میتوان بسادگی اضافه یا حذف نمود و ساختار درونی Basic jQuery طوری نوشته شده که بهنگام دانلود براحتی برای سایر آیتم های صفحه وب قابل شناسایی اند و براحتی با ایجاد ماژولهای ساده میتوان تغییرشان داد.
- یکی از مشکلات طراحی و طراحان وب همانا متفاوت بودن پیش شرط ها و مختصات مرورگرها و عدم هماهنگی آنها با یکدیگر و یا با نرم افزار های جدید است. جی کوئری قادر است که با هر مرورگری کار کرده و با کاهش کدها و ساده سازی کار را آسانتر کند.
- با استفاده از تکنیک Implicit Iteration قادر خواهید بود که بسیاری از لوپ ها را بصورت دسته جمعی (و نه تک به تک) بررسی و در وقت صرفه جویی کرده و بدین ترتیب نیاز به کدنویسی طولانی نداشته باشید.
- jQuery از متد برنامه نویسی خاصی بنام Chaining برای تک خطی کردن فرمانها استفاده میکند، بهمین دلیل ما دیگر نیازی به تکرار فرمانها و ماژولها نداریم.
- این استراتژیها باعث کاهش کدها و کمپرس شدن کل پکیج jQuery به تقریبا 20KB شده اما در عین حال تمامی نیازهای کاربر را هم برطرف میسازد.