ما هو الخلفية للواجهة
خلفية منفصلة لكل واجهة أمامية
BFF (الخلفية للواجهة الأمامية)
Backend for Frontend — نمط معماري يتم فيه إنشاء طبقة خلفية منفصلة لكل نوع من العملاء (ويب، تطبيق محمول، إنترنت الأشياء).
لماذا نحتاج BFF
| المشكلة بدون BFF | الحل مع BFF | |------------------|-------------| | واجهة برمجة واحدة لجميع العملاء | واجهة برمجة محسنة لكل عميل | | بيانات زائدة في الاستجابات | الحقول المطلوبة فقط للواجهة المحددة | | منطق معقد على العميل | تجميع البيانات على الخادم | | تحميل بطيء على الهواتف | تقليل الطلبات والبيانات |
الهندسة المعمارية
[تطبيق ويب] → [Web BFF] ↘
→ [الخدمات المصغرة]
[تطبيق محمول] → [Mobile BFF] ↗
متى تستخدم
- عملاء مختلفون — ويب، iOS، أندرويد باحتياجات مختلفة
- بنية الخدمات المصغرة — خدمات متعددة للتجميع
- تحسين الأداء — تقليل البيانات للهواتف
- فرق مستقلة — فرق أمامية وخلفية منفصلة
المزايا
- تحسين لكل نوع عميل
- نشر مستقل
- عزل التغييرات
- تبسيط كود العميل
العيوب
- تكرار المنطق بين BFFs
- زيادة عدد الخدمات
- تعقيد مزامنة التغييرات