1- كورس Node.js بالعربي – Node.js Intro

مقدمة في Node.js

مقدمة في Node.js

Node.js هو بيئة تشغيل جافا سكريبت مفتوحة المصدر تُستخدم لتطوير تطبيقات الشبكة والمواقع الإلكترونية. تعتمد Node.js على محرك جافا سكريبت V8 الخاص بشركة جوجل، والذي يُعتبر أحد أسرع محركات جافا سكريبت في العالم. تم تصميم Node.js ليكون فعالًا وقابلًا للتوسعة، مما يجعله خيارًا شائعًا لتطوير تطبيقات الويب الحديثة.

مزايا Node.js

يتميز Node.js بأنه يمكنه التعامل مع عدد كبير من الاتصالات المتزامنة، مما يجعله مناسبًا لبناء التطبيقات التي تتطلب أداءً عاليًا واستجابة سريعة. واحدة من أهم مزايا Node.js هي نمطه غير المتزامن والمبني على الأحداث، مما يسمح للمطورين بكتابة تطبيقات تتجنب عمليات الحظر التي يمكن أن تحدث في الأنظمة المتزامنة التقليدية.

بالإضافة إلى ذلك، يتمتع Node.js بمجتمع كبير ونشط من المطورين الذين يساهمون بمكتبات وأدوات متعددة تُسهل عملية التطوير. يمكن للمطورين الاستفادة من هذه المكتبات لتقليل الوقت والجهد المطلوبين لإنشاء تطبيقات متميزة وموثوقة.

مثال على تطبيق بسيط باستخدام Node.js

لنلقِ نظرة على مثال بسيط لإنشاء خادم HTTP باستخدام Node.js. في هذا المثال، سنقوم بإنشاء خادم يعرض رسالة “مرحبًا بالعالم” عند الوصول إليه عبر المتصفح:


const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('مرحبًا بالعالمn');
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});
    

في هذا المثال، نستخدم وحدة http المدمجة في Node.js لإنشاء خادم HTTP. يقوم الخادم بالاستماع على المنفذ 3000 و IP المحلي 127.0.0.1، وعندما [شركة برمجة مصرية] يتم الوصول إليه، يستجيب برسالة نصية بسيطة.

استخدام Node.js في تطوير التطبيقات المعقدة

يمكن استخدام Node.js لتطوير تطبيقات أكثر تعقيدًا، مثل تطبيقات الويب [شركة برمجة مصرية] ذات الصفحة الواحدة (SPA) أو تطبيقات الوقت الحقيقي مثل الدردشة أو الألعاب عبر الإنترنت. بفضل دعمه لبروتوكولات مثل WebSockets، يمكن لـ Node.js التعامل مع الاتصالات المستمرة بين العميل والخادم، مما يتيح تجربة مستخدم تفاعلية وسلسة.

أيضًا، يمكن دمج Node.js بسهولة مع قواعد البيانات المختلفة، سواء كانت قواعد بيانات SQL مثل MySQL، أو NoSQL مثل MongoDB. هذا يجعله خيارًا مرنًا لتطوير التطبيقات التي تتطلب تخزين واسترجاع البيانات بشكل فعال.