عن المشروع

Fastify هو إطار عمل ويب لـ Node.js يركز على تقديم تجربة مطور قوية بأقل قدر من التكاليف الإضافية. مستوحى من Hapi وExpress، ويؤكد على الأداء جنبًا إلى جنب مع التحقق الأمني وتطوير مريح. الخصائص الرئيسية الموصوفة في ملف README: - أداء عالي: يذكر المشروع أنه يمكنه تقديم أكثر من 76 ألف طلب في الثانية اعتمادًا على تعقيد الكود، وينشر مقارنات قياس مرجعية اصطناعية لـ "hello world" مقابل Express وhapi وRestify وKoa وhttp.Server الخام. يلاحظ ملف README أن هذه قياسات اصطناعية تقيس تكاليف إطار العمل الإضافية وينصح بإجراء قياسات لتطبيقك الخاص. - قابل للتوسيع: تسمح الخطافات والإضافات والزخارف بتوسيع إطار العمل. - قائم على المخطط: يُنصح باستخدام JSON Schema (وليس إلزاميًا) للتحقق من المسارات وتسلسل المخرجات؛ يتم تجميع المخططات داخليًا في دوال عالية الأداء. - التسجيل: يستخدم Pino كمسجل لتقليل تكلفة التسجيل. - صديق للمطور: مصمم ليكون تعبيرياً دون التضحية بالأداء والأمان. البدء: - أنشئ مشروعًا باستخدام `npm init fastify`، الذي يقوم بتنزيل وتشغيل Fastify Create (المبني على وظيفة التوليد في Fastify CLI)، ثم `npm i`، و`npm run dev` للتطوير أو `npm start` للإنتاج. - أضفه إلى مشروع قائم باستخدام `npm i fastify`. - الاستخدام الأساسي: قم بإنشاء نسخة باستخدام `Fastify({ logger: true })`، وأعلن عن مسارات مثل `fastify.get('/', ...)`، وابدأ باستخدام `fastify.listen({ port: 3000 }, callback)`. يتم عرض كل من أساليب callback وasync-await. - ملاحظة: يرتبط `.listen` بـ localhost افتراضيًا؛ قد تحتاج الحاويات إلى `0.0.0.0`، مما يحمل مخاطر أمنية. تغطي الوثائق البدء، والأدلة، والخادم، والمسارات، والتغليف، والتسجيل، والبرمجيات الوسيطة، والخطافات، والزخارف، والتحقق والتسلسل، والمخطط السلس، ودورة الحياة، والرد، والطلب، والأخطاء، ومحلل نوع المحتوى، والإضافات، والاختبار، والقياس المرجعي، وكتابة إضافات جيدة، وHTTP2، والدعم طويل الأمد، ودعم TypeScript، والحوسبة بدون خادم، والتوصيات. النظام البيئي والمجتمع: إضافات أساسية يديرها فريق Fastify، وإضافات مدعومة من المجتمع، ومستودع متعدد للتطبيقات الحية، وخادم Discord. تذهب أسئلة الدعم إلى مستودع المساعدة الخاص بـ Fastify. الإصدارات 3 وأقل قد انتهت صلاحيتها؛ يتم تقديم إصلاحات أمنية تجارية للإصدارات غير المدعومة عبر شريك، ويتم توثيق مصفوفة الإصدارات المدعومة تحت الدعم طويل الأمد. المشروع هو مشروع At-Large في OpenJS Foundation، ومرخص بموجب MIT، ويسرد تراخيص الاعتماديات الإنتاجية (MIT، ISC، BSD-3-Clause، BSD-2-Clause). يتتبع الفرع الرئيسي إصدار v6، مع فرع 5.x لـ v5.