تعد Node.js بيئة تشغيل مفتوحة المصدر يمكن خلالها تنفيذ شيفرات مكتوبة بلغة جافاسكربت JavaScript دون الحاجة إلى متصفح ويب، وبذلك لم يعد المتصفح المشغل الوحيد والحصري لها ما فتح الآفاق لاستخدام جافاسكربت في مختلف المجالات وليس فقط في تطوير الواجهات الأمامية front-end لصفحات ومواقع الويب وإضافة الفاعلية عليها مع لغة HTML ولغة CSS، وتُستعمل Node.js عادةً في تطوير الواجهات الخلفية لتطبيقات ومواقع الويب عبر بناء خوادم ويب خلفية كما يمكن استعمالها لتطوير أدوات وبرامج تعمل من سطر الأوامر.
ستتعلم في هذا الكتاب أساسيات البرمجة باستخدام Node.js بأسلوب عملي تطبيقي إذ ستبني خلال هذا الكتاب عدة تطبيقات وخوادم ويب مختلفة، وستصبح قادرًا في نهايته على كتابة برامج تستخدم مختلف ميزات Node.js منها التنفيذ الغير متزامن والتعامل مع الأحداث والتحكم بالعمليات وإدارة الوحدات.
كما سيتطرق الكتاب إلى بعض المواضيع المتقدمة في البرمجة منها كيفية تنقيح تطبيقات Node.js وتصحيح الأخطاء فيها باستخدام الأدوات المتوفرة سواءً في نود نفسها أو في المتصفح عبر أدوات التطوير DevTools، وأيضًا كيفية كتابة وحدات اختبار unite tests لوظائف التطبيق للتأكد من عملها وفق المطلوب.
الكتاب موجه لمن يريد تعلم مجال تطوير الواجهات الخلفية back-end أو مجال التطوير الشامل full stack كما يتطلب أن تملك خبرة أساسية على الأقل بلغة جافاسكربت إذ سيركز الكتاب على شرح بيئة Node.js وميزاتها واستخدامها ولن يشرح لغة جافاسكربت التي ستُستعمل في كل الكتاب، فإن لم يكن لديك خبرة بهذه اللغة، ننصحك بقراءة كتاب البرمجة بلغة جافاسكربت أولًا ثم هذا الكتاب.
هذا الكتاب مُترجم عن كتاب How To Code in Node.js بواسطة موقع DigitalOcean وقد ساهم به مجموعة مؤلفين من فريق Stack Abuse وهو مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0».
يمكنك قراءة فصول الكتاب على شكل مقالات من هذه الصفحة، «دليل تعلم Node.js»، أو مباشرة مما يلي:
- كتابة أول برنامج في بيئة Node.js وتنفيذه
- استخدام الوضع التفاعلي REPL في Node.js
- إدارة الوحدات البرمجية في Node.js باستخدام npm وملف package.json
- إنشاء وحدات برمجية Modules في Node.js
- طرق كتابة شيفرات غير متزامنة التنفيذ في Node.js
- اختبار الوحدات البرمجية باستخدام Mocha و Assert في Node.js
- إنشاء خادم ويب في Node.js باستخدام الوحدة HTTP
- استخدام المخازن المؤقتة Buffers في Node.js
- استخدام مرسل الأحداث Event emitter في Node.js
- تنقيح أخطاء Node.js باستخدام المنقح debugger وأدوات المطور DevTools
- التعامل مع العمليات الأبناء Child Process في Node.js
- التعامل مع الملفات باستخدام الوحدة fs في Node.js
- التعامل مع طلبات HTTP في Node.js