اگر کمی با دنیای وب آشنایی داشته باشید حتما در مورد جاوا اسکریپت و جی کوئری شنیده اید و هرگاه در مورد حرکات عجیب و غریب بعضی از سایت ها از دوستان پرسیده اید آنها را به جاوا اسکریپت و جی کوئری نسبت داده اند. حرکاتی مانند حرکت یک عکس یا متن بدنبال موس ، منوهای پایین افتادنی در سایت ها و ...
اکثر طراحان و برنامه نویسان وب سایت های پویا و داینامیک می دانند که برنامه های جاوا اسکریپت(java script) و جی کوئری(jquery) دو عامل مهم در پویا سازی یک وب سایت به شمار می آیند. علاوه بر اینکه این دو زبان برنامه نویسی بسیار به هم شباهت دارند و یک هدف را دنبال می کنند، تفاوت های قابل توجهی نیز میان این دو وجود دارد که می بایست یک طراح و برنامه نویس وب سایت به آن دقت داشته باشد. در ادامه به بیان تفاوت های جاوا اسکریپت با جی کوئری خواهیم پرداخت.
جاوا اسکریپت یکی از زبان های برنامه نویسی جهت طراحی سایت و یا به عبارتی یک زبان برنامه نویسی "شی گرا" می باشد. این زبان بیشتر با کد های HTML در ارتباط است و دقیقا همانند کدهای HTML روی پلت فرم های مختلف اجرا می شود یا به عبارتی به وسیله مرورگر های وب interpret می شود.
از آنجا که JavaScript یک متن ساده میباشد، در نتیجه میتوان از هر ویرایشگر متنی برای نوشتن آن کمک گرفت، در سیستم ویندوز اغلب کاربران از برنامه notepad استفاده میکنند.
جاوا اسکریپت توانایی تغییر محتویات نمایش داده شده بر روی مرورگر بازدید کننده یک سایت را فراهم می سازد. این توانایی ها امکان پویا سازی و یا همان طراحی سایت داینامیک را بوجود می آورد. طراحان صفحات وب می توانند با استفاده از Function ها و Object های آماده و از پیش تعریف شده جاوا اسکریپت قابلیت های زیادی را برای صفحات وب ایجاد کنند. توانایی ها و قابلیت های جاوا اسکریپت بسیار متنوع بوده و تنها به موارد که در زیر می آید خلاصه نمی شود.
- اعمال تغییرات در متون سایت
- تغییر در مشخصه های آیتم ها و CSS آنها
- متحرک سازی و پویا نمایی
- تغییر رنگ ها، رنگ پس زمینه و موقعیت قرار گیری آیتم های استفاده شده در طراحی وب سایت
- تعامل با کاربر از طریق Textbox ها، Radio Button ها، Text Area و غیره
- پاسخ به رویدادها (مثل کلیک موس،load شدن صفحه و... )
- نمایش اخطار و یا پیام به کاربران
- انجام محاسبات ریاضی
- ساخت و تولید کد HTML بصورت پویا در شرایط مورد نیاز
- ساخت منوی متحرک
- جمع آوری آمار و اطلاعات کاربران از سایت
جاوا اسکریپت به صفحات سایت های استاتیک قابلیت پویایی می دهد و انجام عملیات هایی مانند تعامل با کاربر و دریافت اطلاعات کاربری بازدید کنندگان مثل IP، تنها توسط این زبان برنامه نویسی قابل انجام است.
زبان برنامه نویسی جاوا اسکریپت از لحاظ ساختار نزدیک به به زبان های C++, C و یا # C می باشد. همچنین استفاده از کتابخانه های آماده این زبان برنامه نویسی و سادگی در برنامه نویسی و پیاده سازی بدون درگیر شدن با کامپایلرهای پیچیده ،کار با آن را برای برنامه نویسان بسیار آسان کرده است.
جیکوئری یا jQuery به زبان ساده یک کتابخانه جاوا اسکریپت سبک وزن چند مرورگری میباشد و برای ساده کردن نوشتن اسکریپت های سمت کلاینت (مشتری) که همان روال های جاری برنامه نویسی تحت وب در اچ تی ام ال(HTML) می باشد طراحی شده است.
شعار jQuery "کمتر بنویس و بیشتر انجام بده" و هدفش استفاده آسان و سریع از امکانات جاوا اسکریپت در وب سایت است. این ساده سازی از دسترسی به عناصر و اشیاء وب سایت تا کنترل رویدادهای آن ها می باشد و همچنین یک سری امکانات از پیش آماده شده را به شما ارائه میدهد.
یکی از کاربرد های مهم jquery داشتن دستورات بسیار راحت در زمینه بکار گیری تکنولوژِی ای جکس(Ajax) می باشد.
برای یادگیری جی کوئری باید اطلاعات پایه ای در مورد HTML، CSS و JavaScript داشته باشید. جی کوئری برنامه هایی که نیاز به کدنویسی های فراوان جاوا اسکریپت دارد را به گونه ای ساده می کند که می توانید با نوشتن یک خط کد و مراجعه به یک کتاب مرجع همه آنها را انجام دهید. خود فایل JQuery در واقع حکم کتاب مرجع را دارد. به همین خاطر در صورتی که دستورات خودتان را بر اساس قوانین جی کوئری بنویسید و فایل اصلی جی کوئری را به صفحه لینک نکنید اتفاقی نمیافتد و در واقع دستورات کار نخواهند کرد. (چون در این حالت دستورات هست ولی کتاب مرجع نیست که مرورگر وب بفهمد هر دستور چه معنایی میدهد.)
در استفاده از jQuery ما دو فایل خواهیم داشت:
- یک فایل، خود فایل jQuery میباشد که باید در ابتدا به صفحه مورد نظر ما لینک شود.
- فایل دوم فایل اسکریپتی است که دستورات ما بر اساس قوانین Jquery داخل آن نوشته شده است. (البته میتوان این دستورات را در داخل کدهای صفحه نیز قرار داد و یک فایل جداگانه نداشته باشد)
- قابلیت اجرا بر روی مرورگرهای رایج مانند اینترنت اکسپلورر، فایرفاکس، کروم و...
- قابلیت تغییر خصوصیات CSS
- متحرک سازی و قرار دادن افکت روی عناصر وب سایت
- کار با ایجکس
- کنترل آسان و قدرتمندتر رویدادها (Events)
- ایجاد افکت و حرکات انیمیشن
- توسعه دادن پلاگین ها
به کارگیری همه این اجزای جی کوئری کمک میکند صفحات وب قدرتمند و داینامیک (پویا) داشته باشیم.
جی کوئری امروزه محبوبترین کتابخانه جاوا اسکریپت در حال استفاده است.
جی کوئری نرمافزار متن باز(open source) و رایگان است که تحت دو پروانه GPL و MIT منتشر میشود. دستور زبان جی کوئری به گونهای طراحی شده است که عمل هدایت به پرونده را آسان تر نموده است، بدین صورت که میتوان حرکات انیمیشن و رویدادهایی را در صفحه ایجاد کرد و به وسیله آن نرمافزارهای مبتنی بر Ajax را ایجاد نموده و توسعه داد.
جی کوئری همچنین این اختیار را به برنامه نویسان میدهد که پلاگین هایی برای کتابخانه جاوا اسکریپت ایجاد کنند.
افزودن انیمیشن (Fade) به یک صفحه:
کسب بازخورد(feedback) از کاربران و یا به آنها، امری بسیار مهم است و جی کوئری این ویژگی را به سادگی با استفاده از امکاناتی همچون Fade و غیره به شما می دهد.
امکان تغییر ظاهر یک صفحه:
CSS ابزار قدرتمندی در تغییر ظاهری صفحات محسوب می شود اما قادر به انجام این کار در مرورگرهای مختلف که استانداردهای متفاوتی دارند، نیست. اما جی کوئری به راحتی می تواند هر نوع مرورگری را پشتیبانی کند و حتی قادر است که مختصات ویژه صفحات وب را، حتی بعد از دستکاری و تغییر ساختاری و ظاهر، دوباره تغییر دهد.
کسب اطلاعات از یک سرور بدون نیاز به Refresh کردن آن صفحه (که اصطلاحاً به آن AJAX میگویند):
جی کوئری اینکار را بدون نیاز به دانستن مختصات ویژه هر سرور و صرفا با مراجعه مستقیم به نتایج آن صفحه (محتویات سرور) انجام میدهد.
تفاوت جاوا اسکریپت و جی کوئری
زبان برنامه نویسی JavaScript، یک زبان برنامه نویسی خیلی پیچیده و گسترده است. جی کوئری یک Framework است که بر اساس زبان برنامه نویسی جاوا اسکریپت ایجاد شده است.
اطلاعات پیش نیاز برای استفاده از جاوا اسکریپت فقط HTML /XHTML ، البته کمی هم دید برنامه نویسی لازم است . شما احتیاجی به دانستن زبان برنامه نویسی جداگانه ندارید ولیکن مستلزم داشتن کمی دید برنامه نویسی است.
کد نویسی بر اساس دستور زبانی که jQuery ایجاد کرده، خیلی ساده است و در کمترین تعداد خط میتوان بیشترین تغییرات را در صفحه ایجاد کرد.
جی کوئری کاملا Unobtrusive میباشد یعنی شما هیچ کد جاوا اسکریپتی را داخل کدهای XHTML وارد نمی کنید. از این نظر کدهای شما کاملا مجزا از هم و مرتب خواهد بود و از طرفی وقتی JS روی مرورگر فعال باشد، کدهای شما اجرا می شود ولی اگر JS فعال نباشد، هیچ مشکلی برای سایت شما پیش نمیآید و سایت همچنان برای کاربر قابل استفاده خواهد بود.
جی کوئری از متد برنامه نویسی خاصی بنام Chaining برای تک خطی کردن فرمان ها استفاده می کند، به همین دلیل شما دیگر نیازی به تکرار فرمانها و ماژولها ندارید.
کافیست تا کمی در سایت ها، نگاهی به کد نویسی و syntax هر فریم ورک بیندازید. اینجاست که در همین مرحله ابتدایی شما jquery را انتخاب می کنید. فقط به خاطر اینکه به راحتی با کمترین دانش برنامه نویسی می توانید نحوه کد نویسی jquery را درک کنید.
در سالهای اخیر افزایش گرایش به اچ تی ام ال باعث افزایش کارایی پکیج های فریم ورک های جاوا اسکریپتی شده، بعضی پکیج ها عملیات خاص و محدود و بعضی دیگر کارهای انیمیشن و غیره را تسهیل می کنند. اما جی کوئری سعی می کند تا تمام این حوزه ها را پوشش دهد.
ارایه، شناسایی و تغییر مختصات صفحات وب، متضمن آشنایی طراحان وب با کدها و خطاهای مربوط به CSS و ... است، ولی جی کوئری این کار را برای طراحان آسانتر نموده است.
یکی از امکانات کتابخانه جی کوئری کنترل و جلوگیری از اتفاقات غیرمنتظره ایست که به هنگام کلیک کردن یک کاربر بر روی یک لینک رخ می دهند و مثلا باعث کند شدن یا درهم ریختگی مرورگرها می شوند. ابزار event-handler در جی کوئری این وظیفه را به سادگی و بدون نیاز به استفاده از جاوا اسکریپت انجام می دهد.
جی کوئری می تواند بدون نیاز به ابزارهای جاوا اسکریپت و کد نویسی های زیاد، امکان دسترسی به بخش هایی از یک صفحه را ایجاد کند.
جاوا اسکریپت نسبت به جی کوئری به دليل عدم کامپايل شدن کدها در زمان اجرا کند می باشد و ديباگ کردن آن بسيار مشکل است.
چنانچه خطايي در اجراي برنامه های جاوا اسکریپت رخ دهد، در برخي از موارد بدون دادن پيامي و يا ارائه هيچگونه راهنمايي، از برنامه خارج مي شود.
جاوا اسکریپت در همه مرورگرها(در مرورگرهاي قديمي) قابل اجرا نمي باشد و نيز برخي کاربران، براي سوء استفاده از سايت ها، امکان اجراي اينگونه اسکريپت ها را بر روي مرورگر خود لغو مي کنند.
یکی از مشکلات طراحی وب متفاوت بودن پیش شرط ها و مختصات مرورگرها و عدم هماهنگی آنها با یکدیگر و یا با نرم افزارهای جدید است. جی کوئری قادر است که با هر مرورگری کار کرده و با کاهش کدها و ساده سازی کار را آسان تر کند. هر مرورگر به یک شکل کدهای جاوا اسکریپت را تفسیر می کند. جی کوئری محیطی را فراهم کرده است که شما اصلا ذهنتان مشغول این قضیه نشود و مطمئن باشید کدی که می نویسید در همه مرورگرها به درستی کار خواهد کرد.
جاوا اسکریپت بر روي مرورگر اجرا مي شود، در نتيجه هيچ گونه امکاني براي مبادله با سرور سايت را ندارد.