تنبيه النظام

الرجاء تحديد نص من المقال أولاً لإنشاء بطاقة المشاركة.

1 / 10
Ahmed Bouchefra Profile Header
A.B

;Ahmed Bouchefra

1.2k منشورات
100k قارئ
9 كاتب

أنا أحمد بوشفرة، مبرمج ومؤلف تقني (Tech Author) متخصص في تبسيط مفاهيم البرمجة وتطوير الويب. منذ عام 2017، أقدّم محتوى موجّهًا للمبرمجين عبر موقع 10xdev blog، بالإضافة إلى منصّات مثل SitePoint وSmashing Magazine. أسلوبي عملي ويساعد المبرمجين على فهم التقنيات بسرعة وبناء مهارات قوية بثقة. كما تعاونت مع دار النشر Packt في إصدار كتاب Full Stack Development with Angular and GraphQL، مما يعكس جودة المحتوى الذي أقدمه للمبرمجين. يحتوي هذا الموقع على مقالات كتبتها للجمهور العربي، بالإضافة إلى مقالاتي المترجمة من موقع 10xdev blog ومقالات أخرى ساهم بها مبرمجون من مختلف الأنحاء.

ما هو Node.js وكيف يعمل؟ مقدمة سريعة

جاهز

ملخص سريع للمقال باستخدام الذكاء الاصطناعي

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

لخص هذا المقال واستخرج أهم النقاط (Key Takeaways) مع شرح المصطلحات التقنية. العنوان: ما هو Node.js وكيف يعمل؟ مقدمة سريعة - الرابط:
https://www.ahmedbouchefra.com/nodejs-does-work

من لغة مُحتقرة إلى تقنية أساسية

جافا سكريبت، التي كانت تُحتقر في الماضي من قبل لغات البرمجة الأخرى لكونها مجرد لغة سكريبتات في الويب، أصبحت لها هيبة كبيرة جدًا عندما ظهر Node.js في عام 2009. لم يقتصر دور Node.js على جعل جافا سكريبت تعمل خارج المتصفح، بل جاء ليثبت أنها قادرة على بناء الواجهات الخلفية (Backend) والأمامية (Frontend) بلغة برمجة واحدة. يمكن القول إنه التقنية الوحيدة المتألقة في هذا المجال، وفي رأيي، لا يوجد غيرها على الساحة تمنحك القدرة على بناء كلا الجانبين بنفس اللغة.

ما هو Node.js بالضبط؟

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

ملاحظة هامة: الأهم أن تفهم أن Node.js ليس إطار عمل (Framework) كما يعتقده الكثيرون، بل هو بيئة تشغيل (Runtime). وهذا ما تحدثنا عنه سابقًا في مقال مفصل.

ماذا يجب أن أتعلم في Node.js؟

يأتي السؤال المهم: ما الذي أحتاج إلى تعلمه في Node.js طالما أنه بيئة تشغيل؟

ببساطة، عليك أن تفهم أن لديه مجموعة من المكتبات القياسية (Standard Libraries) التي تأتي مدمجة معه، أي أنك لا تحتاج إلى تنزيل أي شيء خارجي لها. إذا كان لديك Node.js، يمكنك كتابة كود جافا سكريبت وتشغيله به.

ولكن، هل يجب أن أتعلم كل هذه المكتبات القياسية؟ ليس بالضرورة. أبرز المكتبات التي غالبًا ما ستستخدمها هي:

  • Events
  • File System (fs)
  • Console (وبالطبع console.log() التي نستخدمها جميعًا لتصحيح الأخطاء).

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

يحتوي Node.js أيضًا على خادم HTTP مدمج (http) يمكنك استخدامه لإنشاء خادم أو إرسال طلبات (Requests) كعميل (Client). ولكن في الحقيقة، لا تُستخدم هذه الوحدة بكثرة بشكل مباشر. على الأغلب، ستتجه لتعلم أطر عمل للواجهات الخلفية (Backend Frameworks) تعمل فوق Node.js، مثل:

  • Express.js
  • NestJS

أساس التعامل مع Node.js

الأهم حقًا الذي يجب أن تفهمه لتتعامل مع Node.js هو جافا سكريبت نفسها، وتحديدًا مفاهيم البرمجة غير المتزامنة (Asynchronous Programming) مثل:

  • async/await
  • الوعود (Promises)

السبب هو أن Node.js في الأساس يعتمد على مكدس تنفيذ أحادي الخيط (Single-threaded). وهنا يأتي دور البرمجة غير المتزامنة لجعل الكود يُنفذ بطريقة غير حاجزة (Non-blocking)، مما يضمن أداءً عاليًا للتطبيقات.

كان هذا شرحًا سريعًا لـ Node.js.