JavaScript که به اختصار JS نیز نامیده می شود، یکی از محبوبترین زبان های برنامه نویسی تحت وب است. زبان جاوا اسکریپت یک زبان سطح بالا، داینامیک، مبتنی بر شی و تفسیری است. از این زبان می توان برای برنامه نویسی سمت سرور (Server Side)، اپلیکیشن های موبایل، بازی و اپلیکیشن های دسکتاپ استفاده کرد.
جاوا اسکریپت اولین بار در سال 1995 توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد! شرکت Netscape به این نتیجه رسیده بود که به صفحات وب پویا و جذاب تری احتیاج دارد و بنابراین اولین قدم به سوی ساخت زبانی ساده را برداشتند. آقای براندان ایچ از طرف شرکت Netscape مامور شد که زبانی اسکریپتی برای صفحات وب با قابلیت ویرایش و انجام تغییرات در کدهای HTML بسازد، به نحوی که نه تنها برای متخصصان برنامه نویسی، بلکه برای طراحان وب سایت نیز راحت باشد.
معمولا هر زبان جدید، ایده هایی را از زبان های موجود می گیرد و توسعه می یابد. زبان جاوا اسکریپت هم از زبان LiveScript ایده گرفته و ایجاد شده است. یکی از قابلیت های زبان جاوا اسکریپت این است که به راحتی می تواند با HTML ترکیب شود و از امکانات آن استفاده نماید.
نهایی شدن اسم Javascript تنها به این دلیل بود که در آن روز ها زبان برنامه نویسی Java بسیار پرطرفدار شده بود. انتخاب این نام برای این زبان بسیار هوشمندانه بود. زیرا در آن زمان با انتخاب این نام، Javascript توانست سهم زیادی از بازار جاوا را به خود اختصاص دهد. جاوا اسکریپت در سال 1996 برای استاندارد شدن به سازمان ECMA سپرده شد. در نهایت در سال 1997 اولین استاندارد جاوا اسکریپت با نام ECMAScript منتشر شد.
جاوا اسکریپت در سمت سرویس گیرنده برای نوشتن برنامه هایی به کار می رود که توسط مرورگر اجرا می شود و در سمت سرور برای نوشتن برنامه هایی به کار می رود که می تواند اطلاعات و داده هایی را که توسط مرورگر ارسال شده را تفسیر و سپس آنچه را که توسط مرورگر به نمایش در می آید را تغییر دهد.
شما بعد از یادگیری HTML و CSS باید یادگیری جاوا اسکریپت را شروع کنید. یادگیری زبان جاوا اسکریپت کار سختی نیست؛ اما باید بدانید که بر خلاف html یا css که زبان های markup محسوب می شوند، جاوا اسکریپت یک زبان programming است و نباید انتظار یادگیری سریع و بدون دردسر زبان جاوا اسکریپت را داشته باشید. با استفاده از زبان جاوا اسکریپت شما می توانید منطقی را به صفحات html خود اضافه کنید، زیرا با کمک html و css تنها، نمی توان یک صفحه ی وب کامل داشت.
ویژگی ها و قابلیت های زبان Javascript در سمت سرویس گیرنده
از جمله کارهای جالبی که با استفاده از زبان جاوااسکریپت در سمت کلاینت می توان انجام داد عبارتند از :
- کنترل محتویات صفحات وب: در جاوا اسکریپت شی ای به نام document وجود دارد که با استفاده از متدها و پراپرتی های این شی می توان به عناصر موجود در صفحات وب دسترسی پیدا کرد و صفحات وب را کنترل کرد.
- نوشتن برنامه هایی برای انجام محاسبات و اعتبار سنجی داده ها: شما با استفاده از زبان جاوا اسکریپت می توانید برنامه هایی بنویسید که فرم های ورود اطلاعات را قبل از ارسال به سمت سرور ارزیابی و اعتبارسنجی نماید و حتی محاسباتی را انجام دهد.
- تعامل با کاربر: زبان جاوا اسکریپت قادر است تا به event ها پاسخ دهد.به عبارتی زبان JavaScript می تواند در صورت وقوع رویدادی که معمولا توسط کاربر ایجاد می گردد، کدی را به اجرا درآورد. مانند کلیک کردن کاربر بر روی دکمه submit، حرکت دادن موس بر روی یک المان html، وارد کردن مقادیر در فرم های ورود اطلاعات و ... . شما می توانید با استفاده از زبان جاوا اسکریپت یک صفحه استاتیک ایجاد شده با HTML و CSS را به یک صفحه داینامیک تبدیل کنید و به عبارتی به صفحات وب رفتار ببخشید.
- JavaScript اشیای آماده ای دارد که کار کردن با مرورگر و تاریخ و زمان را آسان می کند.
اما یک سری از کارها را با استفاده از زبان جاوااسکریپت نمی توان انجام داد. کارهایی از قبیل:
- جاوا اسکریپت دارای امکانات گرافیکی نیست و با استفاده از این زبان تنها می توانید تصاویر ایجاد توسط html را تغییر دهید و جلوه های ویژه ای را ایجاد نمایید.
- شما با استفاده از زبان JavaScript قادر نخواهید خواندن و نوشتن در فایل را به دلایل امنیتی انجام دهید. زیرا مسلما منطقی و جالب نخواهد بود که برنامه های ناشناخته روی کامپیوتر شما اجرا و تغییراتی را روی آن ایجاد نمایند.
نیازمندیهای کار با جاوا اسکریپت
- یک ویراستار کد یا IDE: برای اینکه شما بتوانید با استفاده از زبان JavaScript برنامه نویسی انجام دهید، شما نیاز به یک IDE مثل Visual Studio Code دارید تا بتوانید دستورات و برنامه های خود را درون محیط IDE نوشته و سپس بتوانید با استفاده از آن IDE برنامه های خود را اجرا و خطایابی کنید. البته شما می توانید برای نوشتن برنامه های خود از ویراستارهای ساده ای مانند notepad یا ++notepad استفاده کنید، اما بهتر است از ویراستارهایی استفاده کنید که امکانات ویژه ای در اختیار شما قرار می دهند مانند visual studio code و php storm .
- مرورگر وب: شما در نهایت برای تست و مشاهده نتیجه برنامه های خود نیاز به یک مرورگر وب دارید.
اهمیت یادگیری زبان جاوا اسکریپت
چندین سال پیش، از جاوا اسکریپت به عنوان یک زبان سخت و نا کارآمد یاد می شد. به این دلیل که در آن زمان زبان جاوا اسکریپت دارای کاربرد اندک و ناسازگاری زیاد با مرورگر ها بود. اما امروزه ما شاهد تغییرات چشمگیری در زبان جاوا اسکریپت هستیم. به دلیل ساختار منعطف و کارآمد این زبان استفاده از آن بسیار آسان است، به شکل گسترده ای استاندارد سازی شده و بر روی تمامی مرورگر ها قابل اجرا است و کارآمدی آن بسیار بیشتر از قبل شده است. در ادامه به دلایلی اشاره می کنیم که اهمیت یادگیری این زبان را بیشتر مشخص می سازد.
- جاوااسکریپت تعامل و حضور پر رنگی در مرورگرها دارد.
جاوا اسکریپت از پر استفاده ترین زبان ها در محیط وب است و توسط تمامی مرورگرهای مدرن پشتیبانی می شود. جاوا اسکریپت به دلیل ساختار اسکریپتی و عدم نیاز به کامپایل توسط برنامه نویس نیاز به سیستم مدیریت حافظه ندارد. تمامی این وظایف سنگین برعهده مرورگر است و حتی به همین خاطر این زبان یکی از بهترین گزینه ها برای یادگیری مبانی و مقدمات برنامه نویسی است.
- کاربردهای گسترده جاوا اسکریپت
جاوا اسکریپت از سال 1995 به مرورگرها اضافه شد و این در حالی است که کاربرد این زبان آن قدر گسترده شده است که می توان در تلویزیون های هوشمند، ساخت اپلیکیشن های مالتی پلتفرم، اپلیکیشن های موبایل، بازی سازی، اینترنت اشیاء و ... از آن استفاده کرد. همۀ این ها دلایلی برای یادگیری جاوا اسکریپت هستند.
- ابزارها و کتابخانه های معروف جاوا اسکریپت
از مزایای دیگر زبان JavaScript، فریمورک ها و کتابخانه هایی است که بر پایه این زبان شکل گرفته اند. کتابخانه هر زبان برنامه نویسی، در حقیقت مجموعه ای از دستورات آن زبان است که به صورت آماده و خلاصه برای استفاده در اختیار توسعه دهندگان قرار می گیرد. یکی از معروف ترین کتابخانه های جاوا اسکریپت، JQuery است. JQuery در واقع مجموعه ای از دستورات پیچیده ی جاوا اسکریپت است که به صورت بسیار ساده و آسان در اختیار همه قرار دارد. از مزیت های مهم کتابخانه JQuery می توان به مواردی از قبیل اجرای یکسان بر روی تمامی مرورگرها و حجم کدنویسی کمتر برای انجام یک کار اشاره کرد. از نمونه فریم ورک ها و ابزارهای دیگری که می توان نام برد ReactJS ساخت شرکت فیسبوک و Angular JS ساخت شرکت گوگل است.
- Node.js
قبل از پرداختن به Node.js شما را با مفاهیم Client Side Programming و Sever side programming آشنا کنیم.
client side آن چیزی است که بر روی کامپیوتر کاربر و در مرورگر اجرا می شود و هیچ ارتباطی با سرور مبنی بر ارسال درخواست و به کارگیری آن برای خواندن اطلاعات از پایگاه داده ندارد.
server side به معنی به کارگیری سرور برای پردازش دستورات است. اسکریپت و یا قطعه کدی که بر روی سرور اجرا می شود در صفحه وب ای که برای کاربر نمایش داده می شود قابل مشاهده نیست و تنها نتیجه آن اسکریپت در مرورگر کاربر قابل مشاهده است.ما جاوا اسکریپت را بیشتر به عنوان یک فناوری سمت کاربر می شناسیم اما Node.js آمده تا بتوانیم برنامه هایی را ایجاد کنیم که در سمت سرور اجرا می شوند. Node.js از جاوا اسکریپت به عنوان زبان پیاده سازی اسکریپت های خود استفاده می کند. با وجود Node.js به تدریج از وابستگی جاوا اسکریپت به زبان های سمت سرور مثل php و NET. کاسته شده و امکان پیاده سازی تمامی بخش های یک وب اپلیکیشن برای برنامه نویس فراهم شده است.
با این توضیحات می بینید که جاوا اسکریپت زبانی نیست که بتوان آن را نادیده گرفت. این زبان در حال حاضر یکی از ستون های قدرتمند و مهم اینترنت به حساب می آید و بد نیست که یادگیری آن را شروع کرده و از قابلیت ها و کاربردهای این زبان در توسعه برنامه های خود استفاده نمایید.