نود.جي إس

**نود.جي إس**  هو محرك جافاسكريبت بالوقت الفعلي مفتوح المصدر ومُصمم لكتابة تطبيقات متعدد المنصات، وكذلك تطبيقات سهلة التوسيع كخوادم الويب. تم اختياره بواسطة InfoWorld لجائزة *تقنية العام* في 2012. يسمح نود.جي إس للمبرمجين بكتابة برمجيات بلغة جافاسكربت تعمل خارج مُتصفح الويب، ويقوم NodeJS بترجمتها إلى لغة تفهمها الآلة من خلال مُحرك جافاسكربت V8 المصمم من طرف جوجل، والمستخدم في متصفح كروم وتستخدمه باقي المتصفحات المبنية على نواة كروميوم، هذا يمكن المبرمجين من برمجة العديد من الأمور باستخدام لغة جافاسكربت وجعلها تعمل خارج المتصفح**،** كبرمجة الواجهة الخلفية للمواقع (back-end)، برمجة سكربت يعمل على سطر الآوامر، وكذلك برمجة تطبيقات بواجهات رُسومية باستخدام تقنيات مثل آلكترون (Electron).

أُنشئ نود.جي إس على يد ريان دال ابتداءً في عام 2009، وقامت برعاية نموها Joyent، مشغله. يتألف نود.جي إس من في 8 التابع لجوجل مع العديد من المكتبات المدمجة. وأخذت بعض مواصفات مشروع CommonJS.

تكتب برامج نود.جي إس بلغة الجافا سكربت، باستخدام نمط حدثّي التوجه، إدخال وإخراج غير متزامنين للحد من النفقات وتحقيق أكبر قدر من قابلية التوسع. وعلى عكس أغلب برامج الجافاسكريبت فهي لا تشتغل على متصفح الويب، ولكن عوضا عن ذلك فيتم تشغيلها من طرف الخادم.

## أمثلة

تطبيق كامل لبرنامج "أهلا بالعالم" كخادم ويب:

```javascript
var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://localhost:3000/');
```


خادم ميفاق ضبط الإرسال ينصت لبورت 7000 ويرد بـ'hello' عند الاتصال:

```javascript
var net = require('net');

net.createServer(function (stream) {
    stream.write('hello\r\n');

    stream.on('end', function () {
        stream.end('goodbye\r\n');
    });

    stream.pipe(stream);
}).listen(7000);
```


## مميزات نود.جي إس

من مميزات نود.جي إس سرعة الآداة مع المحافظة على الفاعلية، فسرعتها في إرسال الرسائل البريدية هي 10 أضعاف سرعة بي إتش بي، مع عدد أقل من العمليات الغير ناجحة، من مميزاتها أيضا أنك تستدعي المكتبات التي تعمل عليها في الوقت الذي تريد، الأمر الذي يفضي إلى أفضل استغلال للموارد.

سرعة نود.جي إس هي نتيجة لسرعة المحرك الذي تستخدمه الذي يعتبر نواتها. تقوم نود.جي إس بمعالجة النص المصدري سطرا سطرا، من خلال خيط واحد على عكس ما يحدث في PHP مثلا، المعنى أنه لو زار 1000 شخص موقعا يعمل على نود.جي إس فسيتم خدمتهم بالتتالي، المشكل أنه لو أضطر شخص ما لانتظار عملية ما مدة دقيقة فيجب على الكل الانتظار حتى تنتهي تلك العملية، إلا أنه يكمن تفادي هذا من خلال بنية الجافا سكربت التي تمكن من استدعاء دالة ما (أو مع صياغتها) عند الانتهاء من عملية ما والمرور للعملية الموالية، ككل تمكن نود.جي إس من بناء تطبيقات كبيرة، أحيانا بسهولة، إلا أن بنية الجافاسكريبت الشاذة تجعل الأمر محبط، يجدر بالذكر أن نود.جي إس تعمل على نواة معالج واحدة، كما أن يجب تنشيط الملف بعد برمجته ليتحول إلى Thread مستعد للرد على أي طلب داخل الوب، في النهاية يمكن القول أن نود.جي إس ليست تلك الوسيلة بعد التي يمكنها التعامل مع مختلف المتطلبات -و هذا من أسباب سرعتها- إلا أنه لا يمكن لوم أحد على ذلك ما دامت لم تتجاوز الإصدار 1.0 بعد، إلا أنها يمكنها تقديم حلول سحرية للأنشطة التي تتطلب تبادل بيانات بين مختلف الزوار في الوقت الحقيقي (الويب في الوقت الحقيقي).
alt=ريان دال|تصغير|ريان دال

## المجتمع

نود.جي إس لديه مجتمع مطورين متمركزين بقائمتين بريديتين،، nodejs و nodejs-dev, وقناة آي آر سي #نود.جي إس على فرينود. يجتمع المجتمع في NodeConf، مؤتمر مطورين سنوي يركز على نود.جي إس.&lrm;

## لغات أخرى

تمت كتابة بيئات مشابهة في لغات برمجة أخرى تشمل:
* EventMachine لروبي.
* libevent للسي
* بيئة بيرل الكائنية لبيرل
* توستيد لبايثون

## انظر أيضًا
* جافا سكريبت
* محرك جافا سكربت في-8 (v8)
* البرمجة التركيبية

## مراجع

## وصلات خارجية

* 
* 
* مستودعات Node.JS على Github

تصنيف:مشاريع مؤسسة لينكس
تصنيف:إطارات عمل جافا سكريبت
تصنيف:برمجيات 2009
تصنيف:برمجيات تستخدم رخصة إم آي تي
تصنيف:برمجيات حرة بلغة جافا سكريبت
تصنيف:برمجيات حرة بلغة سي++
تصنيف:برمجيات حرة بلغة سي
تصنيف:مكتبات جافا سكريبت