Flutter أم Native: أيهما يناسب تطبيقك؟

بقلم مهندس برمجيات رئيسي · LinkedIn

حُدِّث مقال أصلي

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

Flutter أم Native: أيهما يناسب تطبيقك؟

Flutter أم Native: الإجابة المختصرة

التطوير الأصلي Native يعني تطبيقين منفصلين: واحد بلغة Swift للآيفون وآخر بلغة Kotlin لأندرويد. أما Flutter فهو إطار من Google يبني الاثنين من قاعدة كود واحدة. ولمعظم تطبيقات الشركات والأسواق الإلكترونية وتطبيقات الحجز في السعودية، يعطي Flutter النتيجة نفسها بوقت وتكلفة أقل بوضوح.

متى يكون Flutter الخيار الأفضل

تحتاج أندرويد وiOS معًا. ميزانيتك أو وقتك محدود. التطبيق في معظمه نماذج وقوائم وخرائط وحجوزات ودفع ولوحات تحكم. تريد العربية والإنجليزية مع تخطيط صحيح من اليمين لليسار. وتريد أن يصونه شخص واحد أو فريق صغير.

تطبيق Tech 92 الذي بنيته لشركة Technology 92 مبني بـ Flutter. نُشر على المتجرين خلال ١٠ أسابيع، وصدرت له ١٣ تحديثًا في أول ٤ أشهر، وكل تحديث وصل لمستخدمي أندرويد والآيفون في الوقت نفسه.

متى يستحق Native التكلفة الإضافية

الرسوم ثلاثية الأبعاد الثقيلة أو الألعاب أو الواقع المعزز. والعمل العميق مع العتاد مثل أجهزة Bluetooth مخصصة أو معالجة الصوت في الخلفية. والميزات التي تعتمد على أحدث إمكانات iOS أو أندرويد يوم صدورها. أو وجود فريق وكود Native قائمين تريد الحفاظ عليهما.

ما يلاحظه المستخدم وما لا يلاحظه

يُترجَم Flutter إلى كود آلة أصلي ويرسم واجهته بنفسه، لذلك يبدو التمرير والحركات والتنقل بين الشاشات مثل أي تطبيق آخر على الجوال. وفي النماذج والقوائم والخرائط والمحادثات والدفع لا يستطيع المستخدم التفريق بين تطبيق Flutter وتطبيق Native. ما يلاحظه فعلًا هو سرعة فتح التطبيق ووضوحه وتكرار تحديثه، وهذه تعتمد على الفريق لا على الإطار.

ويظهر الفرق فقط في الحالات الطرفية: الرسوم الثقيلة جدًا، أو ميزة iOS جديدة يوم إطلاقها من Apple، أو جهاز يحتاج كودًا منخفض المستوى. ويستطيع Flutter استدعاء كود Native لهذه الأجزاء فقط، فحتى في هذه الحالات نادرًا ما تحتاج تطبيقين كاملين.

العربية والتخطيط من اليمين لليسار

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

يعمل تطبيق Tech 92 بالعربية والإنجليزية بالشاشات نفسها وبالإصدار نفسه على المتجرين. وفي التطبيقات التي يستخدمها موظفون وعملاء في السعودية، يوفّر هذا وحده كثيرًا من العمل.

الفرق في التكلفة والوقت

تطبيقان أصليان يعنيان بناء كل ميزة واختبارها مرتين. ومع Flutter تُبنى مرة واحدة، فتجهز النسخة الأولى أسرع ويكلّف كل تعديل لاحق أقل. لهذا أبني تطبيقات الشركات بـ Flutter مع واجهة Laravel API خلفها.

رسم: قاعدة كود Flutter واحدة تبني تطبيقي iOS وأندرويد، بينما يحتاج Native كود Swift وKotlin منفصلين.

مقارنة سريعة بين Flutter وNative

يلخّص الجدول ما يتغيّر في تطبيق أعمال معتاد: تطبيق حجز أو توصيل أو سوق إلكتروني أو تطبيق موظفين مع خادم ولوحة تحكم.

FlutterNative ‏(Swift وKotlin)
عدد قواعد الكودواحدة لأندرويد وiOSاثنتان، واحدة لكل منصة
كل ميزة جديدةتُبنى وتُختبر مرة واحدةتُبنى وتُختبر مرتين
الإصدارات على المتاجرالإصدار نفسه على المتجرين في اليوم نفسهإصداران قد يختلفان مع الوقت
العربية والاتجاه من اليمينإعداد واحد للمنصتينتُبنى بشكل منفصل في كل منصة
من يستطيع صيانتهمطوّر Flutter واحدخبرة iOS وأندرويد معًا
الأنسب لـمعظم تطبيقات الأعمالالرسوم الثقيلة والواقع المعزز والعتاد

التحديثات والصيانة بعد الإطلاق

معظم تكلفة التطبيق تأتي بعد الإصدار الأول: الإصلاحات والميزات الجديدة والتغييرات السنوية التي تطلبها Apple وGoogle للبقاء في المتاجر. ومع قاعدة كود واحدة يُنجز كل ذلك مرة واحدة. أما مع تطبيقين أصليين فكل إصلاح يصبح إصلاحين، وتبدأ نسختا الآيفون وأندرويد بالاختلاف تدريجيًا.

أصدر تطبيق Tech 92 ‏١٣ تحديثًا في أول ٤ أشهر. وكان كل تحديث بناءً واحدًا يُرفع إلى المتجرين، وهذا ما جعل هذه الوتيرة ممكنة.

من سيصون التطبيق؟

يحتاج التطبيق الأصلي شخصًا يعرف Swift وآخر يعرف Kotlin، أو مطوّرًا نادرًا يعرف الاثنين. أما تطبيق Flutter فيحتاج مطوّر Flutter واحدًا، وFlutter من أكثر أطر التطوير متعددة المنصات استخدامًا، فليس صعبًا أن تجد من يساعدك لاحقًا. وأيًّا كان من يبنيه، تأكد أن الكود وحسابات المتاجر والخوادم باسمك حتى تستطيع تغيير المطوّر في أي وقت.

أسئلة اسألها قبل أن تقرر

هل تحتاج أندرويد وiOS معًا عند الإطلاق؟ هل تعتمد أي ميزة على رسوم ثلاثية الأبعاد ثقيلة أو واقع معزز أو جهاز خاص؟ هل لديك فريق أو كود Native قائم؟ كم تحديثًا تتوقع في السنة الأولى؟ ومن سيصون التطبيق بعد إطلاقه؟

إذا كانت الإجابات "المنصتان" و"لا" و"لا" و"كثيرة" و"فريق صغير"، فـ Flutter هو الخيار الأضمن. وإذا كان العتاد الخاص أو الرسوم الثقيلة جوهر المنتج، فالتطوير الأصلي يستحق نظرة جادة.

لست متأكدًا أيهما يناسب تطبيقك؟

أرسل لي ما يجب أن يفعله التطبيق. وإن كان Native هو الأنسب، فسأخبرك بذلك في المكالمة المجانية بدل أن أبيعك Flutter.

اقرأ دراسة الحالة: Tech 92 — تطبيق الحضور ومؤشرات الأداء للموظفين ←

مقالات أخرى

شاركواتسابXLinkedIn