شروع و مقدمات Node.js
مقدمه
Node.js یک محیط اجرایی (Runtime Environment) متنباز برای اجرای JavaScript در خارج از مرورگر است. Node.js با استفاده از موتور V8 گوگل، امکان اجرای سریع و مقیاسپذیر کدهای جاوااسکریپت را در سمت سرور فراهم میکند. این فناوری به توسعهدهندگان اجازه میدهد با یک زبان واحد، هم فرانتاند و هم بکاند را توسعه دهند.
چرا Node.js مهم است؟
- اجرای JavaScript در سمت سرور بدون نیاز به مرورگر
- مناسب برای ساخت REST API و برنامههای بلادرنگ (Real-time)
- سرعت بالا به دلیل استفاده از موتور V8
- اکوسیستم بسیار بزرگ با هزاران پکیج npm
Node.js چه مشکلی را حل میکند؟
Node.js مشکل محدود بودن JavaScript به محیط مرورگر را حل کرد و امکان استفاده از آن در توسعه بکاند، ابزارهای خط فرمان، سرورها و میکروسرویسها را فراهم ساخت.
Node.js چیست؟
Node.js یک پلتفرم مبتنی بر JavaScript است که برای ساخت برنامههای شبکهای سریع و مقیاسپذیر طراحی شده است. برخلاف سرورهای سنتی، Node.js از مدل Non-blocking I/O استفاده میکند.
Node.js چگونه کار میکند؟
Node.js مبتنی بر معماری Event-driven و Single Thread است و با استفاده از Event Loop، عملیات ورودی/خروجی را به صورت غیرهمزمان مدیریت میکند.
تفاوت Node.js با JavaScript مرورگر
JavaScript مرورگر برای تعامل با DOM و UI استفاده میشود، در حالی که Node.js امکانات زیر را فراهم میکند:
- دسترسی به فایل سیستم
- ایجاد سرور HTTP
- اتصال به دیتابیسها
- ایجاد اسکریپتهای سیستمی
ویژگیهای اصلی Node.js
معماری Non-blocking
در Node.js، عملیات زمانبر مانند خواندن فایل یا ارتباط با دیتابیس، برنامه را متوقف نمیکند.
Single Thread + Event Loop
Node.js از یک Thread اصلی استفاده میکند، اما با Event Loop میتواند هزاران درخواست همزمان را مدیریت کند.
مقیاسپذیری بالا
بهدلیل سبک بودن و مدل غیرهمزمان، Node.js برای برنامههای پرترافیک بسیار مناسب است.
موارد استفاده Node.js
- ساخت REST API
- اپلیکیشنهای Real-time (چت، نوتیفیکیشن)
- Backend برای SPAها (React، Vue، Angular)
- میکروسرویسها
- ابزارهای CLI
اولین اجرای Node.js
پس از نصب Node.js، میتوانید اولین برنامه خود را اجرا کنید.
مثال:
console.log("Hello Node.js");
اجرای فایل:
node app.js
npm چیست؟
npm (Node Package Manager) ابزار مدیریت پکیجهای Node.js است و به شما امکان نصب، بهروزرسانی و مدیریت کتابخانهها را میدهد.
بررسی نصب npm
node -v
npm -v
ساختار ساده یک پروژه Node.js
project/
├── node_modules
├── package.json
└── index.js
package.json چیست؟
این فایل اطلاعات پروژه، اسکریپتها و وابستگیها را نگهداری میکند.
Node.js و Back-End Development
Node.js اغلب همراه با فریمورکهایی مانند Express.js استفاده میشود تا فرآیند توسعه سمت سرور سادهتر شود.
چرا Express.js محبوب است؟
- سادگی و سرعت بالا
- مدیریت مسیرها (Routing)
- پشتیبانی از Middleware
محدودیتهای Node.js
- مناسب نبودن برای پردازشهای سنگین CPU
- پیچیدگی در مدیریت callbackها برای تازهکاران
جمعبندی
Node.js یک انتخاب عالی برای توسعه بکاند مدرن است. یادگیری مفاهیم پایهای مانند Event Loop، معماری Non-blocking و npm، مسیر ورود شما به دنیای توسعه سرور با JavaScript را هموار میکند. در ادامه این آموزش، وارد نصب Node.js و نوشتن اولین پروژههای عملی خواهیم شد.