جاوااسکریپت چیست؟ کاربرد و تاریخچه کامل

  1. خانه
  2. کامپیوتر
  3. برنامه نویسی وب
  4. جاوااسکریپت چیست؟ کاربرد و تاریخچه کامل
جاوا اسکریپت چیست؟ تاریخچه جاوااسکریپت

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

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

با استفاده از این زبون برنامه نویسی، میشه حرکت، انیمیشن، تعامل و پاسخگویی به کاربر رو به سایت اضافه کرد. (البته حرکت و انیمیشن توی CSS 3 هم وجود داره)


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

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

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

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

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

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

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

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

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

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

تاریخچه جاوااسکریپت

این زبان برنامه نویسی، توی ۱۰ روز توسط شخصی به اسم برندان آیک Brendan Eich ، در شرکت نت اسکیپ Netscape ساخته شد و یه جورایی، همسن وب حساب میشه و با وجود اینکه الان یه زبان پذیرفته و پرکاربرد حساب میشه، اما گذشته پرفراز و نشیبی داره.

ریشه اسم این زبون، به یه حقه ی بازاریابی برمیگرده. توی سال ۱۹۹۵ میلادی، زبان برنامه نویسی جاوا، جزو محبوب ترین و پرکاربرد ترین زبان ها حساب میشد و حسابی یکه تازی میکرد. پس شرکت سازنده تصمیم گرفت از این موج محبوبیت استفاده کنه و اسم زبان جدید رو گذاشت: جاوااسکریپت. در حالیکه هیچ ربطی به جاوا نداشت!

شنیدین که میگن خیاط در کوزه افتاد؟ مشابه حرکتی که در جریان نامگذاری انجام شد، یه بار دیگه توسط مایکروسافت اتفاق افتاد. اون زمان ها، مرورگر نت اسکیپ، غول دنیای بروزرها حساب میشد و مایکروسافت هم تازه وارد این میدون شده بود و نیاز داشت که از تکنولوژی روز برای پیشبرد پروژه اینترنت اکسپلورر استفاده کنه. به همین خاطر، یه سری تغییرات توی زبان جاوااسکریپت بوجود آورد و اسمش رو گذاشت جی اسکریپت JScript!

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

اکما اسکریپت ECMAScript وارد میشود!

میشه گفت که سازمان اکما، دنیای برنامه نویسی وب رو در اون زمان نجات داد.
اکما Ecma یا European Computer Manufacturers Association (انجمن سازندگان اروپایی کامپیوتر – که متاسفانه صفحه ویکی پدیا فارسی هم نداره!) در سال ۱۹۶۱ شکل گرفت و بعدها، در ۱۹۹۴، اسم خودش رو گذاشت اکما اینترنشنال Ecma International و فعالیتش رو جهانی کرد.

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


البته شروع این حرکت، توسط نت اسکیپ اتفاق افتاد. این شرکت در سال ۱۹۹۶، یه نسخه از جاوااسکریپت رو برای سازمان اکما فرستاد و تقاضای ثبت و استاندارسازی اون رو مطرح کرد و سرانجام، یه سند (document) رسمی و استانداردسازی شده توسط اکما با اسم اکما اسکریپت ECMAScript درسال ۱۹۹۷ منتشر شد.
(نتیجه اخلاقی: اصطلاح اکمااسکریپت، همون جاوااسکریپته که توسط سازمان اکما، استانداردسازی شده، تامام!)

نسخه های دیگر

جاوا اسکریپت چیست؟ تاریخچه جاوااسکریپتنسخه های مختلفی از جاوااسکریپت منتشر شده و از بین همه اونها، ECMAScript 3 بیشترین طول عمر رو داشته و از سال ۲۰۰۰ تا ۲۰۱۰ مورد استفاده بوده.
در طول این مدت، توسعه دهنده ها داشتن روی نسخه ۴ کار میکردن که آپدیت جاه طلبانه ای محسوب میشد و به دنبال تغییرات زیادی توی این زبان بود، اما از اونجا تغییر یه زبان برنامه نویسی پرکاربرد به این سرعت، کار خیلی خیلی سختی بود، این پروژه توی سال ۲۰۰۸ کلا لغو شد، اما مقدمه ای بود برای انتشار نسخه ۵، که در سال ۲۰۰۹ منتشر شد و تغییرات ملایم تری داشت (برخلاف نسخه ۴ که میخواست یه جورایی جاوااسکریپت رو بکوبه و از نو بسازه!)

نسخه ۵ سالها مورد استفاده بود، تا اینکه در سال ۲۰۱۵، نسخه ECMAScript 6 یا همون ES6 معروف متولد شد و خیلی از ایده هایی که برای نسخه ۴ درنظر گرفته شده بود، توی این نسخه وجود داشت.

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

اینجا، اونجا، همه جا!

جاوااسکریپت، در سال ۲۰۱۹ تبدیل به محبوب ترین زبان برنامه نویسی در گیت هاب و استک اور فلو شد. یکی از دلایل این محبوبیت، کاربرد بسیار زیادیه که توی جاهای مختلف داره و الان دیگه یه زبان برنامه نویسی مختص فرانت اند نیست. اگه به جاوااسکریپت مسلط باشید، میتونید حتی برای اندروید و iOS برنامه بنویسید (با استفاده از ری اکت نیتیو React Native)

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

علاوه بر این، با توسعه نود جی اس (Node JS) امکان اجرای جاوااسکریپت خارج از فضای مرورگر هم وجود داره. با استفاده از نود جی اس، میشه برنامه نویسی سمت سرور رو انجام داد (با استفاده از موتور V8 گوگل) و شرکت های بزرگی مثل والمارت Walmart، پی پال PayPal و ای بی eBay ، دارن از این تکنولوژی استفاده میکنن.

به این ترتیب، در مسیر تبدیل شدن به یه برنامه نویس وب، میتونید با یاد گرفتن جاوااسکریپت، هم متخصص بک اند بشید و هم فرانت اند و در نهایت، به جایگاه یک توسعه دهنده فول استک Full Stack Developer دست پیدا کنید.
الان، بهترین زمان برای یادگرفتن جاوا اسکریپته!

مطالب مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

فهرست