تطوير التطبيقات متعددة المنصات
قاعدة كود مشتركة تعني فريقًا واحدًا، وميزة تُكتب مرة وتصل إلى iOS وAndroid معًا، وإصلاحًا يُنشر على المنصتين في اليوم نفسه. لكن التقنيات متعددة المنصات ليست واحدة: بعضها يشارك الواجهة والمنطق، وبعضها المنطق فقط. نختار ما يناسب مشروعك وفريقك.
متى تناسبك التطبيقات متعددة المنصات؟
تحتاج iOS وAndroid بميزانية واحدةلا ميزانيتين وفريقين.
إصدارات متزامنة على المنصتيندون أن تتأخر إحداهما عن الأخرى.
فريقك الداخلي سيستلم التطويرويسهل عليه تعلم تقنية واحدة.
تطبيق أعمال بواجهات قياسيةنماذج وقوائم وطلبات ولوحات.
تطبيقان Native تصعب صيانتهماوكل ميزة تُكتب مرتين.
تريد نسخة ويب أو سطح مكتب أيضًالأدوات داخلية من الكود نفسه.
ما يُشارك وما يبقى خاصًا بكل منصة
مشترك عادة
- منطق العمل والتحقق
- الاتصال بواجهات الربط
- التخزين المحلي والمزامنة
- أغلب الواجهات
خاص بالمنصة عند الحاجة
- تكامل عميق مع خصائص الجهاز
- الويدجت وامتدادات النظام
- بعض أنماط التنقل المتوقعة
- إعدادات النشر والتوقيع
الواجهة
- نظام تصميم موحد
- مراعاة ما يتوقعه مستخدم كل منصة
- العربية واتجاه الكتابة
- أحجام الشاشات
الجودة
- اختبارات مشتركة للمنطق
- اختبار على أجهزة المنصتين
- مراقبة الأعطال لكل منصة
- قياس الأداء
النشر
- بناء آلي للمنصتين
- ترقيم موحد للإصدارات
- نشر متزامن
- إطلاق تدريجي لكل متجر
الصيانة
- تحديث التقنية المشتركة
- تحديث المكتبات
- متطلبات المتجرين
- إصلاح يُنشر على المنصتين
أي تقنية متعددة المنصات؟
| التقنية | ما تشاركه | مناسبة لـ | انتبه إلى |
|---|---|---|---|
| Flutter | الواجهة والمنطق | أغلب تطبيقات الأعمال، والواجهات المخصصة | خصائص الجهاز المتقدمة تحتاج إلى كود أصلي |
| React Native | الواجهة والمنطق | فرق بخبرة JavaScript وReact | اختيار المكتبات بعناية ومتابعة تحديثاتها |
| Kotlin Multiplatform | المنطق، والواجهة اختياريًا | واجهات أصلية بالكامل مع منطق مشترك | تقنية أحدث وفرقها أقل انتشارًا |
| تطبيق ويب تقدمي PWA | كل شيء عبر المتصفح | أدوات داخلية واستخدام متقطع | صلاحيات أقل على الجهاز، ولا يظهر في المتاجر عادة |
تطوير تطبيقات FlutterFlutter أم React Native؟الأصلية أم متعددة المنصات؟
ما تستلمه
- تطبيقات المنصات المتفق عليهامنشورة بحسابات منشأتك.
- قاعدة الكود المشتركةفي مستودع تملكه.
- الكود الخاص بكل منصةموثق ومعزول.
- توصية تقنية مكتوبةسبب الاختيار وحدوده.
- خط بناء آليللمنصات كلها.
- دليل المطورالبنية وطريقة إضافة الميزات.
ما يمكن ربطه بالخدمة
التقنيات
الخلفية
حالات تتكرر في التطبيقات متعددة المنصات
اختبار آلي ويدوي على المنصتين لكل إصدار، لا على منصة المطور فقط.
يُكتب بالكود الأصلي لكل منصة، ويتواصل مع التطبيق المشترك.
مراعاة أنماط كل منصة في المواضع التي يلاحظها المستخدم.
تحديث مخطط على بيئة الاختبار قبل الاعتماد.
من الكود نفسه إن ناسبت التقنية، أو بتقنية ويب مستقلة إن كانت أوضح.
مراحل التنفيذ
- قائمة المزايا
المزايا والمنصات
ما يعتمد منها على الجهاز.
- توصية مكتوبة
التوصية التقنية
التقنية المناسبة وحدودها.
- تصميم معتمد
التصميم
موحد مع مراعاة كل منصة.
- نسخ تجريبية
التطوير
على دورات بنسخ للمنصتين.
- تقرير الاختبار
الاختبار
على أجهزة المنصتين.
- تطبيقات منشورة
النشر المتزامن
على المتجرين.
ما نحتاجه منك للبدء
لا يلزم أن يكون كل ذلك جاهزًا. ما ينقص نستكمله معك في جلسة التحليل.
- المزايا المطلوبة: خاصة ما يعتمد على الجهاز.
- المنصات: iOS وAndroid، والويب أو سطح المكتب إن لزم.
- الفريق الذي سيستلم: وخبرته التقنية.
- تطبيق قائم إن وجد: وتقنيته.
أسئلة تحسمها قبل التنفيذ
نساعدك على الإجابة عنها، لأن كل إجابة تغير النطاق والتكلفة.
مشكلات نمنعها من البداية
الجودة والأمن والتشغيل
الجودة
اختبارات مشتركة للمنطق، واختبار على المنصتين.
الأمن
تخزين آمن لكل منصة، وتشفير الاتصال.
قابلية التوسع
بنية تفصل المشترك عن الخاص.
الاختبارات
أجهزة iOS وAndroid لكل إصدار.
التوثيق
التوصية التقنية ودليل المطور.
الدعم
تحديث التقنية المشتركة والمكتبات.
أسئلة شائعة
ليس بالضرورة. في تطبيقات الأعمال يصعب على المستخدم التمييز، والفرق يظهر في حالات محددة كالرسوميات الثقيلة.
في Flutter وReact Native غالبًا أغلب الكود، مع أجزاء خاصة بالمنصة حيث تلزم.
ممكن، لكنه إعادة بناء للواجهة، ولذلك نحسم الاختيار في البداية.
Flutter غالبًا لتطبيقات الأعمال الجديدة، وReact Native حين يكون الفريق متمكنًا من React.
هذه الامتدادات تُكتب بالكود الأصلي، وتتواصل مع التطبيق المشترك.
خدمات مرتبطة
أرسل مزايا تطبيقك ومنصاته
ونرد بتوصية تقنية مكتوبة، مع تقدير مبدئي.