درباره Node.Js
Node.Js در سال ۲۰۰۹ ارائه شده است. و یک محیط برای توسعهی زبان جاوا اسکریپت میباشد. نود جی اس یک زبان Back-End محسوب میشود، که شرکتهایی مانند IBM و مایکروسافت و Google و Github و Medium و … آن استفاده میکنند.
Node.Js یک پلتفرم است نه یک کتابخانه و نه یک فریم ورک جدید مربوط به زبانهای برنامهنویسی که تازه کشف شده باشد. این پلتفرم قابلیت اجرای کدهای جاوا اسکریپتی را روی سرور به ما میدهد. که روی موتور اجرای کد جاوا اسکریپت مرورگر کروم تحت عنوان V8 ساخته شده. در واقع Node.Js، جاوا اسکریپتی است که سمت سرور اجرا خواهد شد.
با وجود این قابلیت برنامه نویس میتواند، علاوه بر طراحی سایت برای توسعهی اپلیکیشنهای دیگر از جاوااسکریپت استفاده کند.
این پلتفرم یک محیط Run Time Environment است. و با استفاده از I/O کار میکند، که یک گزینهی خوب برای اپلیکیشنهای Real Time میباشد.
Real Time چیست؟
به اپلیکیشنهایی که سرعت بالایی در تبادل اطلاعات دارند Real Time گفته میشود، مانند شبکههای مجازی تلگرام و اینستاگرام که نمونهی خوبی برای این مورد هستند. از آنجایی که Node.Js قابلیت مدیریت میزان بالایی از در خواستها را به صورت همزمان دارد، وب سایت ها و اپلیکیشنهایی که Real Time بودن نرم افزار برای آنها اهمیت بالایی دارد از این پلتفرم استفاده میکنند.
پکیج منیجر
Node.Js برای نصب و آپدیت پکیجها از Package Manager قدرتمند NPM استفاده میکند. درحال حاظر اکثر فریمورک ها و پلتفرم ها در حال استفاده از NPM برای انتشار و بروزرسانی کدهای خود هستند.
چرا باید Node.Js را یاد بگیریم؟
-
سرعت بالای Node.js
-
نوشتن برنامههای RealTime با پرفرمنس بالا
-
یکسان بودن دو طرف در برنامههای Real-Time ( کلاینت و سرور )
-
استریم کردن خوب داده ها در Node.js
-
اشنایی اکثر برنامه نویسها با جاوا اسکریپت
مزایا Node.Js
-
زمانی که Process سرور افزایش پیدا میکند، Node.Js همهی این سنگینی را به دوش میکشد و در برابر حملهی DDOS بسیار مقاوم است.
-
قابلیت اجرای چندین Task به صورت همزمان.
-
همه درخواست ها در رشتهی اصلی (Main Thread) و کدهای مربوط به I/O در رشتههای دیگر پردازش میشوند.
-
متن باز بودن پلتفرم (Open Source)
معایب Node.Js
-
در اکثر هاستهای اشتراکی قابلیت استفاده از Node.Js وجود ندارد
-
قدرت پایین در اپلیکیشنهای CPU محور به دلیل تک رشتهای بودن پلتفرم
برترین پکیجها
Express.js
Express.js یا به عبارت ساده Express یک فریم ورک برای برنامههای وب است، که تحت لایسنس MIT به صورت نرم افزار رایگان و open source منتشر می شود و برای ساختن برنامههای وب و API ها طراحی شده است. این فریم ورک استاندارد غیر رسمی برای Node.js نامیده میشود.
Socket.io
Socket.IO یک کتابخانه است، که امکان برقراری ارتباط در Real Time، دو طرفه و رویدادهای بین مرورگر و سرور را فراهم می کند.
Path
ماژول Path برای کار با مسیرهای پرونده و فهرست ضروری است. شما می توانید با استفاده از توابع، دستکاری در مسیر را به راحتی انجام دهید.