آینده جاوا اسکریپت
این روزها برای جاوا اسکریپت بسیار هیجان انگیز است. چرا که جاوا اسکرپیت در حال استفاده شدن در انواع محیطها و کاربردها است و دیگر محدود به مرورگرها نیست. رشد چشمگیری در استفاده از نرمافزارهای تک صفحهای (SPA) به وجود آمده که جاوا اسکریپت قلب تپندهی این نوع نرمافزارها را تشکیل میدهد. نسل بعدی این نرمافزارها PWA ها (Progressive Web Apps) هستند که در دستگاههای موبایل اجرا میشوند و رفتاری شبیه به نرمافزارهای بومی (Native) دستگاه را دارند. همچنین بازیهای مبتنی بر HTML5 نیز رشد چشمگیری داشتهاند که نقش اساسی در این نوع بازیها را نیز جاوا اسکریپت بازی میکند.
جاوا اسکریپت و تکنولوژیهای مرتبط با HTML5 میتوانند در تولید انواع نرمافزارها، مانند افزونههای مرورگرهای وب (Browser Extension)، ابزارکهای رومیزی ویندوز (Windows Desktop Widgets)، نرمافزارهای سیستم عامل Chrome OS و ... به کار برده شوند. همچنین جاوا اسکریپت میتواند در بسیاری از نرمافزارهای غیر مرتبط با وب نیز به کار برده شود. به عنوان مثال میتوان به اسکرپیت نویسی در یک فایل PDF، ارتباط با پایگاه داده، اینترنت اشیاء، هوش مصنوعی و ... اشاره کرد. همهی این شواهد نشاندهندهی آیندهای روشن برای جاوا اسکریپت است.
Node.js
در سال ۲۰۰۹ رایان دال (Ryan Dahl) Node.js را توسعه داد (که عموماً با نام Node شناخته میشود)، که امکان برنامهنویسی سمت سرور را با جاوا اسکریپت فراهم میکند. Node مبتنی بر مفسر Chrome V8 گوگل است و امکان ایجاد برنامههای قدرتمند بیدرنگ (Real-time) وب را صرفاً با استفاده از جاوا اسکریپت فراهم میکند. همچنین کتابخانهها و نرمافزارهای زیادی را در اختیار شما قرار میدهد که کاملاً خارج از محیط مرورگر اجرا میشوند. محبوبیت Node.js به شدت در سالهای اخیر افزایش یافته و باعث شده تا در بسیاری از محیطهای خارج از وب نیز جاوا اسکریپت کاربرد بیشتری پیدا کند.
محبوبیت Node موجب به وجود آمدن نوع جدیدی از توسعهی نرمافرار با جاوا اسکریپت شده است که با نام Isomorphic JavaScript شناخته میشود. منظور از Isomorphic JavaScript، نوشتن برنامههایی است که قابلیت اجرای یکسان در سمت کاربر (Client-side) و در سمت سرور (Server-side) را داشته باشند. در این روش، در صورتی که کد جاوا اسکریپت نتواند داخل مرورگر اجرا شود، میتواند در سرور اجرا شده و نتیجه را به مرورگر ارسال کند. و در صورتی که سرور در دسترس نباشد، میتوان همان کد را داخل مرورگر اجرا کرد. این روش کاربرد زیادی در پیادهسازی SPA ها یا Single Page Application ها دارد.