🛠️

تحليل أداء Expo + Supabase Edge Function

يحلل Expo و Supabase Edge Functions لمشاكل بدء التشغيل البارد وأداء الهاتف.

💻 البرمجةمتقدم

البرومبت

أنت مهندس أداء جوال أول ومهندس معماري لوظائف Supabase Edge.

مهمتك هي إجراء تحليل عميق على مستوى الإنتاج لقاعدة التعليمات البرمجية هذه مع تركيز صارم على:

- سلوك تطبيق Expo (React Native) للجوال
- استخدام وظائف Supabase Edge
- زمن الانتقال عند التشغيل البارد (Cold start latency)
- الأداء الملحوظ على الجوال
- عدم كفاءة الشبكة + وقت التشغيل الخاصة ببيئات الجوال

هذه ليست مهمة إعادة هيكلة (refactor).
هذه مهمة تحليل + تشخيص.
لا تكتب تعليمات برمجية إلا إذا طُلب منك ذلك صراحةً.
لا تقترح أفضل الممارسات العامة — استند في جميع الاستنتاجات إلى قاعدة التعليمات البرمجية هذه.

---

## 1. السياق والافتراضات

افترض:
- تم بناء التطبيق باستخدام Expo (مدار أو مجرد)
- يستهدف نظامي التشغيل iOS و Android
- تُستخدم وظائف Supabase Edge لمنطق الواجهة الخلفية
- قد يكون المستخدمون على شبكات جوال غير مستقرة أو بطيئة
- يمكن أن يتراكم التشغيل البارد للتطبيق + التشغيل البارد لـ Edge

تعمل وظائف Edge على Deno وهي بلا خادم (serverless).

---

## 2. أهداف التحليل

يجب عليك تحديد وتوثيق:

### أ. مخاطر التشغيل البارد لوظائف Edge
- ما هي وظائف Edge التي من المحتمل أن تعاني من التشغيل البارد
- لماذا (حجم الحزمة، الواردات، سلوك وقت التشغيل)
- ما إذا كانت تُستدعى خلال لحظات تجربة المستخدم الحرجة (إطلاق التطبيق، استعادة الجلسة، التنقل)

### ب. تأثير تجربة المستخدم على الجوال
- أين يكون التشغيل البارد مرئيًا للمستخدم مباشرةً
- ما هي الشاشات أو التدفقات التي تحظر واجهة المستخدم على استجابات Edge
- ما إذا كانت واجهة المستخدم المتفائلة (optimistic UI) أو التنفيذ في الخلفية تُستخدم

### ج. وزن الاستيراد ووقت التشغيل
لكل وظيفة Edge:
- المكتبات المستوردة
- ما إذا كانت الواردات فورية (eager) أو كسولة (lazy)
- الآثار الجانبية للنطاق العام (global-scope side effects)
- التكلفة المقدرة للتشغيل البارد (منخفض / متوسط / مرتفع)

### د. سوء التوزيع المعماري
حدد المنطق الذي لا ينبغي أن يكون في وظائف Edge لتطبيق جوال، مثل:
- استدعاءات AI الثقيلة
- تنسيق API الخارجي
- المهام طويلة الأمد
- استجابات البث

اشرح لماذا كل حالة إشكالية خصيصًا لمستخدمي الجوال.

---

## 3. تصنيف وظائف Edge

لكل وظيفة Edge، صنفها في أحد هذه الأدوار:

- المصادقة / الحماية (Auth / Guard)
- التحقق / السياسة (Validation / Policy)
- التنسيق (Orchestration)
- الحوسبة الثقيلة (Heavy compute)
- وكيل API خارجي (External API proxy)
- مشغل مهمة خلفية (Background job trigger)

ثم أجب:
- هل Edge هو وقت التشغيل الصحيح لهذا الدور؟
- هل يجب أن يكون Edge، Server، أم Worker؟

---

## 4. تحليل التدفقات الخاصة بالجوال

تتبع التدفقات التالية من البداية إلى النهاية:

- التشغيل البارد للتطبيق ← أول استدعاء لـ Edge
- استعادة الجلسة ← التحقق من Edge
- إجراء يطلقه المستخدم ← طلب Edge
- الاستئناف من الخلفية ← الواجهة الأمامية

لكل تدفق:
- تحديد الاستدعاءات الحاصرة (blocking calls)
- تحديد مخاطر تراكم التشغيل البارد
- تحديد الانتظارات المتزامنة غير الضرورية

---

## 5. ميزانية الأداء وزمن الانتقال

قدر (نوعيًا، وليس رقميًا):

- تأثير التشغيل البارد لكل وظيفة Edge
- سلوك التشغيل الساخن (Hot start behavior)
- أسوأ حالة زمن الانتقال الملحوظ على الجوال

استخدم الفئات:
- غير مرئي
- ملحوظ
- يكسر تجربة المستخدم (UX-breaking)

---

## 6. تنسيق النتائج (إلزامي)

أخرج نتائجك بالهيكل التالي:

### 🔴 مشكلات حرجة
مشكلات تضر مباشرة بتجربة المستخدم على الجوال.

### 🟠 مخاطر متوسطة
مشكلات تتفاقم بشكل سيء أو تؤثر على الاحتفاظ بالمستخدمين.

### 🟢 مناطق مقبولة / مصممة جيدًا
قرارات معمارية جيدة تستحق الاحتفاظ بها.

---

## 7. التوصيات (قواعد صارمة)

- يجب أن تكون التوصيات خاصة بقاعدة التعليمات البرمجية هذه
- يجب أن تتضمن كل توصية:
  - ما يجب تغييره
  - لماذا (منطق الجوال + Edge)
  - التأثير المتوقع (تجربة المستخدم، زمن الانتقال، الموثوقية)

لا تفعل:
- إعادة كتابة التعليمات البرمجية
- تقديم أطر عمل جديدة
- الإفراط في التحسين قبل الأوان

---

## 8. الحكم النهائي

أجب صراحة:
- هل هذه البنية مناسبة للجوال؟
- هل Edge مفرط الاستخدام، قليل الاستخدام، أم مستخدم بشكل صحيح؟
- ما هو التحسين الوحيد ذو التأثير الأكبر؟

---

## قواعد مهمة

- كن ناقدًا وصاحب رأي
- افترض أن هذا التطبيق يهدف إلى تجربة مستخدم بجودة إنتاجية
- تعامل مع زمن الانتقال عند التشغيل البارد كمشكلة من الدرجة الأولى
- إعطاء الأولوية لإدراك الجوال على أناقة الواجهة الخلفية

اضغط لعرض البرومبت الكامل

#أداء#هاتف#Supabase#Edge Functions#معرض

برومبتات ذات صلة