Express.js
اسم · إطار عمل backend
إطار عمل ويب بسيط ومرن لـNode.js يوفر مجموعة قوية من الميزات لبناء تطبيقات ويب وAPI REST — يُعتبر المعيار الفعلي لتطوير Backend بـ JavaScript بفضل بساطته وأدائه ونظامه البيئي الممتد من الـ middlewares.
طبقة تجريد خفيفة فوق وحدة HTTP الأصلية لـ Node.js تبسط إدارة المسارات والطلبات والاستجابات — تتيح إنشاء خادم backend كامل بأسطر قليلة من الكود مع الحفاظ على تحكم كامل في البنية التطبيقية.
أساس تقني تقوم عليه أطر عمل رئيسية مثل NestJS و Sails.js و LoopBack — يُستخدم Express.js في الإنتاج من قبل Uber و IBM و Accenture وآلاف الشركات لخدمة ملايين طلبات API يوميًا بموثوقية وقابلية توسع مثبتة.
Express.js هو إطار عمل backend مفتوح المصدر لـ Node.js يتيح إنشاء خوادم ويب وAPI RESTful بسرعة وبشكل منظم. يوفر نظام توجيه قويًا وإدارة middlewares وتكاملًا أصليًا مع محركات القوالب. Express.js هو إطار عمل Node.js الأكثر استخدامًا في العالم بأكثر من 30 مليون تحميل أسبوعي على NPM. تستخدمه وكالتنا كأساس backend لبنى Full-stack JavaScript الخاصة بنا.
يُستخدم Express.js لأنه يقدم أفضل توازن بين البساطة والقوة لتطوير Backend بـ JavaScript. بنيته البسيطة تتيح بدء خادم API في دقائق، بينما نظام middlewares القابل للتمديد يتيح إدارة المصادقة والتحقق والتسجيل و CORS دون إثقال الإطار. يتكامل Express.js بشكل مثالي مع قواعد بيانات MongoDB و PostgreSQL و Redis، ويشكل الرفيق المثالي لـ React و Next.js لبناء تطبيقات Full-stack عالية الأداء.
لتثبيت Express.js، تأكد من تثبيت Node.js و NPM، ثم هيئ مشروعًا بـ `npm init -y`. ثبت Express بـ `npm install express`. أنشئ ملف `app.js` بالكود الأدنى: `const express = require('express'); const app = express(); app.listen(3000)`. خادم Express جاهز. لتكوين احترافي، ننصح بإضافة middlewares الأساسية فورًا: `cors`، `helmet` للأمان و `morgan` لتسجيل الطلبات.
يتم تكوين NPM عبر ملف `package.json` الذي يمركز بيانات المشروع الوصفية والتبعيات وسكريبتات التنفيذ. أنشئه بـ `npm init` الذي يرشدك عبر الخيارات، أو `npm init -y` للقيم الافتراضية. ثم كوّن سكريبتاتك المخصصة في قسم `scripts`: `"start": "node app.js"`، `"dev": "nodemon app.js"`. للإعدادات العامة (proxy، سجل خاص)، استخدم `npm config set`. تكوين NPM الجيد هو أساس كل مشروع احترافي منظم وقابل للتكرار.
لتثبيت حزمة NPM، استخدم الأمر `npm install nom-du-package` (أو `npm i nom-du-package`) الذي يحمل الحزمة ويضيفها تلقائيًا إلى تبعيات `package.json`. أضف العلم `--save-dev` (أو `-D`) لتبعيات التطوير فقط (أدوات الفحص والاختبار). لتثبيت إصدار محدد: `npm install express@4.18.2`. تحقق دائمًا من موثوقية الحزمة قبل التثبيت بمراجعة عدد التحميلات وتاريخ آخر تحديث وعدد المشكلات المفتوحة على GitHub.
middleware في Node.js هو دالة تُنفَّذ بين استقبال طلب HTTP وإرسال الاستجابة، لها وصول إلى كائنات `req` (الطلب) و `res` (الاستجابة) و `next` (دالة الانتقال إلى middleware التالي). تشكل middlewares سلسلة معالجة يمكنها تعديل الطلب والتحقق من البيانات والتأكد من المصادقة وتسجيل الوصول أو إدارة الأخطاء. هذا النمط المعماري هو جوهر فلسفة Express.js ويتيح بناء تطبيقات معيارية حيث لكل طبقة مسؤولية واحدة وقابلة للاختبار.
middleware Express هو دالة خاصة بإطار عمل Express.js تعترض كل طلب وارد لتنفيذ معالجة قبل وصوله إلى المسار النهائي. يستخدم Express الـ middlewares لكل شيء: تحليل جسم الطلب (`express.json()`)، إدارة الملفات الثابتة (`express.static()`)، الأمان (`helmet`)، CORS (`cors`) وإدارة الأخطاء. تُكدس عبر `app.use()` وتُنفَّذ بترتيب التصريح. في Async Code، نبني middlewares لدينا في طبقات (أمان، تحقق، منطق أعمال، استجابة) لصيانة مثالية.
اختيار Express.js يعني اختيار الاستقرار المثبت لإطار عمل Backend JavaScript الأكثر شعبية في العالم، مدعومًا بمجتمع ضخم ونظام بيئي يضم أكثر من 50,000 حزمة middlewares. منحنى تعلمه سلس لمطوري JavaScript، وبنيته غير الموجهة توفر حرية تصميم كاملة، وأداؤه ممتاز لـ API REST عالية التحميل. Express.js هو أيضًا أساس أطر عمل أكثر تنظيمًا مثل NestJS، مما يضمن بقاء المهارات المكتسبة ذات صلة على المدى الطويل.
body-parser هو middleware لـ Node.js يحلل جسم طلبات HTTP الواردة ويجعل البيانات متاحة عبر `req.body`. يدعم تنسيقات JSON (`bodyParser.json()`) و URL-encoded (`bodyParser.urlencoded()`) و raw/text. كان تاريخيًا حزمة منفصلة، لكن body-parser مدمج الآن مباشرة في Express.js منذ الإصدار 4.16 عبر `express.json()` و `express.urlencoded()`. يبقى ضروريًا لكل خادم يستقبل بيانات نماذج أو حمولات JSON من تطبيقات frontend مثل React أو Next.js.
نعم، يبقى Express.js في 2025 إطار عمل Backend Node.js الأكثر استخدامًا في العالم بأكثر من 30 مليون تحميل أسبوعي على NPM وتواجد في غالبية المكدسات JavaScript الاحترافية. رغم أن بدائل مثل Fastify (أعلى أداءً في المقاييس) أو NestJS (أكثر تنظيمًا) تكتسب شعبية، يحافظ Express.js على موقعه المهيمن بفضل بساطته ونضجه ونظامه البيئي الذي لا يُضاهى. في Async Code، نستخدمه في الإنتاج لـ API backend لدينا إلى جانب تطبيقات Next.js، ويواصل إثبات موثوقيته على نطاق واسع.