Skip to main content
EngineeringProduct Building

لماذا نبني تطبيقات iOS الأصلية باستخدام Swift بدلاً من أطر العمل متعددة المنصات

Mortgy
4 min read

إغراء التطبيقات متعددة المنصات

دعونا نكون واضحين: نحن نحب Flutter. نستخدمه في العديد من مشاريع العملاء حيث يكون الوصول متعدد المنصات أكثر أهمية من الميزات الخاصة بكل منصة. React Native قوي أيضاً. لكن بالنسبة لتطبيقات iOS التي تعمل بالذكاء الاصطناعي الخاصة بنا — تلك التطبيقات التي تستخدم CoreML، وتشغل الكاميرا بسرعة 60 إطار في الثانية، وتحتاج إلى أن تبدو لا تختلف عن تطبيقات Apple الأولى — نختار دائماً Swift الأصلية و SwiftUI.

هذا ليس موقفاً أيديولوجياً. إنها قرار عملي مبني على نشر منتجات حقيقية وقياس ما يهم: الأداء، واحتفاظ المستخدم، وتقييمات App Store، وسرعة التطوير.

فجوة أداء CoreML حقيقية

عندما يقوم تطبيقك بتشغيل خط أنابيب ML يقوم برؤية حاسوبية بسرعة 60 إطار في الثانية، تصبح تكاليف الجسر في أطر العمل متعددة المنصات اختناقاً حقيقياً. تكامل CoreML في Swift بدون تكاليف — يعمل النموذج على Neural Engine، وتعود النتائج كأنواع Swift أصلية، ويتم تحديث واجهة المستخدم في نفس الإطار.

قمنا بقياس نموذج كشف الأجسام YOLOv8 عبر ثلاث طرق: Swift الأصلية مع CoreML، و Flutter مع جسر قناة منصة إلى CoreML، و React Native مع وحدة أصلية. كانت النتائج واضحة جداً:

Swift الأصلية: متوسط وقت الاستدلال 12 ملي ثانية. جسر Flutter: 28 ملي ثانية (يضيف الجسر حوالي 16 ملي ثانية من تكاليف التسلسل لكل إطار). React Native: 35 ملي ثانية. مع إدخال كاميرا بمعدل 30 إطار في الثانية، تستهلك تكاليف الجسر ما يقرب من نصف ميزانيتك في الإطار. مع 60 إطار في الثانية، الأمر انتهى بالنسبة لمتعدد المنصات.

بالنسبة للتطبيقات التي يحدث فيها الاستدلال بالذكاء الاصطناعي بشكل عرضي (مرشح صور، ميزة تحليل نصوص)، تكون هذه التكاليف غير ذات أهمية. لكن بالنسبة للذكاء الاصطناعي في الوقت الفعلي — معالجة الكاميرا المباشرة، تحليل المستشعرات المستمر، نسخ الصوت المتدفق — فإن Swift الأصلية مع CoreML هي الخيار الوحيد الذي يوفر تجربة سلسة.

لقد نضجت SwiftUI لتصبح أداة إنتاجية قوية

لقد نضجت SwiftUI بشكل كبير مع iOS 17 و 18. تكديس الملاحة والماكروهات القابلة للمراقبة وواجهات برمجة التطبيقات للرسوم المتحركة الجديدة تنافس أي شيء في العالم متعدد المنصات. سرعة التكرار لدينا باستخدام معاينات SwiftUI أسرع فعلاً من إعادة التحميل السريع في كثير من الحالات، لأن المعاينات يتم عرضها بدون إعادة تجميع التطبيق بالكامل.

أزال الماكرو Observable في Swift 5.9 معظم الكود النموذجي الذي جعل إدارة حالة SwiftUI مؤلمة. بالاقتران مع نظام الملاحة الجديد، أصبح بناء تدفقات متعددة الشاشات معقدة سهلاً وآمناً من حيث النوع. نقضي وقتاً أقل في محاربة الإطار ووقتاً أكثر في بناء الميزات.

بالنسبة للتطبيقات التي تحتاج إلى الشعور بأنها أصلية — إيماءات iOS الصحيحة والملاحظات اللمسية وتكامل Dynamic Island والأنشطة الحية والأدوات — توفر لك SwiftUI هذه مجاناً. إطارات العمل متعددة المنصات إما أنها لا تستطيع الوصول إلى هذه الميزات أو تتطلب تطبيقات قنوات منصة معقدة تلغي توفير الوقت.

ميزة App Store

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

تطبيقاتنا الأصلية لها متوسط تصنيف App Store بـ 4.7 نجوم. التعليقات الإيجابية الأكثر شيوعاً تذكر السرعة والشعور بأن التطبيق ينتمي إلى iOS. هذا الشعور الأصلي يكاد يكون من المستحيل تكراره باستخدام إطارات العمل متعددة المنصات، خاصة بالنسبة للرسوم المتحركة والانتقالات والتفاعلات الإيمائية.

عندما تكون منصات متعددة الخيار الصحيح

يكون النهج متعدد المنصات منطقياً عندما: يكون تطبيقك بشكل أساسي واجهة CRUD مدعومة بواسطة API، تحتاج إلى iOS و Android من اليوم الأول برميز محدود، تكون جميع ميزات الذكاء الاصطناعي لديك من جانب الخادم، أو تقوم ببناء MVP للتحقق من صحة مفهوم قبل الاستثمار في التطبيقات الأصلية. نستخدم Flutter بالضبط لهذه السيناريوهات في عملنا مع العملاء.

لكل شيء آخر — خاصة التطبيقات التي تحتوي على تعلم آلي محلي، أنابيب كاميرا مخصصة، تكامل ARKit، أو تكامل عميق مع نظام التشغيل مثل HealthKit أو HomeKit — اختر التطبيقات الأصلية. الاستثمار الأولي سيؤتي ثماره من حيث الأداء ورضا المستخدم والقابلية للصيانة على المدى الطويل.

توصيتنا

إذا كنت شركة ناشئة تختار بين التطبيقات الأصلية والمتعددة المنصات، اسأل نفسك سؤالاً واحداً: هل الاقتراح القيمة الأساسي لتطبيقك مرتبط بقدرة خاصة بالمنصة؟ إذا كانت الإجابة نعم — وبالنسبة لمعظم تطبيقات الذكاء الاصطناعي الأمر كذلك — اختر التطبيقات الأصلية. إذا كانت الإجابة لا، فإن Flutter أو React Native سيخدمانك جيداً وسيوفران لك الوقت.

في iHux، نحن محايدون فيما يتعلق بالمنصات في توصياتنا ومتخصصون بالمنصات في تنفيذنا. سنخبرك بصراحة بالنهج الذي يناسب منتجك، وبعد ذلك سنقوم ببناؤه بشكل صحيح.

Mortgy

Founder & CEO