جاوا اسکریپت (javascript) و اهمیت یادگیری آن

بوسیله علیرضا پایدار | 1395/5/6 | مجموعه نرم افزار

0 نظر

جاوا اسکریپت (javascript) و اهمیت یادگیری آن

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

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

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

جاوا اسکریپت جزو زبان های سمت سرویس گیرنده 1 محسوب می شود یعنی بر روی رایانه کاربر به اجرا در می آید؛ برخلاف PHP ،ASP.NET یا JPS که در زمره زبان های سمت سرویس دهنده 2 طبقه بندی می شوند.

برای آشنایی بهتر با این مفهوم مهم در طراحی صفحات وب، مثال زیر را با دقت مطالعه نمایید.


فرض کنید وب سایت یک بانک قصد دارد صفحه ای را ایجاد نماید تا کاربران با انتخاب نوع سرمایه گذاری و مبلغ موردنظر، میزان سود ماهیانه را محاسبه نمایند.

روش اول این است که با استفاده از یکی از زبان های برنامه نویسی سمت سرویس دهنده، صفحه مذکور پیاده سازی شود. در این حالت وقتی کاربر اطلاعات موردنیاز را وارد و روی دکمه «محاسبه» کلیک می کند، این اطلاعات برای سرویس دهنده ارسال شده و پس از انجام محاسبات لازم، نتیجه برگشت داده می شود. طبیعتاً این کار مستلزم یک بار رفت و برگشت اطلاعات و اجرا عملیات روی سرویس دهنده و تا حدی زمان بر است. روش دوم پیاده سازی، استفاده از زبان های سمت سرویس دهنده مانند جاوا اسکریپت است. در این حالت، فرمول مورد نیاز برای محاسبه سود بانکی )در قالب یک قطعه کد( در هنگام درخواست نمایش اولیه صفحه برای رایانه کاربر فرستاده می شود. هنگامی که کاربر، اطلاعات موردنیاز را وارد و روی دکمه «محاسبه » کلیک می کند، کد اجرا شده و نتیجه روی صفحه ظاهر می شود. در این حالت، رفت و برگشت اطلاعات وجود ندارد، عملیات روی سرویس دهنده کاهش می یابد و عملیات با سرعت فوق العاده بیش تری انجام می شود.

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

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

هنگام معرفی جاوا اسکریپت همواره این نکته هم مورد تأکید قرار می گیرد که علیرغم تشابه اسمی، رابط های میان جاوا اسکریپت و زبان جاوا وجود ندارد و حتی نگارش این زبان اسکریپتی به زبان C نزدیکتر است.

در مجموع می توان موارد زیر را به عنوان کاربردهای اصلی جاوا اسکریپت ذکر کرد:

خواندن عناصر صفحه و افزودن عناصر و اجزاء جدید به صفحه دستکاری یا جابه جا کردن عناصر و نوشته ها اجرای محاسبات ریاضی روی داده ها واکنش نسبت به وقوع رویدادهایی نظیر بارگذاری صفحه یا کلیک شدن دکمه استخراج اطلاعاتی مانند نسخه مرورگر، زمان و تاریخ، ابعاد صفحه و ... از مرورگر کاربر اعتبارسنجی داده های وارد شده درون فرم و نمایش پیغام های مناسب جاوا اسکریپت یک زبان اسکریپت نویسی شیءگرا  محسوب می شود که کاربرد آن در طراحی صفحات وب روز به روز افزایش می یابد. امروزه عباراتی مانند  AJAX  با تلفظ (اِی جَکس) یا JQuery  با تلفظ (جِ یکوئِری) در میان طراحان صفحات وب زیاد به گوش می خورد که هر دو منشاء جاوا اسکریپتی دارند.

AJAX که از عبارت Asynchronous JavaScript and XML به معنی «ترکیب ناهمگام جاوا اسکریپت و XML» گرفته شده، به گونه ای قابلیت های جاوا اسکریپت و XML را ترکیب نموده تا لازم نباشد با وقوع هر رویدادی در صفحه وب، یک بار عملیات رفت و برگشت صفحه به سرویس دهنده انجام شود.

برای نمونه احتمالاً در موتورهای جستجوی معروف مانند Google یا Yahoo مشاهده کرده اید که کاربر به محض وارد کردن عبارت مورد نظر، با فهرستی از پیشنهادهای موتور جستجو مواجه می شود که پیش از این توسط سایر کاربران مورد جستجو قرار گرفته اند. دراین حالت، صفحه بدون اینکه تازه سازی (Refresh ) شود عبارت وارد شده را برای موتور جستجو ارسال نموده و نتایج را به صورت پویا نمایش می دهد.

در پشت این اتفاق بدیع، فن آوری AJAX کار ارسال و دریافت اطلاعات را انجام می دهد و برنامه نویسی جاوا اسکریپت، اهمیت و قدرت خود را به رخ می کشد.

JQuery را نیز می توان به صورت کتابخانه ای آماده از جاوا اسکریپت تصور کرد که برای ساده کردن کدنویسی جاوا اسکریپت ایجاد شده است. برای استفاده از این فن آوری شما با مراجعه به وب سایت www.jquery.com آخرین نسخه موجود را در قالب یک فایل متنی با پسوند  .jsدانلود و به صفحه وب خود اضافه می کنید. سپس با به کارگیری متدهای JQuery که با استفاده از جاوا اسکریپت نوشته شده می توانید به سادگی، جلوه های بصری زیبا و پیچیده ای را به وب سایت خود اضافه نمایید.

احتمالاً نمونه ای از کاربرد JQuery را در وب سایت های ارایه دهنده تصاویر مشاهده کرده اید که با کلیک روی تصویر کوچک، پیش نمایش آن درون صفحه نشان داده می شود و پس زمینه صفحه تیره یا مات می گردد.

در واقع این کار با استفاده از کدهای جاوا اسکریپت انجام می شود که روش دشوار آن، نگارش کامل کد و روش ساده تر استفاده از کتابخانه آماده و متدهای JQuery است.

این جلوه تصویری که LightBox نام دارد، یکی از رایج ترین موارد استفاده از JQuery است که در بسیاری از وب سایت ها مورد استفاده قرار می گیرد.

 

۱۰ دلیل اهمیت یادگیری زبان برنامه نویسی جاوااسکریپت

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

اما در ده سال گذشته شاهد تغییرات چشمگیری بودیم. به دلیل ساختار منعطف و کارآمد این زبان استفاده از آن بسیار آسان است، به شکل گسترده ای استاندارد سازی شده و برروی تمامی مرورگر های معمول قابل اجراست و کارآمدی آن بسیار بیشتر از قبل شده است. اگر از علاقه مندان به جاوااسکریپت هستید ادامه مطلب را از دست ندهید. تا بدانید که چرا لازم است در کنار یادگیری بسیاری فناوری های وب، به دنبال جاوااسکریپت هم باشیم. چیزی که خیلی اوقات فراموش می شود.

 

۱ - یادگیری آسان: 

جاوااسکریپت محبوب ما به دلیل ساختار اسکریپتی و عدم نیاز به کامپایل توسط برنامه نویس، سیستم مدیریت حافظه ندارد و جایی برای نگرانی در مورد لود شدن و یا نشدن محتوا نیست. تمامی این وظایف سنگین برعهده مرورگر بوده و به همین خاطر این زبان یکی از بهترین گزینه ها برای یادگیری مبانی برنامه نویسی است.

 

۲ - ویرایش ساده: 

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

به دلیل ساختار اسکریپتی و عدم نیاز به کامپایلر و دیگر نرم افزار های کمکی، نباید برای استفاده از آن هزینه زیادی متقبل شد. (البته کاربران ایرانی از مواردی از این قبیل مستثنی هستند!). جاوااسکریپت یک متن ساده است که در notepad و دیگر ادیتورهای ساده قابل نوشتن است.

کاربران ویندوزی می توانند از نرم افزار notepad++ استفاده کنند. اگر به یاد داشته باشید قبلا در نردبان ادیتور براکتز را معرفی کرده ایم که توسط شرکت ادوبی توسعه یافته و خودش هم با جاوااسکریپت نوشته شده است.

  

۳ - جاوا اسکریپت یک زبان قابل مدل سازی (language prototypal) است: 

Prototype-based programming یک شیوه برنامه نویسی شی گرا است که در آن آبجکت های موجود به عنوان یک مدل در نظر گرفته شده و با انجام عمل شبیه سازی به صورت وراثتی استفاده می شوند. در حیطه برنامه نویسی هر شی یک ساختار داده ای است که برای هدف مشخصی طراحی شده است.
در یک زبان قابل مدل سازی هر شی توسط یک کلاس شناسایی می شود. این بدان معنی است که شی مورد نظر بسته به نیاز برنامه نویس می تواند به کرار توسط کلاس تعیین شده فراخوانی و مورد استفاده قرار گیرد.
این ویژگی بنیان و اساس انعطاف پذیری بی نظیر جاوااسکریپت در بحث مهندسی نرم افزار است. در شاخه مهندسی نرم افزار design pattern عبارت است از هنر و مهارت برنامه نویس جهت انتخاب بهترین راه برای حل یک مساله و نوشتن نرم افزار. جاوااسکریپت با ساختار objective و قدرتمند خود به شخص برنامه نویس این امکان را می دهد تا بتواند بهترین استراتژی را برای طراحی الگوریتم های گوناگون (با پیچیدگی کم و کارآیی زیاد) به کار گیرد. یادمان نرود که همیشه بهترین کد از سریع ترین کامپیوترها سریع تر است. پیچیدگی الگوریتم طراحی شده بسته به هنر برنامه نویس متغیر و قابل اندازه گیری و محاسبه است که خارج از موضوع بحث ما در این مقاله است.

 

۴ - در دسترس بودن ابزارهای متنوع:

اجرا شدن جاوااسکریپت توسط مرورگر زمینه ساز به وجود آمدن ابزار های بسیار قوی و متنوعی از جمله فایرباگ و web developer toolbar شده است. ابزاری که برای بررسی عملکرد و دنبال کردن رفتار کد جاوااسکریپت استفاده می شود. با فشردن کلید F12 می توانید اجرای کد خود را به صورت آنی در کنسول باز شده مشاهده نمایید و تغییرات مورد نظر خود را در آن اعمال کنید.

 

۵ - عیب یابی و دیباگ آسان:

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

  

۶ - شی گرا بودن جاوااسکریپت:

با اینکه جاوااسکریپت اولین زبانی نیست که با شنیدن کلمه شی گرا به ذهن ما می رسد ولی به بهترین شکل از طراحی نرم افزار به شکل objective پشتیبانی می کند. مزیت جاوااسکریپت نسبت به دیگر زبان های برنامه نویسی این است که شما قادر هستید در صورت تمایل برای پروژه های کوچک تر و اسکریپت های کوچک آن را به صورت معمولی و بدون ساختار O.O.P به کار بگیرید.

 

۷ - توسعه پذیری آسان:

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


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

علاوه بر این ScriptsSrc.net را به عنوان یک منبع بسیار عالی برای دریافت کتابخانه های مورد نیازتان به شما پیشنهاد می دهیم.

 

۸ - AJAX :

مدت ها وب ساختاری استاتیک و انعطاف ناپذیر داشت که صرفا برای ارائه اطلاعات ذخیره شده به کار گرفته می شد. پس از آن تصاویر متحرک با فرمت GIF و در نهایت فلش به صفحات بی جان وب پویایی بخشیدند. اما مساله اینجا بود که حتی برای ایجاد کوچک ترین تغییر مانند وارد کردن اطلاعات در فیلد های یک فرم ساده نیاز به بارگذاری مجدد صفحه بود که چنین چیزی به هیچ وجه خوشایند نیست.
اینجا بود که AJAX متولد شد. آژاکس توانایی ارسال درخواست به سرور، برای دریافت اطلاعات، بدون بارگذاری مجدد صفحه را ایجاد کرده است.

برای مشاهده نمونه هایی از کاربرد آژاکس، می توانید به AJAX DADDY مراجعه کنید.

 

۹ - سازگاری بی نظیر جاوا اسکریپت با دیگر ابزارهای توسعه وب:

درست است که جاوااسکریپت شروع خوبی نداشت، اما رشد نجومی یک دهه اخیر آن در اپلیکیشن ها، پشتیبانی کامل تمامی مرورگر های مدرن و پیوستگی منحصر به فرد آن با HTML/DHTML و CSS3، ایجاد سرویس های مخفی با استفاده از آژاکس دال بر موفقیت و محبوبیت روز افزون آن است.

۱۰ - Node.js:

node.js چیست؟ قبل از هر چیز برای پاسخ دادن به این سوال می خواهیم شما را با مفهوم server side & client side programming آشنا کنیم.

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

جاوا اسکریپت را بیشتر به عنوان یک فناوری سمت کاربر می شناسیم اما node.js داستان را عوض کرده و یک پلتفرم است برای توسعه نرم افزارهای سمت سرور. node.js از جاوا اسکریپت به عنوان زبان پیاده سازی اسکریپت های خود استفاده می کند.

علاوه بر این Node.js از یک HTTP server library که در ساختار آن تعبیه شده است، جهت برقراری ارتباط با وب سرور بهره می برد و برای این کار نیازی به نرم افزارهای جانبی ندارد. با وجود node.js به تدریج از وابستگی جاوااسکریپت به زبان های سمت سرور مثل php و .Net کاسته شده و امکان پیاده سازی تمامی بخش های یک وب اپلیکیشن (یعنی هم بخش های طرف سرور و هم بخش های طرف کاربر) برای برنامه نویس فراهم شده است.

می بینید که جاوا اسکریپت زبانی نیست که بتوان آن را نادیده گرفت. این زبان در حال حاضر یکی از ستون های قدرتمند و مهم اینترنت به حساب می آید. با این حساب بد نیست که یادگیری آن را در لیست کارهای آینده قرار دهید.

منابع : nardebaan.ir , www.w3.org


چنانچه این خبر مورد رضایت شما می باشد آن را با دوستانتان به اشتراک بگذارید