دروس Node.js للمبتدئين
مقدمة إلى Node.js
لقد قطع تطبيق الويب الحديث شوطًا طويلًا على مر السنين مع تقديم العديد من أطر العمل الشائعة مثل bootstrap وAngular JS وما إلى ذلك. وتعتمد كل هذه الأطر على الأطر الشائعة Javaسيناريو الإطار.
ولكن عندما يتعلق الأمر بتطوير التطبيقات المعتمدة على الخادم، كان هناك نوع من الفراغ، وهنا ظهرت Node.js في الصورة.
يعتمد Node.js أيضًا على Javaإطار عمل Script، ولكنه يُستخدم لتطوير التطبيقات المستندة إلى الخادم. أثناء قراءة البرنامج التعليمي بالكامل، سننظر في Node.js بالتفصيل وكيف يمكننا استخدامه لتطوير التطبيقات المستندة إلى الخادم.
منهج Node.js
أساسيات Node.js للمبتدئين
| ؟؟؟؟ الدرس 1 | تنزيل وتثبيت Node.js — كيفية تنزيل وتثبيت Node.js وNPM على النافذة |
| ؟؟؟؟ الدرس 2 | البرنامج التعليمي Node.js NPM - إنشاء ونشر وتوسيع وإدارة |
| ؟؟؟؟ الدرس 3 | قم بإنشاء خادم ويب HTTP في Node.js - البرنامج التعليمي مع مثال التعليمات البرمجية |
Node.js الأشياء المتقدمة!
| ؟؟؟؟ الدرس 1 | البرنامج التعليمي لـ Node.js Express Framework - تعلم في 10 دقائق |
| ؟؟؟؟ الدرس 2 | Node.js MongoDB البرنامج التعليمي - دليل كامل مع الأمثلة |
| ؟؟؟؟ الدرس 3 | البرنامج التعليمي لوعد Node.js - الدليل الكامل ل Javaوعود السيناريو |
| ؟؟؟؟ الدرس 4 | بلوبيرد وعود البرنامج التعليمي - دليل كامل لوعود بلوبيرد |
| ؟؟؟؟ الدرس 5 | Node.js Generators - ما هو رد الاتصال مقابل Node.js Generators |
| ؟؟؟؟ الدرس 6 | البرنامج التعليمي لتدفقات Node js - تدفق الملفات، الأنابيب |
| ؟؟؟؟ الدرس 7 | البرنامج التعليمي لاختبار وحدة Node.js مع ياسمين - دليل كامل |
| ؟؟؟؟ الدرس 8 | دروس GraphQL - ما هو GraphQL؟ تعلم مع المثال |
اعرف الفرق!
| ؟؟؟؟ الدرس 1 | GraphQL مقابل REST - ماهو الفرق؟ |
| ؟؟؟؟ الدرس 2 | Node.Js مقابل AngularJS - اعرف الفرق |
| ؟؟؟؟ الدرس 3 | Node.js مقابل Python - ماهو الفرق؟ |
أسئلة المقابلة لـ Node.js والبرنامج التعليمي PDF
| ؟؟؟؟ الدرس 1 | أسئلة مقابلة Node.js - أهم 25 سؤالاً وأجوبة لمقابلة Node.js |
| ؟؟؟؟ الدرس 2 | البرنامج التعليمي Node.js PDF - تنزيل البرنامج التعليمي Node.js PDF للمبتدئين |
ما هو Node.js؟
Node.js هي بيئة تشغيل مفتوحة المصدر ومتعددة الأنظمة الأساسية تستخدم لتطوير تطبيقات الويب من جانب الخادم. تتم كتابة تطبيقات Node.js Javaيمكن تشغيل البرنامج النصي على مجموعة واسعة من أنظمة التشغيل.
يعتمد Node.js على بنية تعتمد على الأحداث وواجهة برمجة تطبيقات الإدخال/الإخراج غير الحظرية والتي تم تصميمها لتحسين إنتاجية التطبيق وقابليته للتوسع لتطبيقات الويب في الوقت الفعلي.
على مدى فترة طويلة من الزمن، كان الإطار المتاح لتطوير الويب يعتمد جميعًا على نموذج عديم الحالة. النموذج عديم الحالة هو حيث لا يتم الاحتفاظ بالبيانات التي تم إنشاؤها في جلسة واحدة (مثل المعلومات حول إعدادات المستخدم والأحداث التي حدثت) لاستخدامها في الجلسة التالية مع هذا المستخدم.
كان لابد من بذل الكثير من الجهد للحفاظ على معلومات الجلسة بين الطلبات المقدمة للمستخدم. ولكن مع Node.js، أصبح هناك أخيرًا طريقة لتطبيقات الويب للحصول على اتصالات ثنائية الاتجاه في الوقت الفعلي، حيث يمكن لكل من العميل والخادم بدء الاتصال، مما يسمح لهما بتبادل البيانات بحرية.
لماذا نستخدم Node.js؟
سنلقي نظرة على القيمة الحقيقية لـ Node.js في الفصول القادمة، ولكن ما الذي يجعل هذا الإطار مشهورًا جدًا. على مر السنين، كانت معظم الطلبات تعتمد على إطار الاستجابة لطلبات عديمي الجنسية. في هذا النوع من التطبيقات، يعود الأمر للمطور للتأكد من وضع الكود الصحيح لضمان الحفاظ على حالة جلسة الويب أثناء عمل المستخدم مع النظام.
ولكن مع تطبيقات الويب Node.js، يمكنك الآن العمل في الوقت الفعلي والحصول على اتصال ثنائي الاتجاه. يتم الحفاظ على الحالة، ويمكن للعميل أو الخادم بدء الاتصال.
مميزات Node.js
دعونا نلقي نظرة على بعض الميزات الرئيسية لـ Node.js
- تساعد عمليات الإدخال/الإخراج غير المتزامنة التي تعتمد على الأحداث في معالجة الطلبات المتزامنة – ربما تكون هذه هي أهم نقطة بيع في Node.js. تعني هذه الميزة بشكل أساسي أنه إذا تلقى Node طلبًا لبعض عمليات الإدخال/الإخراج، فسوف ينفذ العملية في الخلفية ويستمر في معالجة الطلبات الأخرى.
وهذا يختلف تمامًا عن لغات البرمجة الأخرى. ويرد مثال بسيط على ذلك في الكود أدناه
var fs = require('fs');
fs.readFile("Sample.txt",function(error,data)
{
console.log("Reading Data completed");
});
- يبحث مقتطف التعليمات البرمجية أعلاه في قراءة ملف يسمى Sample.txt. في لغات البرمجة الأخرى، لن يحدث السطر التالي من المعالجة إلا بعد قراءة الملف بأكمله.
- لكن في حالة Node.js، الجزء المهم من التعليمات البرمجية الذي يجب ملاحظته هو إعلان الوظيفة ("وظيفة (خطأ، بيانات)"). يُعرف هذا بوظيفة رد الاتصال.
- ما يحدث هنا هو أن عملية قراءة الملف ستبدأ في الخلفية. ويمكن أن تحدث معالجة أخرى في نفس الوقت أثناء قراءة الملف. بمجرد اكتمال عملية قراءة الملف، سيتم استدعاء هذه الوظيفة المجهولة، وسيتم كتابة النص "اكتملت قراءة البيانات" في سجل وحدة التحكم.
- تستخدم العقدة V8 Javaمحرك تشغيل البرنامج النصي، والذي يستخدمه Google Chrome. العقدة لديها غلاف فوق Javaمحرك النصوص الذي يجعل محرك وقت التشغيل أسرع بكثير وبالتالي تصبح معالجة الطلبات داخل Node أسرع أيضًا.
- التعامل مع الطلبات المتزامنة – هناك وظيفة رئيسية أخرى لـ Node وهي القدرة على التعامل مع الاتصالات المتزامنة بأقل قدر ممكن من الحمل في عملية واحدة.
- تستخدم مكتبة Node.js Javaالبرنامج النصي – هذا جانب آخر مهم من جوانب التطوير في Node.js. إن جزءًا كبيرًا من مجتمع التطوير على دراية جيدة بلغة JavaScript، وبالتالي، يصبح التطوير في Node.js أسهل بالنسبة للمطور الذي يعرف JavaScript.
- يوجد مجتمع نشط وحيوي لإطار عمل Node.js. وبسبب المجتمع النشط، تتوفر دائمًا تحديثات رئيسية للإطار. وهذا يساعد في إبقاء الإطار محدثًا دائمًا بأحدث الاتجاهات في تطوير الويب.
من يستخدم Node.js
يتم استخدام Node.js من قبل العديد من الشركات الكبيرة. فيما يلي قائمة بعدد قليل منهم.
- Paypal – بدأت العديد من المواقع داخل Paypal أيضًا في الانتقال إلى Node.js.
- LinkedIn - يستخدم LinkedIn Node.js لتشغيل ملفاته الهاتف الخوادم التي تعمل على تشغيل iPhone، Androidومنتجات ويب الجوال.
- قامت شركة Mozilla بتنفيذ Node.js لدعم واجهات برمجة التطبيقات للمتصفح والتي لديها نصف مليار عملية تثبيت.
- يستضيف موقع eBay خدمة HTTP API الخاصة به في Node.js
متى تستخدم Node.js
يعد Node.js هو الأفضل للاستخدام في البث المباشر أو تطبيقات الوقت الفعلي المستندة إلى الأحداث مثل
- تطبيقات الدردشة
- خوادم الألعاب – خوادم سريعة وعالية الأداء تحتاج إلى معالجة آلاف الطلبات في وقت واحد، فهذا إطار عمل مثالي.
- جيد للبيئة التعاونية – يعد هذا أمرًا جيدًا للبيئات التي تدير المستندات. في بيئة إدارة المستندات، سيكون لديك العديد من الأشخاص الذين يقومون بنشر مستنداتهم وإجراء تغييرات مستمرة عن طريق سحب المستندات وإيداعها. لذا فإن Node.js مفيد لهذه البيئات لأنه يمكن تشغيل حلقة الأحداث في Node.js كلما تم تغيير المستندات في بيئة مُدارة للمستندات.
- خوادم الإعلانات – مرة أخرى هنا يمكن أن يكون لديك آلاف الطلبات لسحب الإعلانات من الخادم المركزي ويمكن أن يكون Node.js إطارًا مثاليًا للتعامل مع هذا.
- خوادم البث - سيناريو مثالي آخر لاستخدام Node هو خوادم بث الوسائط المتعددة حيث يطلب العملاء سحب محتويات الوسائط المتعددة المختلفة من هذا الخادم.
يعد Node.js جيدًا عندما تحتاج إلى مستويات عالية من التزامن ولكن قدرًا أقل من الوقت المخصص لوحدة المعالجة المركزية.
الأفضل على الإطلاق، بما أن Node.js مبني على javascript، فهو الأنسب عند بناء تطبيقات جانب العميل المستندة إلى نفس إطار عمل javascript.
متى لا تستخدم Node.js
يمكن استخدام Node.js للعديد من التطبيقات ذات الأغراض المختلفة. السيناريو الوحيد الذي لا ينبغي استخدامه فيه هو وجود أوقات معالجة طويلة، وهو ما يتطلبه التطبيق.
تم تصميم العقدة لتكون ذات ترابط واحد. إذا كان التطبيق مطلوبًا لتنفيذ بعض العمليات الحسابية طويلة الأمد في الخلفية، فلن يتمكن من معالجة أي طلبات أخرى. كما تمت مناقشته أعلاه، يتم استخدام Node.js بشكل أفضل حيث تحتاج المعالجة إلى وقت أقل مخصص لوحدة المعالجة المركزية.
