ند.جی‌اس (Node.js)

ند.جی‌اس (Node.js)

ند.جی‌اس (Node.js) یک محیط اجرای برنامه‌‌ و یک وب سرور چند‌سکوئی (cross-platform) با متن باز (open-source) است . محیط Node.js به‌منظور اجرای اپلیکیشن‌ های ایجاد شده توسط زبان برنامه‌نویسی جاوااسکرپپت (JavaScript) و یا دیگر زبان‌های برنامه‌نویسی که به ‌‌ جاوااسکرپپت ترجمه می‌گردند - مانند زبان برنامه‌نویسی کافی‌اسکریپت (CoffeeScript) و مایکروسافت تایپ‌اسکریپت (Microsoft TypeScript) - مورد استفاده قرار می‌گیرد.

نسخه‌ی اول این نرم‌افزار در سال ۲۰۰۹ توسط رایان دال و تحت لیسانس MIT منتشر گردید و از آن‌زمان تاکنون تحت پشتیانی و توسعه مداوم بوده است.

ویژگی‌ها:

ند دارای ساختاری مازولار-محور بوده و بیشتر منبع آن متشکل از مازول‌‌هایی‌ست که توسط زبان برنامه نویسی JavaScript ایجاد گردیده‌اند. ند به‌منظور ایجاد مازول‌ها، از متد ماژول‌نویسی کامِن‌جی‌اس (CommonJS) استفاده می‌نماید. منبع ند دارای ماژول‌های فراوانی است که استفاده ار آن به‌عنوان یک وب سرور قدرتمند با قابلیت ایجاد شبکه (شبکه‌های مبتنی بر پرتکل‌های HTTP , TCP، UDP، DNS و TLS/SSL) ، تعامل با فایل دیسک و رمزگذاری را ممکن می‌سازد.

Node.js جهت عملکرد از موتور V8 مرورگر گوگل کروم (Google Chrome) و کرومیوم (Chromium) - که به‌منطور تفسیر و اجرای کد‌های جاوااسکریپت در این مرورگرها استفاده می‌گردد - بهره می‌گیرد. با توجه به‌این که موتور V8 در تفسیر کدهای جاوااسکریپت بسیار سریع عمل می‌کند و موتوری بهینه‌سازی شده محسوب می‌شود، اپلیکیشن‌های ایجاد شده توسط Node.js از سرعت بالایی برخوردار می‌باشند.

ازلحاظ برنامه‌نویسی، Node.js امکان بهره‌مندی از ساختاری رویدادگرا (Event-driven Arcitecture) و یک واسط برنامه نویسی ورودی/خروجی غیر-انسدادی (Non-blocking Input/Output API) را فراهم می‌آورد. این ویژگی‌ها ند را به ابزاری مناسب برای طراحی وب سایت و توسعه اپلیکیشن هایی که نیازمند به‌روزرسانی مداوم اطلاعات و داده‌ها می‌باشند - مانند اپلیکیشن‌های گفتگو و اپلیکیشن‌های آماری - تبدیل نموده است.

موارد کاربرد ‌ Node.js:

Node.js عمدتا به‌منظور طراحی، ساخت و توسعه ‌وب سایت ها و اپلیکیشن‌های تحت وب مورد استفاده قرار می‌گیرد. با‌این‌حال، ند به دلیل قابلیت‌های گسترده دارای موارد کاربرد فراوان دیگری نیز می‌باشد. در لیست برخی موارد استفاده از ‌ Node.js آمده است: