جاوا اسکریپت اول با نام Mocha معرفی شد که بعدها به LiveScript و در نهایت به جاوااسکریپت تغییر کرد . این تغییر نام همزان شد با پشتیبانی از جاوا در مرورگر وب Netscape Navigator. اولین نسخه جاوااسکریپت در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری باعث سردرگمی زیاد شد و موجب ربط دادن این دو (جاوا و جاوا اسکریپت) به یکدیگر شد. بعضی این کار را یک ترفند تجاری برای به دست آوردن بازار جاوا میدانند.
به دلیل موفقیت عمده جاوااسکریپت در سمت کاربر برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را جی اسکریپت نامید. تفاوتهای این دو زبان به حدی جزیی است که اغلب جی اسکریپت و جاوااسکریپت به جای هم به کار میروند. هرچند که مایکروسافت در اینجا چند ده دلیل برای تفاوت جی اسکریپت با استاندارد ECMA مطرح میکند.
جاوا اسکریپت را می توان در هر دو سمت کلاینت و سرور استفاده کرد؛ یعنی می توان از آن برای توسعه برنامه های تحت وب و موبایل و همچنین ایجاد برنامه های دسکتاپ استفاده کرد.
جاوا اسکریپت به شما امکان می دهد برنامه های تعاملی و پویا ایجاد کنید که تجربه آنلاین کاربر را افزایش می دهد. می توان از آن برای ایجاد انیمیشن، جلوه های بصری و موارد دیگر استفاده کرد.
javascipt دارای تعداد زیادی فریمورک و کتابخانه های مختلفی است که به توسعه دهندگان اجازه می دهد تا برنامه ها را سریعتر بسازند. برخی از فریمورک های محبوب عبارتند از Angular.js ،React ،Vue.js Aurelia ،Nuxt.js ،Gatsby و …
حال که آموختیم زبان javascipt چیست و چه کاربردهایی دارد، شاید این سوال برای شما پیش آمده باشد که جاوا اسکریپت چگونه در مرورگرهای مختلف اجرا میشود؟ جواب این سوال موتورهای پردازشی (Engine) هستند. مرورگرهای مختلف برای اجرای کدهای جاوااسکریپت از موتورهای مختلفی استفاده میکنند که در ادامه به برخی از آنها اشاره میکنیم.
این موتورها در ابتدا کدهای جاوا اسکریپت را ترجمه میکنند. سپس اسکریپتها را به زبان ماشین کامپایل میکنند تا در نهایت کدها اجرا شوند. البته این موضوع به این معنی نیست که زبان جاوا اسکریپت تنها بر روی مرورگرهای وب اجرا میشود. این زبان برنامه نویسی تقریبا بر روی تمام پلتفرمها با استفاده از JavaScript Virtual Machine قابل اجرا است.
دنیای توسعه بازی هم فضای دیگری است که کاربرد javascipt در آن حسابی به چشم میآید، خصوصا بازیهای موبایل و تحت وب. در حال حاضر انبوهی موتور بازیسازی مبتنی بر javascipt داریم که میتوانید از گیتهاب به آنها دسترسی پیدا کنید. از برجستهترین موارد میشود به Phaser ،Pixi.js ،melonJS ،kiwi.js و Three.js اشاره کرد.
این موتورها فرایند بازیسازی را سریعتر و آسان میکنند و قابلیتهای اضافه مانند فیزیک و انیمیشن را نیز در اختیارتان میگذارند. ناگفته نماند که بسیاری از وبسایتهای معروف بازیهای تحت وب مانند 1001Games و Miniclip انبوهی بازی متکی بر جاوا اسکریپت دارند.
از جاوا اسکریپت هم در ساخت بازیهای دوبعدی و هم بازیهای سهبعدی استفاده میشود. علاوه بر این میتوانید از فریمورکهای مختلف جاوا اسکریپت برای ساخت بازی موبایل یا حتی دسکتاپ کمک بگیرید. برخی از معروفترین بازیهایی که به این زبان نوشته شدهاند، Tower Building ،2048 ،Bejeweled و Words with Friends نام دارند.
از javascipt برای ساخت اپلیکیشنهای تکصفحهای (Single Page Applications | SPA) نیز استفاده میشود. SPA در واقع وب اپلیکیشنی است که تنها یک صفحه مبتنی بر HTML را به نمایش درمیآورد و محتوا براساس تعاملات کاربر با صفحه بهروزرسانی میشود. SPAها معمولا با فریمورکهای جاوا اسکریپت مانند AngularJS یا React و یا Vue.js ساخته میشوند. جیمیل، گوگل مپس و Airbnb از مشهورترین اپلیکیشنهای تکصفحهای امروزی به حساب میآیند.
اما نقش و کاربرد javascipt در توسعه SPA دقیقا چیست؟ Angular.js به عنوان مثال فریمورکی در سمت سرور است که انقیاد داده دوطرفه (Bidirectional Data Binding) را امکانپذیر میکند. به کمک انقیاد داده، هر زمان که مدلها تغییر میکنند، صفحه پیش روی کاربر نیز بهروزرسانی میشود. AngularJS ضمنا میتواند هم کنترلر و هم مدل را درون مرورگر کاربر نگه دارد.
ReactJS هم یکی دیگر از فریمورکهایی است که در ساخت اپلیکیشنهای تکصفحهای کاربردی ظاهر میشود. از جمله مزایای این فریمورک میتوان به موارد زیر اشاره کرد:
از جاوا اسکریپت برای ساخت رابطهای کاربری و وب اپلیکیشنهای گوناگون استفاده میشود. کتابخانههایی مانند jQuery نیز ساختن عناصر تعاملی مختلف مانند منوهای کشویی، آکاردئونها و مدلها را آسان میکنند.