recent
أخبار ساخنة

لماذا تفوز Node.Js بشعبية كبيرة بين المطورين في عالم جافا سكريبت ؟

لماذا تفوز Node.Js بشعبية كبيرة بين المطورين في عالم جافا سكريبت ؟



يتفوق عالم JavaScript في تطوير تطبيقات الأجهزة المحمولة ، وشعبيته بين المطورين حول العالم دليل على ذلك. ومع ذلك ، عندما أصدر Ryan Dahl node.js في عام 2009 كـ JavaScript لتطوير التطبيقات من جانب الخادم ، فقد تسبب على الفور في ضجة كبيرة وتم اعتماده من قبل العديد من عمالقة التكنولوجيا والشركات حول العالم على مر السنين. أوائل مستخدمي هذه التقنية هم Netflix و eBay و Uber و Walmart وما إلى ذلك. كمشروع مفتوح المصدر ، يتم رعاية Node.js من قبل Joyent ، مزود حلول الحوسبة السحابية والاستضافة. ثم أصبحت أول شركة تستخدم node.js لتطوير تطبيقات الهاتف المحمول.

ما هو Node.JS؟

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

الوحدة النمطية Node.js:

(Rauch، G. (2012). Smashing Node.JS JavaScript في كل مكان. John Wiley & Sons Inc.)

هناك ثلاث وحدات ، وحدة أساسية ، وحدة طرف ثالث ووحدة محلية. الوحدة الأساسية هي وحدة node.js مضمنة ومثبتة مسبقًا. تتم الإشارة إلى الوحدة الأساسية بالاسم فقط ، بينما يتم تعيين الوحدات النمطية المحلية ووحدات الطرف الثالث إلى مسار الملف. وحدات الطرف الثالث هي وحدات مسجلة في NPM (Node Package Manager) ويتم تثبيتها باستخدام الأمر npm. بشكل افتراضي ، يقوم NPM بتفريغ الوحدات النمطية المثبتة من مستودع NPM إلى الدليل المحلي node_modules. الوحدة المحلية هي وحدة ذاتية الصنع.

مدير حزمة NPM-Node:

هذا هو مدير الحزم المثبت مسبقًا ، والذي يتضمن تنزيل حزم من الوحدات النمطية المحلية المختلفة ، والنشر الذاتي عن طريق تحليل التبعيات ، وتشغيل الاختبارات ، وتثبيت أدوات سطر أوامر npm. الغرض الرئيسي من NPM هو تسهيل وصول المطورين إلى المكونات القابلة لإعادة الاستخدام وتثبيتها من المكتبات العامة والمستودعات. يمكن العثور على القائمة الكاملة للوحدات المجمّعة على موقع NPM على الويب رابط الاداء أو يمكن الوصول إليها باستخدام أداة NPM CLI (مترجم سطر الأوامر) ، والتي يتم تثبيتها تلقائيًا باستخدام Node.js. النظام البيئي للوحدات النمطية للعقدة مفتوح للجميع ، ويمكن لأي شخص نشر الوحدات الخاصة به ليتم سردها في مستودع NPM.

كيف يعمل Node.js؟

في وقت سابق ، كانت متصفحات الويب تستخدم لإنشاء سلسلة رسائل جديدة لكل طلب للتعامل مع التزامن. ويمكن لـ node.js التعامل مع اتصالات متعددة وطلبات متزامنة من خلال نظام أحادي السلسلة. لذلك ، يمكن لمطوري node js تطوير تطبيقات ذات استجابة عالية وبصمة ذاكرة منخفضة.

وظيفة حلقة الحدث غير المحظورة:

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

نموذج أحادي الخيوط:

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

ميزات البرمجة غير المتزامنة:

يمكن للبرمجة غير المتزامنة معالجة الطلبات من خلال الاستخدام الفعال لدورات الساعة المحدودة والذاكرة المتوفرة في بنيتها ذات الخيوط المفردة. جميع واجهات برمجة التطبيقات (واجهات برمجة التطبيقات) المكشوفة من خلال node.js غير متزامنة. تدمج العقدة البرمجة غير المتزامنة في بنيتها من خلال واجهات برمجة التطبيقات غير المتزامنة مع وظائف رد الاتصال.

AJAX و Node.js:

AJAX هي تقنية أخرى تعمل على JavaScript ، وغالبًا ما يتم الخلط بينها وبين node.js. ومع ذلك ، فإن الاثنين مختلفان تمامًا عن بعضهما البعض. يتم استخدام AJAX لعمليات العميل لتحديث جميع صفحات المحتوى ديناميكيًا دون تحديث. ويتم استخدام node.js لتطوير التطبيقات من جانب الخادم مع مكدس مكونات كامل. JavaScript و XML (AJAX) غير المتزامنين هي تقنية تستخدم لتطوير برامج أو تطبيقات ويب على شبكة الإنترنت لخادم العميل. هذا يختلف عن node.js ، الذي لا يسمح بتبادل البيانات من المستخدم النهائي إلى خادم العميل

google-playkhamsatmostaqlTechno like - تكنو لايك