recent
أخبار ساخنة

ما هو Node.js وما استخداماته

GitAgri
الصفحة الرئيسية

مرحبا بكم متابعي مدونة كبسولة البرمجة في مقال اليوم سنتعرف على Node.js ما هو ؟ وما مميزاته واستخداماته ؟ 

ما هو Node.js



تعتبر لغة JavaScript من اشهر لغات البرمجة حول العالم ويتم الاعتماد عليها في بناء ملايين المواقع الالكترونية عبرالعالم , على مدار سنواتها العشر الاولى كان استخدام لغة Javascript يقتصر فقط على المتصفحات وفي تطوير الواجهات الامامية Front-end وكان على المطورون الاعتماد على لغات اخرى في الواجهات الخلفية Back-end مثل Php و C# وغيرها .

ماهو Node.js

Node.js وهو عبارة على بيئة تشغيل ل JavaScript مفتوحة المصدر ومتععدة المنصات و single-threaded , يمكننا Node.js من  انشاء تطبيقات من جانب الخادم Server-side يعتمد Node.js على محرك V8 ويعمد على معمارية non-blocking I/O مما يجعله فعالا ومناسبا للتطبيقات اللحضية Real Time App , تم بناء Node.js عن طريق لغة Javascript و C++ .

كيف يعمل Node.js

يعتمد Node.js على مفهوم Single Threaded Event Loop للتعامل مع اكثر من عميل في نفس الوقت لفهم الموضوع اكثر سنعطي مثلا على ذالك , في اللغات الاخرى التي تعتمد على مفهوم blocking I/O وابرزها لغة Php عندما يقوم العميل بارسال طلب فان السيرفر ياخد  طلب العميل و يرسله الى قواعد البيانات وينتضر حتى يصله الرد ثم ياخد الرد الى العميل ثم يمر للعميل الثاني والثالث  اما في Node.js الذي يعتمد على non-Blocking I/O فو يقوم باخد طلب العميل الاول الى قاعدة البيانات ثم يعود وياخد طلب العميل الثاني ويجد ان جواب العميل الاول جاهز ويرجع الجواب للعميل الاول ثم ياخد طلب العمل الثالث وهكذا دواليك فالسيرفر لا يتنضر الحصول على الاجابة فيستغل هذا الوقت فاخد طلب اخر الى قواعد البيانات وهذ ما يعطي السرعة ل Node.js .

مميزات Node.js 

  • يتميز Node.js بسهولته ويعتبر الخيار الامثل لمطوري المواقع لوفرة مصادرالتعلم بالاضافة لمجتمع كبير من المطورين يقومون بتطوير المكتبات والحزم التي تساعدك في نباء مشاريعك بسهولة ويقدمون لك المساعدة لحل جميع المشاكل التي تواجهها .
  • يتميز Node.js بقابلية التطور ولكونه single-threaded فانه قادر على التعامل مع عدد قياسي من من الاتصالات المتزامنة ذات الانتاجية العالية .
  • يؤدي  تنفيذ سلاسل الطلبات عن طريق non-blocking I/O الى جعل Node.js اكثر سرعة وكفاءة .
  • يتوفر Node.js على الاف الحزم المفتوحة المصدر التي تساعدك على تنفيذ مشاريعك بسهولة .
  • يمكننا Node.js من تشغيل JavaScript في اي مكان وهذا ما يمكننا من انشاء تطبيقات للهواتف الذكية كذالك تطبيقات سطح المكتب باستخدام Node.js .
  • Node.js هو خيار سهل حيت يمكن للمطورين انشاء مواقع ومشاريع باستخدام لغة Javascript فقط مما يسهل عملية صيانة الاخطاء البرمجية .

حجم سوق Node.js 

في الاونة الاخرة نمت وتطورت Node.js بسرعة خيالية حيت تجاوز Node.js اكثر من مليار تحميل وفقا ل W3Techs يتم استخدام Node.js في 2% من مواقع الويب في كل انحاء العالم وهذا اجمالي  حاولي 30 مليون موقع يعتمد على Node.js , واختيار العديد من الشركات الكبرى حول العالم الاعتماد على Node.js لم ياتي من محض صدفة وانما هو قناعة بالمميزات التي يوفرها Node.js , واليك اشهر الشركات التي تعتمد على Node.js .
  1. تويتر Twitter 
  2. سبوتيفاي Spotify 
  3. ايباي Ebay 
  4. ريديت Reddit 
  5. لينكدين LinkdIn 
  6. جودادي Godaddy 


تنصيب Node.js 

اذا كنت تعتمد على نضام التشغيل MacOs يمكنك تنصيب Node.js بالاعتماد على Homebrew عن طريق تنفيذ الامر التالي في الترمنال .
 brew install node
اذا كنت تعتمد على نضام التشغيل Ubuntu Linux يمكنك تثبت Node.js عن طريق الاوامر التالية .
sudo apt update
sudo apt install nodejs
اما اذا كنت تعتمد على نضام التشغيل windows فيمكنك تحميل Node.js من الموقع الرسمي وتثبته بطريقة عادية . قم بتحميله من هنا  , وللتحقق من تنصيب Node.js بنجاح يمكنك معرفة النسخة المثبتة عن طريق تنفيد الامر التالي .
node -v
ان تم تنصيب Node.js بنجاح يجب ان يعطيك نتيجة مشابه لهذه 
v14.18.0

انشاء برنامج Hello World عن طريق Node.js 

عن البدا في تعلم اي تقنية او لغة برمجة فغالبا ما نبدا ببناء برنامج يقوم بطباعة لنا كلمة Hello Wold ونفس الامر سنتبعه في شرح اليوم , للبدا في كتابة اول برنامج لك ب Node.js يجب ان تمتك  محرر اكواد مثل Vs Code و Atom وغيرها , بعد فتحر محرر الاكواد قم بانشاء ملف Javascript وسميه مثلا Server.js وقم بكتابة الكود التالي بداخله 


// server.js
const http = require('http');
const server = http.createServer((req, res) => {
  res.end('Hello World! Welcome to Capsuleprog.com');
});
server.listen(8080, console.log("Server Running")
});

// By www.capsuleprog.com


قم بحفض الملف تم توجه الى الترمنال او CMD ثم قم بفتح المسار الذي يتواجد فيه ملف Server.js تم قم بتنفيذ الامر التالي 
node server.js
سيبدا السيرفر في العمل لرؤية النتيجة قم بفتح المتصفح وافتح هذا الرابط  http://localhost:8080 وستضهر لك النتيجة على الشكل التالي .
Hello World! Welcome to Capsuleprog.com
الى هنا نكون قد وصلنا الى نهاية مقال اليوم اتمنى انكم استفدتم منه ولو بمعلومات قليلة , ان كان لديكم اي تساؤلات او استفسارات لاتنسوا طرحها في صندوق التعليقات او في صفحة اتصل بنا .




































google-playkhamsatmostaqltradent