در یک کلام، جی کوئری یک کتابخانه جاوا اسکریپت است که انجام یک سری کارها را برای شما بسیار آسان میکند و همچنین یک سری امکانات از پیش آماده شده را به شما اراده میدهد.
.
.
.
↓
جی کوئری چکار می کند؟
زبان برنامه نویسی جاوا اسکریپت ، یک زبان برنامه نویسی خیلی پیچیده و گسترده است و یادگیری کامل آن به زمان و حوصله خیلی زیادی نیاز دارد. جی کوئری فریمورکی که بر اساس زبان برنامه نویسی جاوا اسکریپت ایجاد شده است. به زبان ساده میتوان گفت، برنامه نویس با استفاده از زبان برنامه نویسی جاوا اسکریپت، یک سری قائده و قانون تعریف کرده است و یک دستور زبان جدید ساخته که شما با آن قواعد یه کد به مراتب بسیار سادهتر مینویسید، سپس آن فایل فریمورک دستورات شما را به دستورات استاندارد جاوا اسکریپت ترجمه می کند و سپس آن ها را اجرا میکند. همراه با یک مثال ساده، توضیح بیشتر ارائه میشود:
مثلا زبان فارسی را در نظر بگیرید که بسیار گسترده است. حال ما درنظر داریم یه کتاب کوچک بنویسم و برای 2000 لغت پرکاربرد زبان فارسی علامت های اختصاری در نظر بگیریم، به عنوان مثال برای لغت «در» یک معادل در نظر میگیریم:
در = ^-^
با این علامت های اختصاری ما می توانیم کلمات و جملات خاصی را به صورت خیلی مختصیر و مفید بنویسیم. حال اگر یک متن را با این علامت های اختصاری بنویسیم و آن کتاب مرجع را نیز در اختیار شخص ثالثی قرار دهیم، آن شخص می تواند علامت ها را دیده و با مراجعه به کتاب مرجع، متن اصلی را مشاهده کنید. کار جی کوئری هم در واقع به همین صورت است. جی کوئری یک فایل جاوا اسکریپت چند هزار خطی هست که در آن یک سری کارهایی که طراحان وب با جاوا اسکریپت انجام میدادند را، خلاصه کرده است. به عنوان مثال برای مخفی کردن یک دایو کافی است که به اندازه یک نیم خط کد بنویسم (در حالی که قبلا باید دهها خط کد جاوا اسکریپت برای این کار نوشته میشد) خود فایل جی کوئری در واقع حکم همان کتاب مرجع را دارد. به همین خاطر است که اگر شما فایل اصلی جی کوئری را به صفحه لینک نکنید و دستورات خودتان را بر اساس قوانین جی کوئری بنویسید، اتفاقی نمیافتد و در واقع دستوران برای شما کار نخواهند کرد. (چون در این حالت دستورات هست ولی کتاب مرجع نیست که مرورگر وب بفهمد هر دستور چه معنایی میدهد) البته باید در نظر داشت که خود فریم ورکها هم محدودیت دارند، چون کل یک زبان برنامه نویسی را پوشش نمیدهند و یا گاها سنگین هستند (چون مثلا ما به همه توابع داخل یه فریمورک احتیاجی نداریم (در مورد مثال کتاب مرجع هم ممکن است کسی به همه 2000 لغت احتیاجی نداشته باشد)
در استفاده از جی کوئری ما دو تا فایل خواهیم داشت:
- یک فایل، خود فایل جی کوئری میباشد که باید در ابتدا به صفحه مورد نظر ما لینک شود.
- فایل دوم فایل جی اس ای هست که دستورات ما بر اساس قوانین جی کوئری داخلش نوشته شده است. (البته میتواند این دستورات را در داخل کدهای صفحه نیز قرار داد و یک فایل جداگانه نداشت)
جی کوئری نوعی عملکرد چند منظوره و مشترک برای انجام عملیات جاوا اسکریپت در اختیار کاربر می گذارد. ماهیت بالنده و دایما در حال رشد جی کوئری (به دلیل افزوده شدن دائمی پلاگینهای مختلف به آن) چنان است که تشریح فواید استفاده از آن، در یک مقاله ممکن نباشد. اما میتوان مختصری درباره ویژگیهای کلیدی جی کوئری در زیر اشاره کرد:
- ایجاد امکان دسترسی به بخشهایی از یک صفحه بدون نیاز به ابزارهای جاوا اسکریپت و عدم نیاز به کد نویسی های زیاد.
- جی کوئری مکانیسم سریع و موثری برای جستجو ، یافتن و انتخاب بخشهای مورد نظر از یک صفحه را بدون نیاز به ابزار جاوا اسکریپت، در اختیار ما قرار میدهد.
- امکان تغییر ظاهر یک صفحه؛ البته سی اس اس ابزار قدرتمندی در تغییر صفحات بما میدهد اما قادر به انجام اینکار در مرورگرهای مختلف که استانداردهای متفاوتی دارند، نیست. اما جی کوئری براحتی میتواند هر نوع مرورگری را ساپورت کند و حتی قادر است که مختصات ویژه صفحات وب را، حتی بعد از دستکاری و تغییر ساختاری و ظاهر، دوباره تغییر دهد.
- جی کوئری نه تنها تغییرات ظاهری و ناچیز را، بلکه صرفا با چند کلیک ساده، میتواند محتوای صفحات مورد نظر کاربر را هم تغییر کلی بدهد و مثلا متن یا عکسی را تغییر داده و یا تصویر یا لیستی را درون متنهای آن صفحه اضافه و یا از آن حذف کند. حتی میتواند تمام ساختار اچ تی ام ال صفحات را کاملا تغییر دهد.
- یکی از امکانات کتابخانه جی کوئری کنترل و جلوگیری از اتفاقات غیرمنتظره ایست که بهنگام کلیک کردن یک کاربر بر یک لینک رخ میدهند و مثلا باعث کند شدن یا درهمریختگی مرورگرها میشوند. ابزار
event-handler
در جی کوئری این وظیفه را بسادگی و بدون نیاز به استفاده از جاوا اسکریپت انجام میدهد.
- افزودن انیمیشن به یک صفحه؛ کسب فیدبک از (یا به) کاربران، امری بسیار مهم است و جی کوئری این ویژگی را بسادگی با استفاده از امکاناتی همچون Fade و غیره بما میدهد.
- کسب طالاعات از یک سرور بدون نیاز به ریفرش کردن آن صفحه (که اصطلاحا به آن اجکس میگویند) جی کوئری اینکار را بدون نیاز به دانستن مختصات ویژه هر سرور و صرفا با مراجعه مستقیم به نتایج آن صفحه (محتویات سرور) انجام میدهد.
- ساده سازی عملکردهای مشترک / تکراری جاوا اسکریپت : جی کوئری علاوه بر انجام بسیار ساده تغییرات کلی در متن و ظاهر صفحات وب، حتی قادر به ساده تر کردن عملیات ساختار سازی همچون
Iteration And Array Manipulation
هم هست.
آیا جی کوئری نوآوریهای خاصی هم داشته است؟
بله، در زیر به چند مورد اشاره میشود؛
- کد نویسی بر اساس دستور زبانی که جی کوئری ایجاد کرده، خیلی ساده است و در کمترین تعداد خط میتوان بیشترین تغییرات را در صفحه ایجاد کرد.
- جی کوئری کاملا
Unobtrusive
میباشد یعنی شما هیچ کد جاوا اسکریپتی را داخل کدهای
XHTML
وارد نمی کنید. از این نظر کدهای شما کاملا مجزا از هم و مرتب خواهد بود و از طرفی وقتی JS روی مرورگر فعال باشد، کدهای شما اجرا میشود ولی اگر جی اس فعال نباشد، هیچ مشکلی برای سایت شما پیش نمیآید و سایت همچنان برای کاربر قابل استفاده خواهد بود.
- در جی کوئری تگها را میتوان بر اساس همان قواعد سی اس اس انتخاب نمود.
به عنوان مثال وقتی میخواهیم یه تگ ای را که داخل یه دایو با آیدی
amir
میباشد، انتخاب کنیم، به این صورت عمل میکنیم:
div.amir a {
....
}
به عنوان مثال همین تگ ای را در داخل جی کوئری به این صورت انتخاب میکنیم:
$(document).ready(function() {
$("div.amir a")
});
- هر مرورگر به یک شکل کدهای جی اس را تفسیر میکند. جی کوئری محیطی را فراهم کرده است که شما اصلا ذهنتان مشغول این قضیه نشود و مطمئن باشید که کدی که مینویسید در همه مرورگرها و آی ئی نسخه 6 به بعد به درستی کار خواهد کرد.
چرا جی کوئری بهتر از سایر ابزارها است؟
در سالهای اخیر افزایش گرایش به اچ تی ام ال باعث افزایش کارایی پکیج های فریم ورک های جاوا اسکریپتی شده، بعضی پکیج ها عملیات خاص و محدود و بعضی دیگر کارهای انیمیشن و غیره را تسهیل می کنند. اما جی کوئری سعی می کند تا تمام این حوزه ها را پوشش دهد؛
- ارایه و شناسایی و تغییر مختصات صفحات وب، متضمن آشنایی طراحان وب با کدها و خطاهای مربوط به سی اس اس و ... است ولی جی کوئری این کار را برای طراحان آسانتر نموده است.
- ساپورت های اکتنژن در جی کوئری طوری تنظیم شده اند که پلاگینها را میتوان بسادگی اضافه یا حذف نمود و ساختار درونی
Basic jQuery
طوری نوشته شده که بهنگام دانلود براحتی برای سایر آیتم های صفحه وب قابل شناسایی اند و براحتی با ایجاد ماژولهای ساده میتوان تغییرشان داد.
- یکی از مشکلات طراحی و طراحان وب همانا متفاوت بودن پیش شرط ها و مختصات مرورگرها و عدم هماهنگی آنها با یکدیگر و یا با نرم افزار های جدید است. جی کوئری قادر است که با هر مرورگری کار کرده و با کاهش کدها و ساده سازی کار را آسانتر کند.
- با استفاده از تکنیک
Implicit Iteration
قادر خواهید بود که بسیاری از لوپ ها را بصورت دسته جمعی (و نه تک به تک) بررسی و در وقت صرفه جویی کرده و بدین ترتیب نیاز به کدنویسی طولانی نداشته باشید.
- جی کوئری از متد برنامه نویسی خاصی بنام
Chaining
برای تک خطی کردن فرمانها استفاده میکند، بهمین دلیل ما دیگر نیازی به تکرار فرمانها و ماژولها نداریم.
- این استراتژیها باعث کاهش کدها و کمپرس شدن کل پکیج جی کوئری به تقریبا 20کیلو بایت شده اما در عین حال تمامی نیازهای کاربر را هم برطرف میسازد.
دانلود جی کوئری
برای دانلود جی کوئری و کسب اطلاعات بیشتر راجع به این کتابخانه مفید جاوا اسکریپت کافی است به سایت رسمی آن سری بزنید و براحتی آن را دانلود نمایید. www.jquery.com