Node.js یک محیط یا Platform برنامهنویسی تحت سرور است که بر پایهی موتور جاواسکریپت V8 گوگل کروم توسعه پیدا کرده است.
Node.js میتواند برای ایجاد وبسرورهای ساده تا پیشرفته مورد استفاده قرار بگیرد. برای مثال ممکن است برای راهاندازی یک وبسایت همه منظوره که محتواهای متنی و چندرسانهای را در اختیار مشتریان قرار میدهد از این ابزار استفاده شود.
ویژگی قابل توجهی که Node.js را از سایر محیطهای برنامهنویسی متمایز میکند رویدادگرا( Event-driven ) بودن آن است. برنامهنویسی رویدادگرا به شیوهای از برنامهنویسی گفته میشود که اجرا کدهای برنامه وابسته به رخداد رویدادهای خاص است. برای مثال در هنگام خواندن محتویات یک فایل، در برنامهنویسی سنتی، برنامه در هنگام خوانده شدن محتویات فایل از روی رسانه، متوقف میشود و پیشروی نمیکند. در معماری رویدادگرا، برنامه به پیشروی خود ادامه میدهد و هنگامی که محتویات از فایل خوانده شدند، تابع دلخواهی از برنامه توسط Node.js فراخوانی میشود.
به نظر میرسد زبان برنامهنویسی جاوااسکریپت درآینده، زبان غالب باشد. استقبال چشمگیر از پلتفرم Node.js از دلایل اصلی این پیشگویی است.
سیستم چند سکویی
Node.js پشتیبانی به خوبی از سیستمعاملهای گوناگون پشتیبانی میکند. یک برنامهی نوشته شده با Node.js بدون توجه به سیستمعامل میزبان در تمام محیطها، به شکلی مشابه عمل میکند.
کارکردهای جانبی
اگرچه کارکرد اصلی Node.js برای ایجاد ابزارهای تحت سرور است، با این حال کتابخانههای بسیاری برای آن توسعه پیدا کردهاند که کاربردهای سمت مشتری زیادی را نیز برایش معرفی نمودهاند. کتابخانههای Node.js تقریبا برای تمام نیازهای تولید یک نرمافزار کاربردی یا ابزار کمکی وجود دارند. کتابخانههایی مانند ارتباط با بانک اطلاعاتی، ذخیره و بازیابی اطلاعات، ارتباطات شبکه، کدگذاری و کدگشایی اطلاعات، پردازشگرهای فایلهای تصویری و بسیاری دیگر.
نرمافزارهای بر پایهی Node.js
علاوه بر کتابخانههای فراوان، برنامههای کاربری زیادی نیز با کمک Node.js ایجاد شدهاند که اغلب برای آسانکردن کار برنامهنویسان مورد استفاده قرار میگیرند. برای مثال ابزارهایی که میتوانند جایگزین برنامهی سنتی make باشند یا برنامههایی که کار کامپایل زبانهای برنامهنویسی جدید به زبانهای متداول را انجام میدهند.
Node Package Manager
Node.js برای مدیریت وابستگیها، یک ابزار کمکی به نام npm در اختیار برنامهنویسان قرار میدهد. npm کار مدیریت نسخه و دانلود و راهاندازی وابستگیها را بسیار آسان میکند. برای مثال ممکن است شما برنامهای ایجاد کنید که برای اجرا به چندین کتابخانهی جانبی نیازمند است. کافی است نام و نگارش مورد نیاز از این کتابخانهها را در فایلی با نام package.json ثبت کنید و سپس از npm بخواهید تا فایلهای لازم را از اینترنت دانلود و در کنار فایلهای اصلی پروژه جاسازی کند.
سرعت
سرعت عملکرد Node.js در شروع عملیات اندکی اندکی کم است. ولی در عملکردهایی که زمان بیشتری لازم باشد، سرعت آن خوب و قابل قبول است.
یادگیری Node.js
همان گونه که گفته شد، Node.js بر پایهی زبان جاوااسکریپت فعالیت میکند. بنابراین پیش از شروع به کار با Node.js میبایست اصول برنامهنویسی Javascript را فراگیری کنید. پس از کسب مهارت در جاوااسکریپت، شروع به کار با Node.js بسیار آسان خواهد بود. یادگیری استفاده از ابزارهای Node.js از جمله npm، کتابخانههای داخلی( مانند کتابخانهی فایلی ) و کتابخانههای خارجی مورد نیاز در مرحلهی بعد قرار دارند.
Node.js چگونه میتواند به من کمک کند؟
برنامهنویسان زبانهای مختلف و به طور ویژه برنامهنویسان وب مشتریان اصلی این پلتفرم هستند. کتابخانههای فراوان و متنوع و ابزارهای کمکی ایجاد شده برای Node.js به شما کمک میکنند، زمان کمتری را صرف کنید و نتایج بهتری را کسب کنید. برای آشنایی با استفادهای مفید Node.js، گشت و گذار در سایت Github و پرسش و پاسخهای Stackoverflow میتواند سرنخهای جالبی از کاربرهای این ابزار در اختیار شما قرار دهد.
سلام
ممنون بابت مطلب خوبتون , امیدوارم همیشه موفق باشید
با سلام و تشکر از شما جناب «دوربین مدار بسته»، آدرس سایتتان به دلیل اینکه به نظر میرسید کامنت جهت تبلیغات است، حذف شد.
سلام
خیلی ممنونم
عالی و روشن کننده بود