Node.js

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات، التي تستطيع تشغيل شيفرة JavaScript خارج المتصفحات.

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

راجع صفحة «طريقة الاستعمال وتشغيل الأمثلة» لتبيين كيفية استعمال Node.js.

دورة تطوير التطبيقات باستخدام لغة JavaScript
  • 55 ساعة فيديو تدريبية
  • من الصفر دون الحاجة لخبرة مسبقة
  • شهادة معتمدة من أكاديمية حسوب
  • متابعة أثناء الدورة من فريق مختص

طريقة الاستعمال وتشغيل الأمثلة (Usage & Example)

تبيّن هذه الصفحة طريقة استعمال Node.js وكيفية تشغيل الأمثلة الخاصة بها.

اختبارات التوكيد (Assertion Testing)

توفِّر الوحدة assert مجموعةً من اختبارات التوكيد البسيطة التي يمكن استعمالها للتأكد من الثوابت (invariants).

الخطافات غير المتزامنة (async_hooks)

توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js.

الصنف Buffer

أُنشِئ الصنف Buffer ليكون جزءًا من واجهة Node.js البرمجيَّة من أجل التعامل مع المجاري الثمانيَّة (octet streams) في مجاري TCP، وعمليات أنظمة الملفات، وسياقاتٍ الأخرى.

العمليات الأبناء (Child Processes)

توفِّر الوحدة child_process القدرة على توليد (spawn) عمليات أبناء.

العناقيد (Cluster)

تسمح الوحدة cluster بإنشاء عمليات أبناء بسهولة تتشارك جميعها منافذ الخادم نفسها.

خيارات سطر الأوامر (Command Line Options)

يتوافر العديد من خيارات سطر الأوامر التي يمكن استعمالها مع Node.js. تُستعمَل هذه الخيارات في تنقيح أخطاء الشيفرة، والتحكم في كيفيَّة تنفيذ الشيفرة، وغيرها من الأمور المفيدة.

الوحدة Console

توِّفر الوحدة console طرفيَّة بسيطة لتنقيح الأخطاء تشبه طرفيَّة JavaScript التي توفِّرها متصفحات الويب.

الوحدة Crypto

توفِّر الوحدة crypto وظيفة التشفير (cryptographic functionality) التي تتضمن مجموعةً من المغلفات (wrappers) التي تُستعمَل من أجل دوال شيفرة Hash في OpenSSL، والتشفير HMAC، والتشفير (cipher)، وفك التشفير (decipher)، والتوقيع (sign)، والتحقق (verify).

منقح الأخطاء (Debugger)

تبيان كيفية تنقيح برمجيات Node.js باستخدام المنقح المضمَّن فيها، وباستخدام المنقح المضمن في المتصفحات.

الوحدة DNS

تحتوي الوحدة dns على دوال تستعمل خدمات نظام التشغيل الضمنية لتنفيذ عملية استبيان الاسم (name resolution)، وعلى الدوال التي تتصل بخادم DNS حقيقي لتنفيذ عملية استبيان الاسم.

وحدات ECMAScript

تبيان ما هي ميزات ECMAScript التي تدعمها Node.js.

الأخطاء (Errors)

أنواع الأخطاء في Node.js وأسباب حدوثها.

الأحداث (Events)

شرح الأحداث في بيئة Node.js.

التعامل مع نظام الملفات

توفِّر الوحدة fs‎ واجهةً برمجيةً للتعامل مع نظام الملفات بطريقة قريبة جدًا من دوال POSIX القياسية.

الكائنات العامة (Global Objects)

هذه الكائنات متوفرة في جميع الوحدات (modules).

الوحدة HTTP

صُمِمت واجهات HTTP في Node.js لدعم العديد من ميزات البروتوكول التي كانت صعبة الاستخدام تقليديًا.

الوحدة HTTP/2

الوحدة HTTPS

HTTPS هو بروتوكول HTTP على TLS/SSL. وهو ينفذ كوحدة منفصلة في Node.js.

الوحدة Inspector

