🛠️
تحليل أداء 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#معرض