Node.js به عنوان یک زبان برنامهنویسی با ساختار جاوا اسکریپت مبتنی بر رویداد ناهمزمان، برای ساخت برنامههای شبکه مقیاسپذیر طراحی شده است.
Node.js، محیط اجرای جاوا اسکریپت سمت سرور شناخته میشود. بر روی موتور جاوا اسکریپت Google Chrome V۸ ساخته شده است و عمدتاً برای ایجاد سرورهای وب استفاده میشود - اما فقط به این محدود نمیشود.
Node.js یک محیط اجرای جاوا اسکریپت منبع باز و کراس پلتفرم است. این یک ابزار محبوب تقریبا برای هر نوع پروژهای است!
یک برنامه Node.js در یک فرآیند واحد اجرا میشود، بدون ایجاد یک رشته جدید برای هر درخواست، مجموعهای از ورودی/خروجیهای ابتدایی ناهمزمان را در کتابخانه استاندارد خود ارائه میدهد که از مسدود شدن کد جاوا اسکریپت جلوگیری میکند و به طور کلی، کتابخانهها در Node.js با استفاده از نمونههای غیرمسدودکننده نوشته میشوند.
هنگامی که Node.js یک عملیات I/O را انجام میدهد، مانند خواندن از شبکه، دسترسی به پایگاه داده یا سیستم فایل، به جای مسدود کردن thread و هدر دادن چرخههای CPU در انتظار، با بازگشت پاسخ، عملیات را از سر میگیرد.
این به Node.js اجازه میدهد تا هزاران اتصال همزمان را با یک سرور بدون وارد کردن بار مدیریت همزمانی رشتهها، که میتواند منبع مهمی از اشکال باشد، مدیریت کند.