توفر وحدة المراقب inspector واجهة تطبيقات API للتفاعل مع المراقب V8.

نظام الوحدات

يعامل كل ملف في نظام الوحدات في بيئة Node.js كوحدة منفصلة. تشرح هذه الصفحة نظام الوحدات في Node.js.

الوحدة Net

توفر الوحدة net واجهة تطبيقات لشبكة اتصال غير متزامن لإنشاء خوادم قائمة على تدفق اتصالات TCP أو IPC والعملاء.

الوحدة OS

توفر وحدة نظام التشغيل os عددًا من توابع الأدوات المساعدة المتعلقة بنظام التشغيل.

الوحدة path

توفر وحدة المسار path أدوات للعمل مع مسارات الملفات والمجلدات.

Performance Timing API

تقدم الواجهة البرمجية لتوقيت الأداء تطبيقًا لمواصفات W3C Performance Timeline.

الكائن Process

يكون الكائن process عامًا والذي يزود معلومات عن عملية Node.js الحالية ورقابةً عليها

الوحدة Query String

توفر الوحدة querystring مجموعة من الأدوات لتحليل وتنسيق سلاسل الاستعلامات في الروابط (URL query strings).

الوحدة Readline

توفّر الوحدة readline واجهةً برمجيةً لقراءة سطر واحد من البيانات من المجرى القابل للقراءة كل مرَّة على حدة.

الوحدة REPL

تقدّم الوحدة repl تطبيق قراءة وتقييم وطباعة حلقة تكرار والذي يكون متوافرًا كبرنامج بحد ذاته (مستقل) أو مُتَضمّن في تطبيق آخر.

الوحدة Stream

المجرى هو واجهة مجرّدة للعمل مع البيانات المتدفقة في Node.js. توفّر الوحدة stream واجهة برمجية (API) أساسية تجعل من السهل بناء كائنات تتعامل مع واجهة المجرى.

يمكن أن تكون المجاري قابلة للقراءة، أو قابلة للكتابة، أو كليهما. كل المجاري هي نسخ من الصنف EventEmitter.

الوحدة String Decoder

وحدة فك الترميز string_decoder توفر واجهة برمجية API لفك ترميز كائنات Buffer إلى سلاسل بطريقة تصون المحارف متعددة البايتات المرمزة بواسطة UTF-8 و UTF-16.

الوحدة Timer

توفر الوحدة timer واجهة برمجيّة (API) عامة (global) لجدولة (scheduling) الدوال، مما يُمكِّن استدعاءها في فترة مستقبليّة معينة.

الوحدة TLS

تتبع الأحداث (Trace Events)

يوفر تتبع الأحداث آلية لتركيز معلومات التتبع التي  تولدت بواسطة V8، ونواه Node.js، وبرمجية مساحة المستخدم (userspace code).

الوحدة TTY

تبيان كيفية التعامل مع الطرفية باستخدام Node.js.

مقابس UDP ‏(UDP/Datagram Sockets)

توفر وحدة dgram تطبيق مقابس مخطط البيانات UDP.

الوحدة URL

توفر الوحدة url مجموعة من الأدوات لمعالجة وتحليل عناوين الويب (URL).

الوحدة Util

صُمِّمَت الوحدة util بشكل أساسي لتلبية احتياجات واجهات Node.js البرمجيّة الداخليّة.

الوحدة V8

تعرض الوحدة v8 واجهات برمجة التطبيقات (API) الخاصة بإصدار V8 المضمنة في برمجية Node.js.

الوحدة VM

توفر الوحدة vm واجهات تطبيقات لترجمة وتشغيل الشيفرات البرمجية ضمن سياقات آلآت V8 الافتراضية.

الخيوط (Worker Threads)

توفر وحدة worker طريقة لإنشاء بيئات متعددة تعمل علي خيوط مستقلة، ولإنشاء قنوات رسائل بينها.

الوحدة Zlib

توفر الوحدة zlib وظيفة الضغط باستخدام Gzip و Deflate/Inflate.