تطوير التطبيقات متعددة المنصات

قاعدة كود مشتركة تعني فريقًا واحدًا، وميزة تُكتب مرة وتصل إلى iOS وAndroid معًا، وإصلاحًا يُنشر على المنصتين في اليوم نفسه. لكن التقنيات متعددة المنصات ليست واحدة: بعضها يشارك الواجهة والمنطق، وبعضها المنطق فقط. نختار ما يناسب مشروعك وفريقك.

متى تناسبك التطبيقات متعددة المنصات؟

1

تحتاج iOS وAndroid بميزانية واحدةلا ميزانيتين وفريقين.

2

إصدارات متزامنة على المنصتيندون أن تتأخر إحداهما عن الأخرى.

3

فريقك الداخلي سيستلم التطويرويسهل عليه تعلم تقنية واحدة.

4

تطبيق أعمال بواجهات قياسيةنماذج وقوائم وطلبات ولوحات.

5

تطبيقان Native تصعب صيانتهماوكل ميزة تُكتب مرتين.

6

تريد نسخة ويب أو سطح مكتب أيضًالأدوات داخلية من الكود نفسه.

ما يُشارك وما يبقى خاصًا بكل منصة

مشترك عادة

  • منطق العمل والتحقق
  • الاتصال بواجهات الربط
  • التخزين المحلي والمزامنة
  • أغلب الواجهات

خاص بالمنصة عند الحاجة

  • تكامل عميق مع خصائص الجهاز
  • الويدجت وامتدادات النظام
  • بعض أنماط التنقل المتوقعة
  • إعدادات النشر والتوقيع

الواجهة

  • نظام تصميم موحد
  • مراعاة ما يتوقعه مستخدم كل منصة
  • العربية واتجاه الكتابة
  • أحجام الشاشات

الجودة

  • اختبارات مشتركة للمنطق
  • اختبار على أجهزة المنصتين
  • مراقبة الأعطال لكل منصة
  • قياس الأداء

النشر

  • بناء آلي للمنصتين
  • ترقيم موحد للإصدارات
  • نشر متزامن
  • إطلاق تدريجي لكل متجر

الصيانة

  • تحديث التقنية المشتركة
  • تحديث المكتبات
  • متطلبات المتجرين
  • إصلاح يُنشر على المنصتين

أي تقنية متعددة المنصات؟

التقنيةما تشاركهمناسبة لـانتبه إلى
Flutterالواجهة والمنطقأغلب تطبيقات الأعمال، والواجهات المخصصةخصائص الجهاز المتقدمة تحتاج إلى كود أصلي
React Nativeالواجهة والمنطقفرق بخبرة JavaScript وReactاختيار المكتبات بعناية ومتابعة تحديثاتها
Kotlin Multiplatformالمنطق، والواجهة اختياريًاواجهات أصلية بالكامل مع منطق مشتركتقنية أحدث وفرقها أقل انتشارًا
تطبيق ويب تقدمي PWAكل شيء عبر المتصفحأدوات داخلية واستخدام متقطعصلاحيات أقل على الجهاز، ولا يظهر في المتاجر عادة

تطوير تطبيقات FlutterFlutter أم React Native؟الأصلية أم متعددة المنصات؟

ما تستلمه

  • تطبيقات المنصات المتفق عليهامنشورة بحسابات منشأتك.
  • قاعدة الكود المشتركةفي مستودع تملكه.
  • الكود الخاص بكل منصةموثق ومعزول.
  • توصية تقنية مكتوبةسبب الاختيار وحدوده.
  • خط بناء آليللمنصات كلها.
  • دليل المطورالبنية وطريقة إضافة الميزات.

ما يمكن ربطه بالخدمة

المنصات

حالات تتكرر في التطبيقات متعددة المنصات

الحالةميزة تعمل على Android وتتعطل على iOS
كيف نتعامل معها

اختبار آلي ويدوي على المنصتين لكل إصدار، لا على منصة المطور فقط.

الحالةويدجت على الشاشة الرئيسية
كيف نتعامل معها

يُكتب بالكود الأصلي لكل منصة، ويتواصل مع التطبيق المشترك.

الحالةمستخدمو iOS يتوقعون تنقلًا مختلفًا
كيف نتعامل معها

مراعاة أنماط كل منصة في المواضع التي يلاحظها المستخدم.

الحالةتحديث التقنية المشتركة يكسر مكتبة
كيف نتعامل معها

تحديث مخطط على بيئة الاختبار قبل الاعتماد.

الحالةالحاجة إلى لوحة ويب داخلية
كيف نتعامل معها

من الكود نفسه إن ناسبت التقنية، أو بتقنية ويب مستقلة إن كانت أوضح.

مراحل التنفيذ

  1. المزايا والمنصات

    ما يعتمد منها على الجهاز.

    قائمة المزايا
  2. التوصية التقنية

    التقنية المناسبة وحدودها.

    توصية مكتوبة
  3. التصميم

    موحد مع مراعاة كل منصة.

    تصميم معتمد
  4. التطوير

    على دورات بنسخ للمنصتين.

    نسخ تجريبية
  5. الاختبار

    على أجهزة المنصتين.

    تقرير الاختبار
  6. النشر المتزامن

    على المتجرين.

    تطبيقات منشورة

ما نحتاجه منك للبدء

لا يلزم أن يكون كل ذلك جاهزًا. ما ينقص نستكمله معك في جلسة التحليل.

  • المزايا المطلوبة: خاصة ما يعتمد على الجهاز.
  • المنصات: iOS وAndroid، والويب أو سطح المكتب إن لزم.
  • الفريق الذي سيستلم: وخبرته التقنية.
  • تطبيق قائم إن وجد: وتقنيته.

أسئلة تحسمها قبل التنفيذ

نساعدك على الإجابة عنها، لأن كل إجابة تغير النطاق والتكلفة.

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

مشكلات نمنعها من البداية

اختيار تقنية لا تدعم ميزة أساسيةمراجعة المزايا قبل التوصية.
منصة متأخرة عن الأخرىإصدارات متزامنة.
تجربة غريبة على منصةمراعاة أنماط كل منصة.
كود أصلي مبعثرعزل الخاص بكل منصة وتوثيقه.
مكتبات مهجورةمعايير اختيار ومتابعة.
فريق لا يستطيع الاستلامتقنية تناسب خبرته ودليل مطور.

الجودة والأمن والتشغيل

الجودة

اختبارات مشتركة للمنطق، واختبار على المنصتين.

الأمن

تخزين آمن لكل منصة، وتشفير الاتصال.

قابلية التوسع

بنية تفصل المشترك عن الخاص.

الاختبارات

أجهزة iOS وAndroid لكل إصدار.

التوثيق

التوصية التقنية ودليل المطور.

الدعم

تحديث التقنية المشتركة والمكتبات.

أسئلة شائعة

ليس بالضرورة. في تطبيقات الأعمال يصعب على المستخدم التمييز، والفرق يظهر في حالات محددة كالرسوميات الثقيلة.

في Flutter وReact Native غالبًا أغلب الكود، مع أجزاء خاصة بالمنصة حيث تلزم.

ممكن، لكنه إعادة بناء للواجهة، ولذلك نحسم الاختيار في البداية.

Flutter غالبًا لتطبيقات الأعمال الجديدة، وReact Native حين يكون الفريق متمكنًا من React.

هذه الامتدادات تُكتب بالكود الأصلي، وتتواصل مع التطبيق المشترك.

أرسل مزايا تطبيقك ومنصاته

ونرد بتوصية تقنية مكتوبة، مع تقدير مبدئي.

اطلب عرض سعر