جاوااسکریپت یکی از ستونهای دنیای وب است که تمام توسعه دهندگان و مهندسین نرم افزار با آن سر و کار دارند. البته جاوااسکریپت اصلا تازه نیست، بیش از ۲۰-۳۰ سال است که از جاوااسکریپت استفاده میشود و در این مدت تغییرات بسیار زیادی کرده است.
من در این مطلب قصد دارم شما را با اکوسیستم جاوااسکریپت در طی این سالها آشنا بکنم. ابتدا شما را با تاریخچه کلی آن آشنا خواهم کرد و سپس در ارتباط با استانداردهای مختلف آن صحبت میکنیم. در نهایت نیز میخواهیم نگاهی به تکنولوژیهای مدرنی که مبتنی بر جاوااسکریپت است بیاندازیم.
زبان جاوااسکریپت
زبان برنامهنویسی جاوااسکریپت در سال ۱۹۹۵ توسط Berndan Eich ساخته شد. ۱۹۹۵ زمانی است که به نام جنگ مرورگرها معروف است. و پرچمداران این دوره نیز نِت اسکیپ و اینترنت اکسپلورر بودند. در واقع تلاش هر دوی این مرورگرها این بود که تا جای ممکن بتوانند ویژگیهای جدیدی را به خود اضافه بکنند. در واقع هیچ زمانی برای از دست دادن وجود نداشت.
آقای Berndan Eich یک تکنولوژیست آمریکایی بود که در شرکت نت اسکیپ کار میکرد و مجبور بود که یک زبان برنامهنویسی را خلق کند تا به توسعه دهندگان اجازه میداد تا برخی از ویژگیهای برنامهنویسی را در محیط وب پیادهسازی کنند. این کار باعث میشود که محیط وب تعاملی و پویا شود. محصول نهایی میبایست منعطف، همراه با قابلیت یادگیری آسان و پیادهسازی راحت باشد.
آقای Eich اولین نسخه از جاوااسکریپت را در ۱۰ روز توسعه داد و آن را منتشر کرد. این زبان براساس سی ساخته شده بود. در این لینک میتوانید صحبتهای آقای Eich در توییتر را مبنی بر درستی این حرف مشاهده کنید.
زبان برنامهنویسی جاوااسکریپت در ابتدا تحت عنوان Mocha عرضه شد و در نهایت زمانی که نسخه رسمی آن از طرف نت اسکیپ ارائه شد به جاوااسکریپت تغییر نام پیدا کرد. این کار باعث میشد که توجه عمومی بسیار زیادی به نت اسکیپ جلب شود زیرا زبانی را ارائه میکرد که میتوانست به اندازه جاوا محبوب شود.
بعد از موفقیت جاوااسکریپت، مایکروسافت سعی داشت تا با استفاده از مهندسی معکوس اکوسیستم جاوااسکریپت مربوط به نت اسکیپ، نسخه منحصر به فرد خود را ارائه دهد. مایکروسافت بعد از این کار Jscript را منتشر ساخت.
در همین اوایل کار نت اسکیپ متوجه شد که نسخههای مختلفی از جاوااسکریپت در حال شکل گرفتن است و این موضوع چندان خوشایند نیست زیرا زبانهای مختلف استانداردهای لازم را برای توسعه دهنده فراهم نمیکنند. به همین دلیل نت اسکیپ تصمیم گرفت که جاوااسکریپت را توسط Ecma International Standards Organization در سال ۱۹۹۷ استانداردسازی بکند.
نتیجه این کار نسخه استانداردسازی شدهای از جاوااسکریپت بود که تحت عنوان ECMAScript ارائه شد. این نسخه تا حد بسیار زیادی توانست تاییدیه عمومی را کسب بکند. فارغ از آنکه Ecmascript نام اولین نسخه بود اما در نهایت به صورت عملی همواره جاوااسکریپت نام اصلی این زبان باقی ماند.
سیر تکاملی استاندارد اکمااسکریپت
پس از Ecmascript، استانداردسازیهای بسیار بیشتری روی جاوااسکریپت اعمال شد و این روند به همین صورت در حال پیشرفت بود. بنابراین نسخههای مختلفی از این استانداردسازی را با شمارهگذاری ارائه کردند.
Ecmascript 1
اولین نسخه از زبان استاندارد شده جاوااسکریپت.
Ecmascript 2
این نسخه در سال ۱۹۹۸ ارائه شد. این دقیقا زمانی است که جاوااسکریپت توسط استاندارد ISO/IEC نیز استانداردسازی شد. ممکن است گاهی اوقات این نسخه را نیز تحت عنوان ISO/IEC مشاهده کنید.
Ecmascript 3
در ۱۹۹۹ ویژگیهای جدیدتری از زبان برنامهنویسی جاوااسکریپت ارائه شد که در بین آنها میتوان به موارد زیر اشاره کرد:
- Regular expression literals;
- New control statements;
- Exception handling.
Ecmascript 4
اکمااسکریپت نسخه ۴ در ۲۰۰۸ توسعه داده شد. اما از آنجایی که فکر میکردند ویژگیهای بسیار زیادی برای معرفی شدن دارد و همچنین ممکن است مشکلات بسیار زیادی به وجود بیاید آن را کمی به تعویق انداختند و همچنین نسخهای میانی از آن را ارائه دادند. استانداردی که معلق مانده بود.
Ecmascript 5
این نسخه در سال ۲۰۰۹ توسعه داده شد و هدف آن نیز روشن کردن تکلیف اکمااسکریپت ۴ و ویژگیهای آن بود. اکمااسکریپت ۵ تا سال ۲۰۱۶ به صورت کامل توسط مرورگرها پشتیبانی نمیشد. با این حال ویژگیهای بسیار جدید و عالی را برای برنامهنویسان با خود به همراه داشت:
- High-order iteration functions (map, reduce, filter, forEach);
- JSON support;
- Getters and setters;
- Better reflection and object properties;
EcmaScript 5.1
درست مانند اکمااسکریپت نسخه دو، این نسخه نیز برای آن ارائه شد که اکمااسکریپت نسخه ۵ توسط استاندارد ISO/IEC نیز استانداردسازی شده بود.
Ecmascript 6
اکمااسکریپت نسخه ۶ را میتوان یک نسخه غافلگیرکننده دانست به این دلیل که ویژگیهای کاربردی بسیار زیادی را در سال ۲۰۱۵ به جاوااسکریپت اضافه کرد. این ویژگیها عبارت هستند از موارد زیر:
- Promises.
- Modules;
- Classes;
- Block-scoped variable declarations (let);
- Arrow functions;
- Template literal;
- Spread operator;
- De-structuring assignment;
- Parameter default values;
- Rest parameters;
- Symbols;
- Generator functions.
اکمااسکریپت ۲۰۱۶ (اکمااسکریپت ۷)
این نسخه از جاوااسکریپت تنها چند تغییر ساده را به زبان اضافه کرد. در این نسخه عملگرهای انعطافپذیری پیادهسازی شده است، همچنین متد Array.includes نیز به زبان اضافه شده است.
پشتیبانی مرورگرها از این نسخه به صورت کامل صورت نمیگیرد. به همین دلیل باید از یک transpiler استفاده کنید.
اکمااسکریپت ۲۰۱۷ (اکمااسکریپت ۸)
در این نسخه نیز تغییرات چندانی را نمیتوانیم شاهد باشیم. تنها تغییر به خصوصی که میشود در این نسخه دید پشتیبانی بیشتر از توابع async است.
در مطلب بعدی از سری اکوسیستم جاوااسکریپت، قصد داریم تا اکوسیستم فریمورکهای جاوااسکریپتی را معرفی کنیم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید