جاوا اسکریپت به عنوان زبانی که هدف آن مدیریت اعتبارسنجی مرورگر است، برای تبدیل شدن به یک زبان برنامه نویسی تمام عیار سفر طولانی را طی کرده که بسیاری از برنامههای دسکتاپ را نیز تامین میکند.
درک جاوا اسکریپت برای کار با پیچیدهترین قسمتهای این زبان بسیار مهم است. بیایید همه چیز را از ابتدا بررسی کنیم.ما در این مطلب به بررسی تاریخچه جاوا اسکریپت و پیدایش آن می پردازیم.
چرا به زبانی مانند جاوا اسکریپت نیاز بود؟
سالها پیش، در سال 1995، یک مرورگر به نام Netscape Navigator وجود داشت. اتصال به اینترنت بسیار کند بود، زیرا افراد از اتصالات dial-up با استفاده از خطوط تلفن و مودم استفاده میكردند. بنابراین وقتی میخواستید یک فرم را در یک وبسایت پر کنید که معمولا با زبانی مانند Perl کد نویسی میشد، اعتبار بخشیدن به فیلدهای ورودی در هر فرم نیاز به یک ارتباط طولانی و زمان بر به سرور داشت.
این نه تنها یک فرایند آزاردهنده بود (به خاطر کند بودن سرعت اینترنت) بلکه در صورت پر نشدن صحیح فرم و خطا در ارتباط با سرور، کل اطلاعات نیز از دست میرفت. Netscape Navigator با یافتن راهی برای تأیید صحت فیلدهای ورودی در سمت کلاینت، سعی در حل این مشکل داشت تا صرفا جهت تأیید فیلدهای ورودی، این اطلاعات را در سرور ذخیره کند. جاوا اسکریپت اینگونه متولد شد و فقط به عنوان یک زبان برنامه نویسی برای تأیید فرمها در سمت کلاینت به کار میرفت.
چرا دانستن تاریخچه جاوا اسکریپت مهم است؟
جاوا اسکریپت به عنوان یک زبان اسکریپت نویسی برای تأیید اعتبار ورودی در فرمها متولد شده است و سفر خود را برای تبدیل شدن به یک زبان برنامه نویسی تمام عیار طی کرده که میتواند در ساخت برنامههای تلفن همراه، برنامههای وب و حتی برنامههای دسکتاپ مورد استفاده قرار گیرد. با توجه به نحوه تکامل آن، میتوان گفت نوعی زبان برنامه نویسی است که شروع به یادگیری و کار با آن ممکن است چند ساعت زمان ببرد اما تسلط بر آن سالها به طول میانجامد.
بنابراین هنگامی که شروع به یادگیری جاوا اسکریپت میکنید، دانستن تاریخچه جاوا اسکریپت به شما کمک میکند تا ماهیت، نقاط قوت و محدودیتهای آن را بهتر درک کنید. دانستن اینکه چرا بعضی از مشکلات موروثی وجود دارد و چرا بعضی از چیزها به طریق خاصی رفتار میکنند؛ هنگامی که بدانید جاوا اسکریپت چگونه به عنوان یک زبان تکامل یافته است، یادگیری و کار با آن را آسانتر میکند.
تولد جاوا اسکریپت، شروع یک نبرد
Brendan Eich (توسعه دهنده آن زمان در Netscape Navigator) وظیفه توسعه این زبان اسکریپت نویسی جدید را که بعدا Mocha نام گذاری شد، بر عهده داشت. این قرار بود به عنوان بخشی از Netscape Navigator 2 منتشر شود.
بعدها قبل از انتشار Netscape Navigator 2 ، Mocha به LiveScript تغییر نام داد و سپس Netscape Communications با Sun Microsystems وارد اتحاد شد که در آن زمان برای توسعه جاوا بسیار سخت تلاش میکرد.
درست قبل از انتشار، کششی که جاوا از مطبوعات میگرفت و جاوا اسکریپت را به عنوان یک گسترش طبیعی از جاوا معرفی میکرد، منجر به تغییر نام LiveScript به JavaScript شد.
از آنجا که جاوا برای مدیریت کارهای سمت سرور بسیار پیچیده بود، LiveScript به عنوان یک افزونهی جاوا برای مدیریت وظایف سمت کلاینت شناخته میشد و قرار شد این یک همراه برای جاوا باشد تا به کارهای سنگین سمت سرور رسیدگی کند و اعتبارسنجی سمت کلاینت را آسان کند.
LiveScript بسیاری از سینتکسهای جاوا و ماهیتهای آن را به ارث برده است. Sun Microsystems به Netscape Navigator 2 کمک کرد تا LiveScript را تکمیل و منتشر کند.
ناسازگاری مرورگرها
جاوا اسکریپت 1.0 بسیار موفقیت آمیز بود و آن زمان پذیرش اینترنت به شدت در حال افزایش بود. تا حدی که جاوا اسکریپت 1.1 به همراه Netscape Navigator 3 منتشر شد. اکنون Netscape Navigator خود را به عنوان مرورگر پیشرو در بازار تثبیت کرده است. در این برهه از زمان، مایکروسافت تصمیم گرفت منابع بیشتری را در توسعه مرورگر خود به نام Internet Explorer 3 تزریق کند.
بلافاصله پس از راهاندازی Netscape Navigator 3، مایکروسافت نسخه جدیدی از مرورگر وب خود را با نام Internet Explorer 3 منتشر کرد که از جاوا اسکریپت پشتیبانی میکرد. برای جلوگیری از هرگونه مشکل صدور مجوز در ارتباطات Netscape، مایکروسافت نام پیاده سازی جدید Javascript خود را به JScript تغییر داد.
این تصویب و اجرای تهاجمی JavaScript توسط مایکروسافت قرار بود جهشی بزرگ برای جاوا اسکریپت باشد. بنابراین تاکنون دو نسخه مختلف از جاوا اسکریپت وجود دارد که همه جا پخش شدهاندو هیچ استانداردی در کار نیست.
این آغاز ناسازگاری مرورگرها بود که حتی امروز نیز شاهد آن هستیم. بر خلاف تمام زبانهای برنامه نویسی دیگر مانندC ، C ++، Java و موارد دیگر، جاوا اسکریپت هیچ استاندارد اساسی ندارد.
ارائه به ECMA برای استاندارد سازی
از آنجا که جاوا اسکریپت هیچ استانداردی ندارد و ترس صنعت بر آن زیاد است، جاوا اسکریپت 1.1 برای استاندارد سازی در سال 1997 به انجمن تولیدکنندگان رایانه اروپا (ECMA) ارسال شد. یک کمیته فنی با هدف استانداردسازی سینتکس و قواعد کلی آن ایجاد شد.
این کمیته متشکل از توسعه دهندگانSun Microsystems ،Netscape Communication ، Microsft و شرکتهای مختلف دیگر بود. آنها ECMA-262 را ارائه دادند که استانداردی است برای تعریف یک زبان برنامه نویسی جدید و یک زبان برنامه نویسی برای اهداف عمومی به نام ECMAScript که همه مرورگرها برای ایجاد پیاده سازیهای خود از جاوا اسکریپت به آن ملزم بودند.
مرورگرهای مختلف سعی کردهاند با موفقیت در سطوح مختلف از ECMAScript به عنوان استانداردی برای اجرای جاوا اسکریپت استفاده کنند. در کل مسیر پذیرش این استاندارد، داستانهای موفقیت و همچنین عدم موفقیت زیادی وجود داشته است.
آیا JavaScript و ECMAScript یکی هستند؟
جواب منفی است. اگرچه شما اغلب میشنوید که توسعه دهندگان از آنها به طور مترادف استفاده میکنند، اما بسیار متفاوت از یکدیگر هستند. ECMAScript یک زبان برنامه نویسی بر اساس استانداردهای تعریف شده در ECMA-262 است و به مرورگرهای وب مرتبط نیست.
این مبتنی بر ECMAScript است که یک زبان برنامه نویسی قویتر مانند JavaScript ساخته شده است.
پیاده سازیهای جاوا اسکریپت
پیاده سازی جاوا اسکریپت از ECMAScript دارای سه قسمت است که در مجموع به عنوان جاوا اسکریپت نامیده میشوند.
- Core - این براساس ECMAScript است. بنابراین ECMAScript سینتکس، انواع دادهها، دستورات، عملگرها و ... را تعریف میکند.
- Document Object Model (DOM) - این همان چیزی است که مرورگر به عنوان سلسله مراتبی از گرهها ارائه میدهد تا برای کلاینت یا کاربر نمایش داده شود.
- Browser Object Model (BOM) - این همان چیزی است که به توسعه دهندگان اجازه میدهد تا پنجره مرورگر را دستکاری کنند. با استفاده از BOM، توسعه دهندگان میتوانند به ویژگیهای مرورگر دسترسی پیدا کرده و آنها را خارج از محتوای DOM یا صفحه ارائه شده دستکاری کنند.
سخن پایانی
یادگیری این سه پیاده سازی مجزا از جاوا اسکریپت و تاریخچه جاوا اسکریپت برای درک چگونگی تأثیر آن بر زبان در طی یک دوره زمانی بسیار مهم است. در این آموزش، در مورد ES6 که ششمین نسخه ECMA-262 است که در سال 2015 منتشر شده، صحبت کردهایم و نشان دادهایم که مهمترین پیشرفت جاوا اسکریپت است.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید