مقدمه
اگر کمی با طراحی سایت و برنامهنویسی آشنا باشید، احتمالاً نام Node.js را شنیدهاید. اما Node.js دقیقاً چیست و چه کاری انجام میدهد؟
به زبان خیلی ساده، Node.js به برنامهنویسان اجازه میدهد از JavaScript برای اجرای برنامه روی سرور استفاده کنند.
برای اینکه بهتر متوجه شویم، ابتدا باید ببینیم JavaScript چیست.
JavaScript چیست؟
JavaScript یکی از زبانهای برنامهنویسی محبوب در دنیای وب است.
برای مثال، وقتی در یک سایت روی یک دکمه کلیک میکنید و منویی باز میشود، یک فرم بدون رفرش شدن صفحه ارسال میشود یا محتوایی بدون بارگذاری مجدد نمایش داده میشود، ممکن است JavaScript در پشت این اتفاق باشد.
در گذشته، JavaScript بیشتر در مرورگر کاربر اجرا میشد.
اما یک مشکل وجود داشت:
اگر برنامهنویس میخواست با JavaScript کاری روی سرور انجام دهد، به ابزار دیگری نیاز داشت.
اینجا Node.js وارد شد.
Node.js چه کاری انجام میدهد؟
Node.js یک محیط برای اجرای JavaScript خارج از مرورگر است.
یعنی به جای اینکه JavaScript فقط روی کامپیوتر کاربر و داخل مرورگر اجرا شود، میتوان آن را روی سرور هم اجرا کرد.
برای مثال، فرض کنید شما وارد سایت یک فروشگاه اینترنتی میشوید و صفحه محصولات را باز میکنید.
در پشت صحنه اتفاقات مختلفی رخ میدهد:
- مرورگر شما از سرور درخواست اطلاعات محصولات را میکند.
- برنامه روی سرور درخواست را دریافت میکند.
- برنامه اطلاعات محصولات را از دیتابیس میگیرد.
- اطلاعات به مرورگر شما ارسال میشود.
- مرورگر محصولات را نمایش میدهد.
Node.js میتواند در بخش سرور این فرآیند قرار داشته باشد.
یک مثال خیلی ساده
فرض کنید یک رستوران دارید.
مشتری را میتوانیم مرورگر کاربر در نظر بگیریم.
آشپزخانه همان سرور است.
مشتری سفارش خود را ثبت میکند و سفارش به آشپزخانه میرود.
برنامهای که روی سرور قرار دارد، درخواست را دریافت میکند، اطلاعات موردنیاز را پردازش میکند و نتیجه را به مشتری برمیگرداند.
Node.js یکی از محیطهایی است که میتواند این برنامه سمت سرور را اجرا کند.
پس Node.js یک زبان برنامهنویسی نیست؟
خیر.
این یکی از نکات مهمی است که باید بدانیم.
JavaScript زبان برنامهنویسی است.
Node.js محیطی است که امکان اجرای JavaScript روی سرور را فراهم میکند.
بنابراین وقتی میگوییم «برنامهنویسی با Node.js»، معمولاً منظورمان نوشتن برنامههای سمت سرور با زبان JavaScript است.
Node.js چه کاربردی دارد؟
Node.js در پروژههای مختلفی استفاده میشود.
برای مثال میتوان با آن موارد زیر را ساخت:
- سایت و برنامههای تحت وب
- API
- سیستمهای چت آنلاین
- برنامههای Real-Time
- پنلهای مدیریتی
- سرویسهای Backend
- میکروسرویسها
- ابزارهای مختلف برنامهنویسی
برای مثال، اگر یک اپلیکیشن موبایل داشته باشید، ممکن است اپلیکیشن برای دریافت اطلاعات کاربران یا محصولات با یک API ساختهشده با Node.js ارتباط برقرار کند.
چرا Node.js محبوب شده است؟
یکی از دلایل محبوبیت Node.js این است که برنامهنویس میتواند از JavaScript هم در بخش ظاهری سایت و هم در بخش سرور استفاده کند.
یعنی به جای اینکه برای قسمتهای مختلف پروژه مجبور باشد چند زبان کاملاً متفاوت یاد بگیرد، میتواند بخش زیادی از پروژه را با JavaScript توسعه دهد.
از طرف دیگر، Node.js میتواند تعداد زیادی درخواست را به شکل مناسبی مدیریت کند و برای سرویسهایی که کاربران زیادی به صورت همزمان به آنها متصل میشوند، گزینه مناسبی است.
npm چیست؟
اگر با Node.js کار کنید، احتمالاً خیلی زود با نام npm روبهرو میشوید.
npm را میتوان یک مخزن بزرگ از ابزارها و کدهای آماده در نظر گرفت.
فرض کنید برای پروژه خود به قابلیت خاصی نیاز دارید. ممکن است شخص دیگری قبلاً چنین قابلیتی را ساخته باشد.
با npm میتوانید آن ابزار یا کتابخانه را به پروژه خود اضافه کنید و لازم نباشد همه چیز را از ابتدا بنویسید.
آیا Node.js برای هاستینگ هم کاربرد دارد؟
بله.
Node.js فقط برای برنامهنویسان نیست و در محیطهای هاستینگ نیز کاربرد دارد.
برای مثال، بعضی از شرکتهای هاستینگ امکان اجرای برنامههای Node.js را روی سرورهای خود فراهم میکنند.
در سرورهای VPS و Dedicated نیز میتوان Node.js را نصب کرد و برنامههای نوشتهشده با آن را اجرا کرد.
Node.js را خیلی ساده اگر بخواهیم تعریف کنیم
اگر بخواهیم تمام این مقاله را در یک جمله خلاصه کنیم:
Node.js ابزاری است که به ما اجازه میدهد با استفاده از JavaScript، برنامههایی را روی سرور اجرا کنیم.
JavaScript زبان برنامهنویسی است و Node.js محیطی است که اجرای این زبان را خارج از مرورگر، مثلاً روی یک سرور، ممکن میکند.
به همین دلیل Node.js امروزه یکی از فناوریهای مهم در توسعه Backend و برنامههای تحت وب محسوب میشود.


