25 خرداد 1399
درباره زبان برنامهنویسی Node.js و مقایسه آن با زبان دیگری مثل PHP صحبت کردیم.
همچنین از امکانات هاست Node.js نیز مقالهای قبلا منتشر شده است. در این مقاله قصد داریم درباره خود Node.js صحبت کنیم.
با ما همراه باشید.
Node.js یک سکوی سمت سرور است که با استفاده از موتور Javascript گوگل کروم (V8) طراحی شده و توسعه آن توسط Ryan Dahl در سال 2009 آغاز شد. به کمک Nodejs میتوان به آسانی appهای سریع و مقیاسپذیر(scalable) با استفاده از زبان Javascript ساخت .
ایده Nodejs برای پردازش، رویداد محور (Event Driven) بوده و ویژگی ضد توقف (non-blocking) آن باعث میشود که app نهایی بسیار سبک و کارآمد باشد.
برنامههای نوشته شده با کمک این سکو در نهایت میتوانند روی وسیلههای مختلفی اجرا شوند.
در تعریف دیگر میتوان Nodejs را یک محیط اجرا (runtime) برای Javascript نامید که علاوه بر چند سکویی بودن، منبع باز (open source) نیز هست. همچنین Node.js یک کتابخانه بسیار غنی از ماژولهای متنوع را نیز برای ما فراهم میکند که با استفاده از آنها روند توسعه ساده و سریعتر خواهد شد.
به طور خلاصه:
Node.js = محیط توسعه و اجرا + کتابخانههای Javascript
فرض کنیم Nodejs در حال پردازش یک بخش از برنامه است.
در صورتی که فرآیند مربوط زمانبر باشد یا به نوعی برنامه مجبور به صبر کردن در آن نقطه باشد، برنامه در آن نقطه متوقف نمیشود؛ بلکه به ادامه کار خود میپردازد و در زمانی که فرآیند قبل تکمیل شد، از نتیجهی آن استفاده میکند.
تمام رابط(API)های Node.js ناهمزمان بوده و همین باعث میشود برنامه ما هنگام اجرا متوقف نشده و اصطلاحا گیر نکند.
تمام کدهای مربوط به کتابخانههای Nodejs با وسواس زیاد نوشته شدهاند تا در زمان اجرا حداکثر سرعت را داشته باشند.
در Nodejs پردازش به صورت تک رشتهای انجام میشود اما این باعث کندی نخواهد شد.
همانطور که بالاتر اشاره شد، Javascript از منطق رویداد محور پیروی کرده و برای مدیریت وقایع از مفهومی تحت عنوان حلقه رویداد (event loop) استفاده میکند. حلقهی رویداد با ایجاد یک حلقه از تمام رویداد موجود به مدیریت آنها میپردازد.
رویدادهای جدید نیز به این حلقه اضافه خواهند شد.
در دیگر زبانهای سمت سرور به ازای هر پردازش، یک رشته از برنامه درگیر شده (مانند PHP در تعامل با Apache) و به اندازه Node.js مقیاس پذیر نخواهند بود.
برنامههای تحت Nodejs، دادهها را هیچ وقت به صورت میانگیر ذخیره نمیکنند؛ بلکه دادهها را به صورت لحظهای منتقل میکنند.
برنامههای نوشته شده بر بستر Nodejs در تمامی زمینهها قابل استفاده هستند.
البته در بعضی موارد پیشنهاد میشود برای برنامههای متمرکز به CPU از این بستر استفاده نشود.
با برخی از ویژگیهای Nodejs تا حدودی آشنا شدید.
این اطلاعات را در زمانی که قصد انتخاب زبان برنامهنویسی برای کدزنی را دارید مد نظر داشته باشید.
اگر به تازگی نیز کار با این زبان را آغاز نمودهاید و قصد توسعه وبسایت دارید، پیشنهاد میکنیم برای کاهش هزینههای خود در ابتدای کار سراغ سرور مجازی نرفته و از سرویس میزبانی هاست Node.js گیتیسرور استفاده نمایید. مزیتهای این سرویس را نیز میتوانید در مقاله “امکانات هاست Nodejs” مطالعه کرده و یا در صفحه هاست اشتراکی گیتیسرور مشاهده نمایید.
به همین سادگی!!
تمامی حقوق برای گیتی سرور محفوظ است.