جی کوئری (jQuery) چیست؟
#1
Note 
[تصویر:  OQAAAI1PPrJY0nBALB7mkvju3mkQXqLmzMhxEjeb...V3PdmT.png]

در یک کلام، جی کوئری یک کتابخانه جاوا اسکریپت است که انجام یک سری کارها را برای شما بسیار آسان می کند (همناطور که از شعارش پیداست) و همچنین یک سری امکانات از پیش آماده شده را به شما اراده می دهد.


جی کوئری چکار می کند؟

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

مثلا زبان فارسی را در نظر بگیرید که بسیار گسترده است. حال ما درنظر داریم یه کتاب کوچک بنویسم و برای 2000 لغت پرکاربرد زبان فارسی علامت های اختصاری در نظر بگیریم، به عنوان مثال برای لغت «در» یک معادل در نظر می گیریم:

در = ^-^

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


در استفاده از جی کوئری ما دو تا فایل خواهیم داشت:


- یک فایل، خود فایل جی کوئری می باشد که باید در ابتدا به صفحه مورد نظر ما لینک شود.

مثل:
[JS]<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script>[/JS]

- فایل دوم فایل جی اس ای هست که دستورات ما بر اساس قوانین جی کوئری داخلش نوشته شده است. (البته می تواند این دستورات را در داخل کدهای صفحه نیز قرار داد و یک فایل جداگانه نداشت)


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


- ایجاد امکان دسترسی به بخشهایی از یک صفحه بدون نیاز به ابزارهای جاوا اسکریپت و عدم نیاز به کد نویسی های زیاد.


- جی کوئری مکانیسم سریع و موثری برای جستجو ، یافتن و انتخاب بخشهای مورد نظر از یک صفحه را بدون نیاز به ابزار جاوا اسکریپت، در اختیار ما قرار میدهد.


- امکان تغییر ظاهر یک صفحه؛ البته سی اس اس ابزار قدرتمندی در تغییر صفحات بما میدهد اما قادر به انجام اینکار در مرورگرهای مختلف که استانداردهای متفاوتی دارند، نیست. اما جی کوئری براحتی میتواند هر نوع مرورگری را ساپورت کند و حتی قادر است که مختصات ویژه صفحات وب را، حتی بعد از دستکاری و تغییر ساختاری و ظاهر، دوباره تغییر دهد.


- جی کوئری نه تنها تغییرات ظاهری و ناچیز را، بلکه صرفا با چند کلیک ساده، می تواند محتوای صفحات مورد نظر کاربر را هم تغییر کلی بدهد و مثلا متن یا عکسی را تغییر داده و یا تصویر یا لیستی را درون متنهای آن صفحه اضافه و یا از آن حذف کند. حتی میتواند تمام ساختار اچ تی ام ال صفحات را کاملا تغییر دهد.


- یکی از امکانات کتابخانه جی کوئری کنترل و جلوگیری از اتفاقات غیرمنتظره ایست که بهنگام کلیک کردن یک کاربر بر یک لینک رخ میدهند و مثلا باعث کند شدن یا درهمریختگی مرورگرها میشوند. ابزار
event-handler
در جی کوئری این وظیفه را بسادگی و بدون نیاز به استفاده از جاوا اسکریپت انجام میدهد.


- افزودن انیمیشن به یک صفحه؛ کسب فیدبک از (یا به) کاربران، امری بسیار مهم است و جی کوئری این ویژگی را بسادگی با استفاده از امکاناتی همچون Fade و غیره بما میدهد.


- کسب طالاعات از یک سرور بدون نیاز به ریفرش کردن آن صفحه (که اصطلاحا به آن اجکس می گویند) جی کوئری اینکار را بدون نیاز به دانستن مختصات ویژه هر سرور و صرفا با مراجعه مستقیم به نتایج آن صفحه (محتویات سرور) انجام میدهد.


- ساده سازی عملکردهای مشترک / تکراری جاوا اسکریپت : جی کوئری علاوه بر انجام بسیار ساده تغییرات کلی در متن و ظاهر صفحات وب، حتی قادر به ساده تر کردن عملیات ساختار سازی همچون Iteration And Array Manipulation هم هست.

آیا جی کوئری نوآوری های خاصی هم داشته است؟

بله، در زیر به چند مورد اشاره می شود؛

- کد نویسی بر اساس دستور زبانی که جی کوئری ایجاد کرده، خیلی ساده است و در کمترین تعداد خط می توان بیشترین تغییرات را در صفحه ایجاد کرد.

