نود.جي إس
Node.js هو نظام برامج مصمم لكتابة تطبيقات قابلة للتوسع كخوادم الويب.[5] تم اختياره بواسطة InfoWorld لجائزة تقنية العام في 2012.[6]
Node.js
|
أنشئت Node.js على يد ريان دال ابتداءً في عام 2009، وقامت برعاية نموها Joyent، مشغله.[7][8] يتألف Node.js من في 8 التابع لجوجل مع العديد من المكتبات المدمجة. وأخذت بعض مواصفات مشروع CommonJS.[9]
تكتب برامج node.js بلغة الجافاسكربت، باستخدام نمط حدثّي التوجه، إدخال وإخراج غير متزامنين للحد من النفقات وتحقيق أكبر قدر من قابلية التوسع.[10] وعلى عكس أغلب برامج الجافاسكريبت فهي لا تشتغل على متصفح الويب، ولكن عوضا عن ذلك فيتم تشغيلها من طرف الخادم.
أمثلة
تطبيق كامل لبرنامج "أهلا بالعالم" كخادم ويب:
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8000);
console.log('Server running at http://localhost:8000/');
خادم ميفاق ضبط الإرسال ينصت لبورت 7000 ويرد بـ'hello' عند الاتصال:
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);
مميزات Node.js
من مميزات Node.js سرعة الآداة مع المحافظة على الفاعلية، فسرعتها في إرسال الرسائل البريدية هي 10 أضعاف سرعة بي إتش بي، مع عدد أقل من العمليات الغير ناجحة، من مميزاتها أيضا أنك تستدعي المكتبات التي تعمل عليها في الوقت الذي تريد، الأمر الذي يفضي إلى أفضل استغلال للموارد.
سرعة Node.js هي نتيجة لسرعة المحرك الذي تستخدمه الذي يعتبر نواتها. تقوم Node.js بمعالجة النص المصدري سطرا سطرا، من خلال خيط واحد على عكس ما يحدث في PHP مثلا، المعنى أنه لو زار 1000 شخص موقعا يعمل على Node.js فسيتم خدمتهم بالتتالي، المشكل أنه لو أضطر شخص ما لانتظار عملية ما مدة دقيقة فيجب على الكل الانتظار حتى تنتهي تلك العملية، إلا أنه يكمن تفادي هذا من خلال بنية الجافاسكرب التي تمكن من استدعاء دالة ما (أو مع صياغتها) عند الانتهاء من عملية ما والمرور للعملية الموالية، ككل تمكن Node.js من بناء تطبيقات كبيرة، أحيانا بسهولة، إلا أن بنية الجافاسكريبت الشاذة تجعل الأمر محبط، يجدر بالذكر أن Node.js تعمل على نواة معالج واحدة، كما أن يجب تنشيط الملف بعد برمجته ليتحول إلى Thread مستعد للرد على أي طلب داخل الوب، في النهاية يمكن القول أن Node.js ليست تلك الوسيلة بعد التي يمكنها التعامل مع مختلف المتطلبات -و هذا من أسباب سرعتها- إلا أنه لا يمكن لوم أحد على ذلك ما دامت لم تتجاوز الإصدار 1.0 بعد، إلا أنها يمكنها تقديم حلول سحرية للأنشطة التي تتطلب تبادل بيانات بين مختلف الزوار في الوقت الحقيقي (Real-Time).
مجتمع
Node.js لديه مجتمع مطورين متمركزين بقائمتين بريديتين، ، nodejs و nodejs-dev, وقناة آي آر سي #node.js على فرينود. يجتمع المجتمع في NodeConf، مؤتمر مطورين سنوي يركز على Node.js.[11]
لغات أخرى
تمت كتابت بيئات مشابهة في لغات برمجة أخرى تشمل:
مراجع
- وصلة مرجع: https://github.com/janeasystems/nodejs-mobile.
- "The node Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 18 أكتوبر 2018. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|access-date=
(مساعدة) - "ويكيبيديا الإنجليزية" (باللغة الإنجليزية). الوسيط
|CitationClass=
تم تجاهله (مساعدة) - الوصول: 7 أكتوبر 2016.
- Wait, What's Node.js Good for Again?, By Klint Finley, January 25, 2011, ReadWriteHack نسخة محفوظة 14 أكتوبر 2012 على موقع واي باك مشين. [وصلة مكسورة]
- "Node.js Selected by InfoWorld for 2012 Technology of the Year Award". MarketWatch. January 11, 2012. مؤرشف من الأصل في 05 مارس 2012. اطلع عليه بتاريخ 26 يناير 2012. الوسيط
|CitationClass=
تم تجاهله (مساعدة); تحقق من التاريخ في:|تاريخ أرشيف=
(مساعدة) - Why Everyone Is Talking About Node, By Jolie O'Dell, March 10, 2011, Mashable نسخة محفوظة 02 أغسطس 2017 على موقع واي باك مشين.
- Alex Handy (2011-06-24). "Node.js pushes JavaScript to the server-side". SDTimes. مؤرشف من الأصل في 1 يونيو 2013. اطلع عليه بتاريخ 04 سبتمبر 2011. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Implementations/node.js - CommonJS Spec Wiki نسخة محفوظة 30 أغسطس 2017 على موقع واي باك مشين.
- Cade Metz (1st March 2011). "The Node Ahead: JavaScript leaps from browser into future". The Register. مؤرشف من الأصل في 6 نوفمبر 2018. الوسيط
|CitationClass=
تم تجاهله (مساعدة); غير مسموح بالترميز المائل أو الغامق في:|ناشر=
(مساعدة); تحقق من التاريخ في:|تاريخ=
(مساعدة) - NodeConf Schedule Announced, By Klint Finley, April 7, 2011, ReadWriteHack نسخة محفوظة 17 سبتمبر 2012 على موقع واي باك مشين. [وصلة مكسورة]
وصلات خارجية
- Node.js على موقع Open Hub (الإنجليزية)
- Node.js على موقع Free Software Directory (الإنجليزية)
- Node.js على موقع Framalibre (الفرنسية)
- بوابة برمجيات حرة
- بوابة علم الحاسوب
- بوابة برمجيات
- بوابة برمجة الحاسوب
- بوابة تقنية المعلومات