نود جی اس (node JS) یک محیط اجرایی ران تایم (نسخه ران تایم 8) برای زبان جاوا اسکریپت می باشد. شرکت های مهمی همانند IBM, مایکروسافت, لینکدین, پی پل, نت فلیکس, یاهو و سیسکو از این محیط برای توسعه استفاده میکنند. این محیط بر اساس بر اساس پایه موتور جاوا اسکریپت مرورگر گوگل کروم برای سمت سرور کد نویسی شده است. این پلترفم در سال 2009 توسط رایان داهل نوشته شده و در زمان نوشتن این مقاله آخرین نسخه ی این پلتفرم نسخه ی 15.3.0 می باشد. میزبانی و هاست این پلتفرم قابلیت پیاده سازی بر روی سیستم عامل های ویندوز, لینوکس و سیستم عامل کامپیوتر های اپل را دارد.
توسعه دهندگان نود جی اس, زبان جاوا اسکریپت را از یک زبان قابل اجرا در مرورگر خارج کرده و به زبانی تبدیل کردن که بتوان آن را بصورت یه اپلیکیشن مستفل اجرا کرد و تقریبا هر برنامه ای را می توان با آن طراحی کرد. این پلتفرم با استفاده از موتور ران تایم نسخه 8, کد های آن را به کد های سریعتر ماشین تبدیل میکند که سرعت اجرای آن بالاتر می رود (کد های ماشین, کدهای سطح پایین هستند و سیستم بدون تفسیر قادر به اجرای آنها هستند).
این پلتفرم از مدل “رویداد محور” (event driven), “مسدود نکننده ی ورودی / خروجی” (non blocking I/O) (از خواندن, نوشتن تا ارسال درخواست HTTP به API) استفاده میکند که باعث میشود یک زبان کارآمد و سریع باشد. اکوسیستم نود جی اس یا npm یکی از بزرگترین اکوسیستم های اپن سورس جهان می باشد.
ورودی خروجی داده ها زمان بر هستند و باعث مسدود سازی دیگر عملیات ها می شود.
نود جی اس یک پلتفرم می باشد و فرم ورک های زیادی دارد.
این پلتفرم کتابخانه ای عظیم از ماژول های مختلف جاوا اسکریپت را فراهم میکند که توسعه و طراحی وب اپلیکیشن ها را تا جای ممکنه آسان و راحت میکند.
امکانات نود جی اس
- رویداد محور و غیر همزمانی : تمامی API های درون این پلتفرم غیر همزمان می باشند, در این فرم ورک هنگام اجرا, هرگز منتظر پاسخ API ها نمیماند و به بعد از فراخوانی یک API به سراغ API بعدی می رود, و برای اطلاع از وضعیت API قبلی از مکانیزم ثبت event استفاده میشود.
- سرعت بالا : به دلیل اینکه نود جی اس از موتور ران تایم ورژن 8 استفاده میکند سرعت بیشتر دارد.
- تک موضوعی با مقیاس بالا : نود جی اس از یک مدل تک موضوعی به همراه حلقه های رویدادها استفاده میکند. مکانیزم رویداد باعث میشود که سرور به صورت مسدود نشونده پاسخ ها را ارسال کند, و به همین دلیل بر خلاف مکانیزم های سنتی که سرور را محدود به چند درخواست برای پردازش درخواست ها میکرد سرور بسیار مقیاس پذیر است.
- نود جی اس از یک برنامه ی تک موضوعی استفاده میکند و همان برنامه می تواند سرویسی برای تعداد بسیار بیشتری از درخواست ها نسبت به مکانیزم های قدیمی سرور مثل HTTP سرور آپاچی فراهم کند.
- عدم وجود بافرینگ : این پلتفرم هیچ داده ای را بافر نمیکند و داده ها خروجی را به صورت تکه تکه منتشر میکند.