What is Node.js نود جی اس چیست؟

نود جی اس چیست؟

نود. جی‌اس (به انگلیسی: Node.js) یک محیط اجراییِ سمت سرورِ متن‌باز و چندسکویی برای زبان جاوااسکریپت است ;نود جی اس برای ساخت سریعتر و مقیاس پذیرتر اپلیکیشن های تحت شبکه می باشد. در زبان های سمت سرور موجود مانند java ,PHP هر کاربری که به سرور متصل می شود یک thread به ازای آن کاربر به وجود می آید.اگر تعداد اتصال های همزمان افزایش یابد ناچار به افزایش منابع مانند حافظه RAM و افزایش سرور های موجود خواهیم بود که این به نوبه خود سبب افزایش هزینه ها خواهد شد, درNode.js این مشکل را به وسیله نحوه تغییر اتصال به سرور حل می شود.در این روش هر اتصال به صورت یک رویداد اجرا می شود و نه به صورت یک thread .

درواقع Node.js یک پلتفرم سمت سرور است که بر مبنای موتور جاوا اسکریپتی گوگل موسوم بهV8 ایجاد شده و به شما امکان می‌دهد که با کمکjavascript برای سمت سرور برنامه بنویسید و فقط یکthreadایجاد کنید و تمام درخواست‌ها را به صورت رویداد(event)مدیریت کنید درست مثل مدیریتeventها در جاوا اسکریپت.

موتور جاوااسکریپت V8

متورV8 به زبان C++ نوشته شده است و توسط اسکریپت ECMA پیاده سازی شده است. یک موتور جاوااسکریپت کدهای جاوا اسکریپت را پردازش می کندو انها را اجرا می کند. در گوگل کروم استفاده می شود ولی می تواند به صورت مستقل نیز به کار برده شود.شما می توانید V8 را دانلود و در هر برنامه ای که میخواهید جاوا اسکریپت در آن اجرا شود قرار دهیدو به یک مرورگر محدود نمی شود.و در سایر سیستم عامل ها مانند Windows XP, Vista, Windows7+, Mac OS X 10.5+, and Linux OS نیز اجرا می شود.

دانلود Node.js

برای نصب نود جی اس میتونید به وبسایت رسمی نود جی اس به آدرس https://nodejs.org/en مراجعه کنید و نسخه مطابق با سیستم عامل خودتون رو انتخاب کنید.

وبسایت رسمی نود جی اس
وبسایت رسمی نود جی اس


یک مثال ساده از نود جی اس

میخواهیم یک متن را در محیط کامند پرامپت نود جی اس نماش دهیم برای اینکار ابتدا یک ادیتور را باز میکنیم و کد های جاوا اسکریپتی زیر در آن نوشته سپس آن فایل را با پسوند js. ذخیره میکنیم

console.log("Hello Saeed");

کد بالا برای چاپ متن و به زبان جاوا اسکریپت میباشد.

در مرحله بعد محیط کامند پرامپت نود جی اس را باز میکنیم و پس از رفتن به محل فایل جاوا اسکریپتی ما که در اینجا درایو D هست با دستور

node  first.js

فایل مربوطه را اجرا میکنیم و مشاهده میکنید که کد های جاوا اسکریپت ما اجرا و خروجی در محیط کامند پرامپت به نمایش در می اید.

ساخت یک Http Server در Node.js

ابتدا کد های مربوطه را بوسیله یک ادیتور نوشته و فایل مربوطه را با پسوند js. ذخیره میکنیم .

var http = require('http');    
var server = http.createServer(function (req, res) {
   res.writeHead(200);
   res.end('saeed.yeganeh\n');
});
// listen on port 8000
server.listen(8000);

در مثال بالا ابتدا از ماژول http که بصورت پیش فرض در نود جی اس موجود هست استفاده کردیم و سپس یک متغیر به نام سرور را تعریف کردیم و با استفاده از ماژول http یک سرور http را ساختیم که دارای یک متد callbackبوده که پارامتر های درخواست ها و پاسخ ها در آن موجود هست و سپس در خط بعد در پاسخ به درخواست ها کد 200 که کد موجود بودن صفحه هست (مثلا 404 برای عدم وجود صفحه و..) را به کلاینت برمیگردانیم و در خط بعد در انتهای پاسخ به درخواست متن saeed.yeganeh را به کاربر نمایش میدهیم .در انتها نیز سرور را روی پورت 8000 اجرا میکنیم با این کار پس از اجرای دستور زیر در محیط کامند نود جی اس

سرور ما روی لوکال هاست در حال اجراست

ساخت فایل serve.js و اجرای آن در محیط خط فرمانی  node.js
ساخت فایل serve.js و اجرای آن در محیط خط فرمانی node.js

سپس کاربر باید در مرورگر به ادرس http://localhost:8000 مراجعه کند و مشاهده میکنیم که پس از ارسال درخواست از جانب مرورگر فایل جاوا اسکریپتی ما اجرا شده و مطابق کد های ما متن Saeed.Yeganeh به کاربر نمایش داده میشود

اجرای کد های فایل جاوا اسکریپتی و نمایش متن مورد نظر به کاربر
اجرای کد های فایل جاوا اسکریپتی و نمایش متن مورد نظر به کاربر

چه برنامه هایی از Node.js استفاده کرده اند؟

Walmart

E-bay / PayPal

Microsoft

LinkedIn

Yahoo

Google

ارائه انجام شده توسط بنده برای درس طراحی صفحات وب استاد احمد ابریشمی ,دانشگاه شهید شمسی پور

برای اطلاع از خصوصیت های اصلی نود جی اس و همچنین دریافت اطلاعات بیشتر میتونید ویدئو ارائه بنده رو مشاهده کنید .

https://www.aparat.com/v/MstG4