نود جی اس (NodeJS) و تمام چیزهایی که باید در موردش بدونیم

کمی درباره NodeJS

خیلی قبل از اینکه NodeJS معرفی بشه، تقریبا همه توسعه دهنده های وب از جاوااسکریپت به عنوان یک زبان اسکریپتی برای توسعه و پویاسازی صفحات وب ازش استفاده میکردند. خیلی هم محبوب بود و کتابخانه جی کوئری هم تونسته بود کار ما رو برای پیاده سازی صفحات وب راحت تر کنه. ولی شخصی به نام Ryan Dahl در سال 2009 نود جی اس رو معرفی کرد که بگه جاوااسکریپت قدرتمند تر از این حرفاست که فقط سمت کلاینت اجرا بشه. یعنی چی؟ یعنی تا قبل از نودجی اس شما برای اجرا جاوااسکریپت نیاز داشتید که یک مرورگر داشته باشید. ولی الان نود جی اس یک پلتفرمه که با استفاده از موتور V8 گوگل میتونه جاوا اسکریپت روسمت سرور اجرا کنه.

سمت سرور چه کارهایی میشه کرد؟

مثلا قبل از نود جی اس، اگر شما جاوااسکریپت بلد بودید میتونستید یک وب اپلیکیشن رو برای خودتون طراحی کنید، ولی برای قسمت Back-End اون نیاز داشتید که یک برنامه نویس جاوا یا دات نت یا پی اچ پی یا کلا کسی که زبان برنامه نویسی بلد باشه که بتونه سمت سرور کد بنویسه رو پیدا کنید که نیاز های شما مثل نوشتن API و کار با دیتابیس و احراز هویت و ... رو انجام بده.

اما الان با NodeJs و همون جاوااسکریپتی که بلدید میتونید خیلی راحت تمامی کار های بالا و بیشتر از اون (میکروسرویس ها که خیلی پیاده سازی سریع و اجرا با سرعت بالایی دارند توی نود جی اس) رو خودتون انجام بدید.

نود جی اس (NodeJS) بازدهی بالایی داره!

نود جی ای در کنار موتور V8 از زبان ++C استفاده کرده و باعث شده سرعت بسیار بالایی داشته باشه.

نودی جی اس و موتور V8 به صورت منظم آپدیت میشن و با آخرین قابلیت های جاوا اسکریپت خودشون رو بروز میکنند.

یکی از دلایلی که میتونه توی سرعت و بازدهی بالا هم میتونه تاثیر داشته باشه روش انتفال فایل JSON هست که بسیار سریعه.

نود جی اس (NodeJS) کراس پلتفرم

یکی از آرزوها و هدف های شرکت های بزرگ اینه که بتونند با نوشتن یک کد چند خروجی بگیرند. مثلا با یک زبان برنامه نویسی یک پروژه بنویسن و بتونن روی همه سیستم عامل ها اجراش کنند. به این میگن کراس پلتفرم (Cross-Platform).

خبر خوب اینه که نود جی اس کراس پلفترمه. یعنی شما مثلا با ابزاری مثل Electron.js میتونید برنامه هایی بنویسید که روی سیستم عامل های لینوکس، ویندوز و مک اجرا بشه.

نود جی اس (NodeJS) چه کارهایی میتونه بکنه؟

نرم‌افزارهای محدوده I/O (ورودی و خروجی)

نرم‌افزارهای جریان داده‌ای (Data Streaming)

داده‌های نرم‌افزارهای بلادرنگ (Real-Time-App)

برنامه‌های مبتنی بر JSON API

برنامه‌های تک صفحه‌ای SPA

چند شرکت بزرگ که از نود جی اس استفاده میکنند.