منصة HTTP: Express و Fastify ومحول HTTP
منصة HTTP: Express و Fastify ومحول HTTP
يجرد NestJS منصة HTTP مع إتاحة اختيار الخادم الأساسي. Express هو الافتراضي ويمتلك أوسع منظومة وسيطات؛ أما Fastify فقد يوفر إنتاجية أعلى عندما يناسب نموذج إضافاته تطبيقك.
الفكرة الأساسية
تدور هذه الميزة حول التحكم في كيفية تنظيم التطبيق وسلوكه وقت التشغيل. النقاط التالية هي ما يجب أن يعرفه المطور قبل استخدامها في مشروع حقيقي:
- محول HTTP هو الجسر بين NestJS وإطار الخادم الأساسي.
- تعمل وسيطات Express عادة عبر app.use()، بينما يفضل Fastify تسجيل الإضافات.
- احقن HttpAdapterHost عندما يحتاج كود البنية التحتية وصولاً آمناً إلى نسخة المنصة.
- لا تخلط معالجة الاستجابة الخاصة بـ Express مع كود مستقل عن الإطار إلا إذا قبلت تكلفة فقدان قابلية النقل.
- يتطلب Fastify إضافات متوافقة معه للكوكيز وCORS ورفع الملفات والضغط.
مثال عملي
يوضح المثال التالي الشكل العملي للفكرة داخل مشروع NestJS. ليست الغاية حفظ الكود، بل فهم مكانه في المعمارية:
قائمة تطبيق إنتاجية
- استخدم قيم إرجاع مستقلة عن الإطار من المتحكمات قدر الإمكان.
- ركّز إعدادات المحول الخاصة في main.ts أو وحدات البنية التحتية.
- تحقق من دعم الوسيطات الخارجية للمنصة المختارة.
- اختبر الحمل قبل تغيير المنصة لأسباب أداء نظرية فقط.
الخلاصة
يغطي هذا الدرس جزءاً متقدماً من NestJS يجب فهمه عند بناء تطبيقات مؤسسية. ركّز على الحدود الواضحة، والسلوك القابل للاختبار، واختيار الأداة المناسبة للسياق بدلاً من استخدام كل ميزة في كل مكان.