node.js چیست و چگونه عمل می کند

در بسیاری از سایت ها از node.js به عنوان فرم ورک یاد میشود که این مسئله کاملا غلط است. node.js نه فریم ورک است و نه زبان برنامه نویسی. nodejs محیط اجرای javascript برای سرور می باشد. رایان داهل در سال 2009 برای اولین بار با کمک گرفتن از موتور v8 مرورگر کروم و توسعه آن بوسیله c++ موفق به اجرای کدهای جاوا اسکریپت بر روی سرور شد که این مسئله تجربه جدیدی از برنامه نویسی بود و هر برنامه نویس تحت وب علاقه مندی را سر ذوق آورد.

تا قبل از رایان داهل کدهای جاوا اسکریپت فقط بر روی مرورگر قابل اجرا بودند، اگر تجربه وبلاگ نویسی داشته باشید حتما دیده اید که با قرار دادن کدهای جاوا اسکریپت در بخش ابزار وبلاگ افکت های جالبی را به وبلاگ می دادید. اما حالا به کمک node.js کدهای جاوا اسکریپت علاوه بر مرورگر بر روی سرور نیز اجرا می شود. و میتواند همچون زبانهایی مانند php و asp.net کار پردازش اطلاعات بر روی سرور را نیز انجام دهد.

node.js سرعت و هم کارایی بسیار بالایی نیز دارد. چرا که در پاسخ گویی به request ها به صورت non-blocking یا Asynchronous عمل میکند. این به این معنا است که مانند php یا asp.net منتظر پاسخ request نمی ماند و به صورت بلادرنگ request ها را دریافت کرده و در صورت آماده شدن جواب هر request، جواب آن را نیز ارسال می نماید. که این مسئله باعث صرفه جویی در cpu و تسریع در پاسخگویی می شود.

فرق وب سرور node.js با وب سرور های دیگر

اگر بخواهیم وب سرور را به زبان ساده تعریف کنیم، وب سرور به نرم افزاری گفته می شود که بر روی سرور نصب شده و قادر به پاسخ گویی به request ها می باشد. مثلا بر روی سیستم عامل لینوکس از وب سرورهایی مانند apache، ngnix و یا litespeed استفاده می شود. اما در node.js شما می توانید بدون استفاده از برنامه های دیگر و فقط با استفاده از خود node.js وب سرور را راه اندازی کنید.

نمونه کد راه اندازی وب سرور در node.js:


var http = require('http');

http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080);

با ذخیره کد بالا در یک فایل مثلا (app.js) و اجرای آن در cmd ویندوز، در مرورگر خود با ورود به آدرس http://localhost:8080 عبارت Hello World را مشاهده خواهید کرد. اگر در نصب و اجرای node.js مشکلی داشتین حتما در گوگل جستجو کنید. مقاله های زیادی در این مورد نوشته شده است.

 

2 نظر / نظر خود را در زیر وارد کنید

دیدگاهتان را بنویسید