معرفی فریم ورک Node.js
Node.js چیست؟
Node.js یک پلتفرم سمت سرور است که بر روی موتور جاوا اسکریپت (V8) ساخته شد است. فریم ورک Node.js در سال 2009 توسط Ryan Dahi توسعه یافت و آخرین نسخه ای که از آن منتشر شده است، نسخه v0.10.36 است. برنامه های Node.js با استفاده از زبان برنامه نویسی جاوا اسکریپت نوشته می شوند و می توان آن ها در سیستم عامل ویندوز، لینوکس و OS X اجرا کرد. همچنین Node.js یک کتابخانه غنی از ماژول ها مختلف جاوا اسکریپت را فراهم کرده است که کار توسعه برنامه های وب را بسیار ساده می کند.
1 | Node.js = Runtime Environment + JavaScript Library |
ویژگی های Node.js
در زیر برخی از ویژگی های مهمی که Node.js را به اولین انتخاب معماران نرم افزاری تبدیل کرده است را مشاهده می کنید:
- غیرهم زمان (Asynchronous) و مبتنی بر رویداد : تمام API های موجود در کتابخانه js به صورت Asynchronous هستند، یعنی عملیات های مختلف بدون بلاک کردن Thread انجام می شوند. به عبارت دیگر، یک سرور مبتنی بر Node.js هرگز برای بازگشت داده ها، منتظر API نمی ماند. سرور بعد از فراخوانی آن، API بعدی را فراخوانی می کند و از یک مکانیزم اعلان رویداد برای اطلاع از پاسخ های دریافتی از API ها استفاده می کند.
- بسیار سریع : از آن جایی که بر روی موتور جاوا اسکریپت V8 ساخته شده است، در اجرای کد بسیار سریع است.
- تک تخ (Single Threaded) اما بسیار مقیاس پذیر : js از یک مدل single threaded با حلقه ای از رویدادها استفاده می کند. این مکانیزم به سرور کمک می کند که با بدون مسدود سازی نخ اصلی به درخواست ها پاسخ دهد و سرور را در مقایسه با سرورهای سنتی که نخ های محدودی را برای رسیدگی به درخواست ایجاد می کنند بسیار مقیاس پذیر می کند.
- بدون Buffer : برنامه های js هیچ داده ای را بافر نمی کنند. این برنامه ها به سادگی داده ها را درون chunk ها ذخیره می کنند می دهد.
- مجوز (License) : js تحت مجوز MIT منتشر می شود.
چه کسانی از Node.js استفاده می کند؟
در زیر لیستی از پروژه ها، برنامه ها و شرکت هایی که از تکنولوژی Node.js استفاده می کنند را مشاهده کنید. این لیست شامل برند های بزرگی همچون eBay، General Electric، GoDaddy، Microsoft، PayPal، Uber، Wikipins، Yahoo و Yammer و غیره می باشد.
مفاهیم
نمودار زیر بخش هایی مهم از Node.js را نشان می دهد که در بخش های بعدی به طور مفصل به آن ها خواهیم پرداخت.
کجا باید از Node.js استفاده کنیم؟
تکنولوژی Node.js برای ساخت برنامه های زیر بسیار مناسب می باشد:
- I/O bound Applications
- Data Streaming Applications
- Data Intensive Real-time Applications (DIRT)
- JSON APIs based Applications
- Single Page Applications
کجا نباید از Node.js استفاده کنیم؟
استفاده از Node.js برای ایجاد برنامه های پردازنده قوی و فشرده توصیه نمی شود.
هیچ نظری ثبت نشده است