مقدمة
Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات، تُمكّن المطورين من إنشاء تطبيقات أمامية وخلفية باستخدام JavaScript. أصدرها رايان دال عام ٢٠٠٩. في هذه المقالة، ستتعرف على Node.js وتتعلم ما يلي:
- ما هو Node.js؟
- الفرق بين بيئة Node.js والمتصفح.
- لماذا يجب عليك تعلم Node.js.
- كيفية البدء مع Node.js.
- مصادر لمساعدتك على تعلم Node.js.
ما هو Node.js؟
Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات. قد يبدو هذا إجابة بسيطة ومباشرة. لكن بالنسبة للمبتدئين، قد يثير هذا التعريف المزيد من التساؤلات. لذا، دعونا نحلله ونفهم معناه.
- Node.js مفتوح المصدر: هذا يعني أن شيفرته المصدرية متاحة للعامة، ويديرها مساهمون من جميع أنحاء العالم. يوضح لك دليل مساهمة Node.js كيفية المساهمة.
- Node.js متعدد المنصات: لا يعتمد Node.js على أي نظام تشغيل. يعمل على أنظمة Linux وmacOS وWindows.
- Node.js هي بيئة تشغيل JavaScript: عند كتابة شيفرة JavaScript في محرر النصوص، لا يمكن لهذه الشيفرة تنفيذ أي شيء إلا بتشغيلها (أو تنفيذها). وتحتاج إلى بيئة تشغيل لتشغيل شيفرتك.
تحتوي متصفحات مثل كروم وفايرفوكس على بيئات تشغيل. ولذلك، يمكنها تشغيل أكواد جافا سكريبت. قبل ظهور Node.js، كان من الممكن تشغيل جافا سكريبت فقط في المتصفح، وكان يُستخدم فقط لبناء تطبيقات الواجهة الأمامية.
يوفر Node.js بيئة تشغيل خارج المتصفح. وهو مبني أيضًا على محرك جافا سكريبت V8 الخاص بمتصفح Chrome. يتيح لك هذا إنشاء تطبيقات باستخدام لغة برمجة جافا سكريبت نفسها التي قد تكون على دراية بها.
الاختلافات بين المتصفح ووقت تشغيل Node.js
كلٌّ من المتصفحات وNode.js قادر على تشغيل برامج JavaScript. ولكن هناك بعض الاختلافات الرئيسية التي يجب معرفتها. وتشمل هذه الاختلافات ما يلي.
الوصول إلى واجهات برمجة تطبيقات DOM
باستخدام تطبيق المتصفح، يمكنك الوصول إلى نموذج كائن المستند (DOM). ويمكنك تنفيذ جميع عمليات DOM. لكن Node.js لا يستطيع الوصول إلى DOM.
يتيح Node.js الوصول إلى جميع موارد النظام تقريبًا لتطبيقاتك. هذا يعني أنه يمكنك التفاعل مع نظام التشغيل، والوصول إلى أنظمة الملفات، وقراءة الملفات وكتابتها. مع ذلك، لا يمكنك الوصول إلى نظام التشغيل وأنظمة الملفات عبر المتصفح.
النافذة مقابل الكائن العالمي
يحتوي جافا سكريبت على كائن عالمي مُدمج. يُسمى كائن جافا سكريبت العالمي للمتصفح "كائن النافذة". في Node.js، يُعرف الكائن العالمي باسم "العالمي". يحتوي كائن النافذة على دوال وخصائص متاحة فقط في بيئة المتصفح.
التحكم في إصدار وقت التشغيل
مع Node.js، يمكنك اختيار إصدار تشغيل تطبيقك على الخادم. ونتيجةً لذلك، يمكنك الاستفادة من ميزات JavaScript الحديثة دون القلق بشأن عدم التوافق بين الإصدارات. قارن هذا ببيئة تشغيل المتصفح. بصفتك مطورًا، لا يمكنك التحكم في إصدار المتصفحات التي يستخدمها عملاؤك للوصول إلى تطبيقك.
تحميل الوحدات النمطية (الاستيراد مقابل طلب الكلمات الرئيسية)
يوفر Node.js دعمًا جاهزًا لوحدات CommonJS وES. يمكنك تحميل الوحدات باستخدام الكلمة المفتاحية require (في بنية CommonJS) والكلمة المفتاحية import (في بنية ES). تدعم بعض المتصفحات الحديثة وحدات ES، ما يعني إمكانية استخدام وحدات ES المستوردة. ولكنك لا تزال بحاجة إلى إنشاء حزم مخصصة للمتصفحات القديمة التي لا تدعم وحدات ES.
ما مقدار JavaScript الذي تحتاجه للبدء في استخدام Node؟
إذا كنت مبتدئًا تمامًا في جافا سكريبت، أنصحك بالبدء بالأساسيات. أولًا، تعرّف على المفاهيم الأساسية لجافا سكريبت. بعد ذلك، يمكنك الانتقال إلى تعلم كيفية بناء تطبيقات من جهة الخادم باستخدام Node.js. لا يُمكنك إكمال تعلم كل شيء عن جافا سكريبت. إذًا، كيف تُحدد متى تكون لديك معرفة كافية بجافا سكريبت للبدء بـ Node.js؟ تُوفر وثائق Nodejs.dev قائمة بمواضيع جافا سكريبت التي يجب تعلمها قبل التعمق في Node.js. بمجرد إتقانك لأساسيات جافا سكريبت، يُمكنك البدء بـ Node.js.
هل يجب عليك تعلم Node.js؟
فيما يلي بعض الأسباب التي تدفعك إلى تعلم Node.js
يتيح لك Node.js كتابة JavaScript على كل من العميل والخادم.
من مزايا Node.js أنها تتيح لك العمل على الواجهتين الأمامية والخلفية لتطبيقك. وتستخدم لغة برمجة واحدة - JavaScript - لتحقيق ذلك.
هذه أخبار سارة لمطوري الواجهة الأمامية الذين يعملون باستخدام جافا سكريبت. إذا كنت ترغب في البدء بالعمل على جانب الخادم، فهذا أسهل من تعلم لغة واجهة خلفية جديدة من الصفر.
لدى Node مجتمع نابض بالحياة.
كما ذكرتُ سابقًا في المقال، Node.js مفتوح المصدر، ويُدار بنشاط من قِبل مطورين من جميع أنحاء العالم.
هناك مجتمع نابض بالحياة حول Node.js. يمكنك العثور على دروس تعليمية وحلول رائعة للمشاكل التي تواجهها.
تم بناء Node على محرك V8 الخاص بـ Google Chrome.
Node.js مبني على محرك جافا سكريبت V8 الخاص بمتصفح Chrome. هذا مهم لأن محرك V8 يُشغّل بعض تطبيقات Google داخل المتصفح، مثل Gmail. ولذلك، تُولي Google اهتمامًا كبيرًا لضمان تقديم أداء عالٍ.
طلب السوق
تستخدم العديد من الشركات الكبرى، مثل نتفليكس وأوبر وباي بال ولينكدإن وغيرها، Node.js. وإلى جانب الشركات الكبرى، تستخدم العديد من الشركات الناشئة أيضًا Node.js في تطوير تطبيقاتها.
إن تعلم كيفية العمل مع Node.js سيجعلك مرشحًا مرغوبًا فيه في سوق العمل.
مكتبة NPM
مكتبة NPM من الموارد الرائعة التي تأتي مع Node.js. تتضمن المكتبة سجلًا لأكثر من مليون حزمة. الحزمة هي جزء من الكود قابل لإعادة الاستخدام.
يمكنك إنشاء حزمة لمهمة أو مشكلة متكررة ومشاركة الكود مع الآخرين من خلال السجل.
يمكنك أيضًا تنزيل الحزم التي شاركها الآخرون. هناك حزم للعديد من المهام التي يقوم بها المطورون بانتظام.
نتيجة
إن تدوينة كهذه لا تكفي لتعلم كل ما تحتاج معرفته عن Node.js. هدف هذه المقالة هو تقديم لمحة عامة عن Node.js. إذا لم تكن متأكدًا مما هو Node.js، آمل أن تُجيب هذه المقالة على استفساراتك وتُزيل أي لبس لديك.