- جی کوئری کاملا Unobtrusive می باشد یعنی شما هیچ کد جاوا اسکریپتی را داخل کدهای XHTML وارد نمی کنید. از این نظر کدهای شما کاملا مجزا از هم و مرتب خواهد بود و از طرفی وقتی JS روی مرورگر فعال باشد، کدهای شما اجرا میشود ولی اگر جی اس فعال نباشد، هیچ مشکلی برای سایت شما پیش نمی آید و سایت همچنان برای کاربر قابل استفاده خواهد بود.

- در جی کوئری تگها را میتوان بر اساس همان قواعد سی اس اس انتخاب نمود.

به عنوان مثال وقتی می خواهیم یه تگ ای را که داخل یه دایو با آیدی amir می باشد، انتخاب کنیم، به این صورت عمل می کنیم:

[HTML]div.amir a {
....
}[/HTML]

به عنوان مثال همین تگ ای را در داخل جی کوئری به این صورت انتخاب می کنیم:

[JS]$(document).ready(function() {
$("div.amir a")
});[/JS]


- هر مرورگر به یک شکل کدهای جی اس را تفسیر میکند. جی کوئری محیطی را فراهم کرده است که شما اصلا ذهنتان مشغول این قضیه نشود و مطمئن باشید که کدی که می نویسید در همه مرورگرها و آی ئی نسخه 6 به بعد به درستی کار خواهد کرد.



چرا جی کوئری بهتر از سایر ابزارها است؟

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


- ارایه و شناسایی و تغییر مختصات صفحات وب، متضمن آشنایی طراحان وب با کدها و خطاهای مربوط به سی اس اس و ... است ولی جی کوئری این کار را برای طراحان آسانتر نموده است.


- ساپورت های اکتنژن در جی کوئری طوری تنظیم شده اند که پلاگینها را میتوان بسادگی اضافه یا حذف نمود و ساختار درونی Basic jQuery طوری نوشته شده که بهنگام دانلود براحتی برای سایر آیتم های صفحه وب قابل شناسایی اند و براحتی با ایجاد ماژول های ساده میتوان تغییرشان داد.


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

- با استفاده از تکنیک Implicit Iteration قادر خواهید بود که بسیاری از لوپ ها را بصورت دسته جمعی (و نه تک به تک) بررسی و در وقت صرفه جویی کرده و بدین ترتیب نیاز به کدنویسی طولانی نداشته باشید.


- جی کوئری از متد برنامه نویسی خاصی بنام Chaining برای تک خطی کردن فرمان ها استفاده میکند، بهمین دلیل ما دیگر نیازی به تکرار فرمانها و ماژولها نداریم.


- این استراتژیها باعث کاهش کدها و کمپرس شدن کل پکیج جی کوئری به تقریبا 20کیلو بایت شده اما در عین حال تمامی نیازهای کاربر را هم برطرف میسازد.


دانلود جی کوئری

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

[HTML][JS]<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script>[/JS][/HTML]

2funny.blogsky.com +softafzar.net

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note Jquery Ajax navigation WWWorker 0 350 14-08-2014 ساعت 17:19
آخرین ارسال: WWWorker
Note ساعت jquery Stack OverFlow 0 320 19-01-2014 ساعت 08:46
آخرین ارسال: Stack OverFlow
Note اسلاید زیبا با جی کوئری jQuery SOFTAFZAR 1 568 10-01-2014 ساعت 10:14
آخرین ارسال: IR-Webmaster
Note شاخص استحکام پسورد با جی کوئری(jQuery) WWWorker 1 404 19-12-2013 ساعت 19:53
آخرین ارسال: DreamWeaver
Note کار نکردن animation در jQuery فقط در background maJID maGIC 1 362 09-12-2013 ساعت 22:21
آخرین ارسال: Daniel
Note غیر فعال کردن کلیک راست با jQuery WWWorker 0 324 07-11-2013 ساعت 09:34
آخرین ارسال: WWWorker
Note تغییر اندازه متن با jQuery WWWorker 0 319 07-11-2013 ساعت 09:30
آخرین ارسال: WWWorker
Note نمایش پیام در اولین Drag در Jquery maJID maGIC 1 368 10-09-2013 ساعت 09:53
آخرین ارسال: SOFTAFZAR
Note JSON چیست؟ PHP.sec 0 349 07-08-2013 ساعت 11:40
آخرین ارسال: PHP.sec
Note jQuery:: از کجا بفهمیم Element مورد نظر وجود داره؟ SOFTAFZAR 0 346 13-07-2013 ساعت 10:39
آخرین ارسال: SOFTAFZAR

کاربرانِ درحال بازدید از این موضوع:   1 مهمان