Node.jsیک محیط برنامه نویسی برای زبان جاوا اسکریپت میباشد. از node.js شرکت هایی مانند IBM و مایکروسافت استفاده میکنند. در این مقاله شرکت پلاتین به بررسی ویژگیهای Node.js و موارد استفاده از آن پرداخته است.
Node.js چیست؟
Node.js یک پلتفرم کدنویسی سمت سرور است که بر پایه موتور جاوا اسکریپت مرورگر گوگل کروم کدنویسی شده است. این پلتفرم توسط رایان داهل در سال ۲۰۰۹ ایجاد شده است و در حال حاضر آخرین نسخه آن ورژن ۰.۱۰.۳۶ میباشد.
بر اساس اعلان مستندات رسمی تعریف Node.Js به شکل زیر عنوان میشود:
Node.js یک پلتفرم ایجاد شده بر پایه موتور جاوا اسکریپت گوگل کروم است که باعث آسان شدن ایجاد و مقیاس پذیری برنامه های تحت شبکه میشود. این پلتفرم از یک مدل I/O رویداد محور استفاده میکند که (non-blocking) است و همین امر باعث می شود تا فشار موجود بر روی سرور کاهش و کارآیی یابد و این امر برای اجرای برنامههای مبتنی بر داده که بصورت بلادرنگ (Real-Time) بر روی سرورهای نامتمرکز استفاده میشوند بسیار مناسب است.
Node.js یک پلتفرم open source برای گسترش دادن برنامههای سمت سرور و تحت شبکه میباشد. این پلتفرم بر اساس زبان جاوا اسکریپت نوشته شده و می توان بر روی سیستمعاملهای ویندوز، لینوکس و سیستم عامل کامپیوترهای اپل پیاده سازی کرد.
این فریم ورک کتابخانهای عظیم از ماژولهای مختلف جاوا اسکریپت را فراهم کرده که سهولت در گسترش وب اپلیکیشن ها را تا حد زیادی فراهم می کند.
ویژگیهای Node.JS:
در زیر برخی از مهمترین ویژگیهای این پلتفرم را آورده ایم که باعث اولین انتخاب برنامه نویسها شده است:
غیرهمزمانی و رویداد محوری: همهی API های کتابخانه Node.js غیرهمزمان میباشند که همین امر باعث مسدودناپذیری آن میشود. این بدان معناست که Node.js در بستر سرور هیچگاه در انتظار بازگشت اطلاعات از API نمیماند. سرور پس از صدا زدن یک API به سمت API بعدی حرکت کرده و برای اطلاع از وضعیت API قبلی از مکانیزم ثبت رویداد استفاده میکند.
سرعت بالا: با توجه به این که نود جی اس بر پایه نسخه ۸ موتور جاوا اسکریپت گوگل کروم پیادهسازی شده است در اجرای کدها سرعت بالایی دارد.
تک موضوع اما بسیار مقیاس پذیر: نود جی اس از یک مدل تک موضوعی به همراه حلقه رویدادها استفاده میکند. مکانیزم رویداد باعث میشود که سرور به صورت مسدود نشونده پاسخها را ارسال کند و همین امر باعث میشود بر خلاف مکانیزمهای سنتی که سرور را محدود به چند درخواست برای پردازش درخواستها میکرد سرور بسیار مقایسپذیر شود.
نود جی اس از یک برنامه تک موضوعی استفاده میکند و همان برنامه میتواند سرویسی برای تعداد بسیار بیشتری از درخواست ها نسبت به مکانیزم های قدیمی سرور مثل HTTP سرور آپاچی فراهم کند.
عدم وجود بافرینگ: این پلتفرم هیچ دادهای را بافر نمیکند و دادههای خروجی را به صورت تکه تکه انتشار می دهد.
چه کسانی از Node.js استفاده میکنند؟
ازجمله پروژه ها، نرمافزارها و شرکتهایی که از Node.js استفاده میکنند ، میتوان eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo! و … را نام برد.
نمودار زیر مهمترین بخشهای Node.js را نشان داده است:
موارد استفاده از Node.js
برخی از موقعیتهایی که نود جی اس به عنوان یک پلتفرم کارا معرفی شده است:
– نرمافزارهای محدوده I/O (ورودی و خروجی)
– نرمافزارهای جریان دادهای (Data Streaing)
– دادههای نرمافزارهای بلادرنگ (Real-Time)
– برنامههای مبتنی بر JASON API
– برنامههای تک صفحهای
موارد منع استفاده از Node.js
استفاده از پلتفرم node.js در برنامههای متمرکز بر CPU توصیه نمیشود.
با پلاتین به روز باشید.