"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أساسيات Node.js

أساسيات Node.js

تم النشر بتاريخ 2024-11-08
تصفح:964

Node.js Basics

Node.js هي بيئة تشغيل جافا سكريبت تسمح للمطورين بتنفيذ كود جافا سكريبت خارج متصفح الويب. تم تصميمه استنادًا إلى محرك JavaScript V8 الخاص بـ Chrome، ويستخدم نموذج الإدخال/الإخراج الذي يحركه الحدث وغير المحظور، مما يجعله خفيف الوزن وفعالًا ومثاليًا للتطبيقات كثيفة البيانات التي تتطلب التعامل مع اتصالات متزامنة متعددة، مثل خوادم الويب وواجهات برمجة التطبيقات (APIs) والتطبيقات في الوقت الحقيقي.

تشمل الجوانب الرئيسية لـ Node.js ما يلي:

غير متزامن: يتعامل مع طلبات متعددة في وقت واحد دون انتظار اكتمال العمليات.

مؤشر ترابط واحد: يتم تشغيله على مؤشر ترابط واحد ولكنه يستخدم حلقة حدث لإدارة العديد من المهام بكفاءة.

منصة مشتركة: يمكن نشرها على أنظمة التشغيل Windows، وmacOS، وLinux.

NPM (Node Package Manager): نظام بيئي واسع من المكتبات والأدوات المتاحة لتبسيط عملية التطوير.

يمكّن Node.js المطورين من إنشاء تطبيقات قابلة للتطوير وعالية الأداء باستخدام JavaScript على جانب الخادم.

إليك أهم 5 ميزات في Node.js مع نماذج أمثلة لكل منها:

1. الإدخال / الإخراج غير المتزامن وغير المحظور

يسمح Node.js بالتنفيذ غير المتزامن للوظائف، مما يعني أن الخادم يمكنه التعامل مع طلبات متعددة في وقت واحد دون انتظار انتهاء العملية.

مثال:

const fs = require('fs');

// Asynchronous file reading
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error("Error reading file:", err);
    return;
  }
  console.log("File content:", data);
});

console.log("This prints before the file content is read!");

شرح: تتم قراءة الملف بطريقة غير محظورة، مما يسمح بتنفيذ تعليمات برمجية أخرى أثناء انتظار اكتمال عملية الملف.

2. خيط واحد مع حلقة الحدث

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

مثال:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

شرح: تسمح حلقة الحدث للخادم بمعالجة الطلبات الواردة المتعددة دون إنشاء موضوع جديد لكل طلب.

3. تنفيذ سريع مع محرك V8

تم بناء Node.js على محرك Google V8 JavaScript، المعروف بسرعته وأدائه.

مثال:

console.time('Execution Time');

let sum = 0;
for (let i = 0; i 



شرح: يحسب الكود مجموع الأرقام ويستخدم console.time لتوضيح مدى سرعة تنفيذه، وذلك بفضل تحسينات محرك V8.

4. NPM (مدير حزم العقدة)

يحتوي Node.js على مدير حزم مدمج، NPM، والذي يتيح الوصول إلى الآلاف من المكتبات والأدوات مفتوحة المصدر.

مثال:

npm install express

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Express server listening on port 3000');
});

شرح: في هذا المثال، نقوم بتثبيت واستخدام إطار عمل Express، وهو إطار عمل ويب شائع متاح من خلال NPM، لإنشاء خادم ويب بسيط.

5. التوافق عبر الأنظمة الأساسية

يمكن نشر تطبيقات Node.js عبر منصات مختلفة مثل Windows، وmacOS، وLinux.

مثال:

const os = require('os');

console.log('Platform:', os.platform());
console.log('Architecture:', os.arch());

شرح: يستخدم هذا البرنامج النصي وحدة نظام التشغيل لفحص وطباعة النظام الأساسي الحالي وبنية النظام، مما يوضح قدرة Node.js على العمل عبر بيئات مختلفة.

هذه الميزات تجعل Node.js متعدد الاستخدامات للغاية لبناء تطبيقات عالية الأداء وقابلة للتطوير.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/mrcaption49/nodejs-introduction-part-1-5c4a?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3