Flutter أم Native: أيهما يناسب تطبيقك؟
بقلم يوسف سالم حسنمهندس برمجيات رئيسي · LinkedIn
لمعظم تطبيقات الأعمال، Flutter هو الخيار الأفضل: قاعدة كود واحدة لأندرويد وiOS، وتكلفة أقل، وتحديثات أسرع، ودعم جيد للعربية. ويبقى التطوير الأصلي Native أفضل في حالات قليلة، مثل الرسوم ثلاثية الأبعاد أو الواقع المعزز الثقيل، أو الوصول العميق للعتاد، أو وجود فريق 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 وNative
يلخّص الجدول ما يتغيّر في تطبيق أعمال معتاد: تطبيق حجز أو توصيل أو سوق إلكتروني أو تطبيق موظفين مع خادم ولوحة تحكم.
| Flutter | Native (Swift وKotlin) | |
|---|---|---|
| عدد قواعد الكود | واحدة لأندرويد وiOS | اثنتان، واحدة لكل منصة |
| كل ميزة جديدة | تُبنى وتُختبر مرة واحدة | تُبنى وتُختبر مرتين |
| الإصدارات على المتاجر | الإصدار نفسه على المتجرين في اليوم نفسه | إصداران قد يختلفان مع الوقت |
| العربية والاتجاه من اليمين | إعداد واحد للمنصتين | تُبنى بشكل منفصل في كل منصة |
| من يستطيع صيانته | مطوّر Flutter واحد | خبرة iOS وأندرويد معًا |
| الأنسب لـ | معظم تطبيقات الأعمال | الرسوم الثقيلة والواقع المعزز والعتاد |
التحديثات والصيانة بعد الإطلاق
معظم تكلفة التطبيق تأتي بعد الإصدار الأول: الإصلاحات والميزات الجديدة والتغييرات السنوية التي تطلبها Apple وGoogle للبقاء في المتاجر. ومع قاعدة كود واحدة يُنجز كل ذلك مرة واحدة. أما مع تطبيقين أصليين فكل إصلاح يصبح إصلاحين، وتبدأ نسختا الآيفون وأندرويد بالاختلاف تدريجيًا.
أصدر تطبيق Tech 92 ١٣ تحديثًا في أول ٤ أشهر. وكان كل تحديث بناءً واحدًا يُرفع إلى المتجرين، وهذا ما جعل هذه الوتيرة ممكنة.
من سيصون التطبيق؟
يحتاج التطبيق الأصلي شخصًا يعرف Swift وآخر يعرف Kotlin، أو مطوّرًا نادرًا يعرف الاثنين. أما تطبيق Flutter فيحتاج مطوّر Flutter واحدًا، وFlutter من أكثر أطر التطوير متعددة المنصات استخدامًا، فليس صعبًا أن تجد من يساعدك لاحقًا. وأيًّا كان من يبنيه، تأكد أن الكود وحسابات المتاجر والخوادم باسمك حتى تستطيع تغيير المطوّر في أي وقت.
أسئلة اسألها قبل أن تقرر
هل تحتاج أندرويد وiOS معًا عند الإطلاق؟ هل تعتمد أي ميزة على رسوم ثلاثية الأبعاد ثقيلة أو واقع معزز أو جهاز خاص؟ هل لديك فريق أو كود Native قائم؟ كم تحديثًا تتوقع في السنة الأولى؟ ومن سيصون التطبيق بعد إطلاقه؟
إذا كانت الإجابات "المنصتان" و"لا" و"لا" و"كثيرة" و"فريق صغير"، فـ Flutter هو الخيار الأضمن. وإذا كان العتاد الخاص أو الرسوم الثقيلة جوهر المنتج، فالتطوير الأصلي يستحق نظرة جادة.
لست متأكدًا أيهما يناسب تطبيقك؟
أرسل لي ما يجب أن يفعله التطبيق. وإن كان Native هو الأنسب، فسأخبرك بذلك في المكالمة المجانية بدل أن أبيعك Flutter.
اقرأ دراسة الحالة: Tech 92 — تطبيق الحضور ومؤشرات الأداء للموظفين ←
مقالات أخرى
- كيف صنعت فيديو إعلانيًا لتطبيق بالكود باستخدام Remotionكيف صنعت فيديو إصدار تطبيق Tech 92 ومدته 68 ثانية بالكود بدل برامج المونتاج: شاشات حقيقية من محاكي iOS، وواجهة متحركة في Remotion، وتعليق صوتي من ElevenLabs موقّت كلمةً بكلمة عبر Whisper، وكود واحد يُخرج نسخًا لـ LinkedIn وApp Store.
- إدارة وكلاء البرمجة عن بُعد في مشاريع Flutter: من المهمة إلى مراجعة الكودكيف تستفيد من متابعة وكيل البرمجة من هاتفك مع إبقاء تغييرات Flutter محدودة وقابلة للاختبار والمراجعة: نتيجة واحدة قابلة للتقييم لكل مهمة، وحدود واضحة للمعمارية، وأدلة من الاختبارات، وتغيير صغير.
- استلام سورس كود التطبيق: قائمة مراجعة للعميلعندما يسلّمك المطوّر تطبيقك، تأكد أنك استلمت مستودع الكود، وحسابات المتاجر والخوادم، والمفاتيح، وطريقة لبناء التطبيق بنفسك، ودليلًا مختصرًا. وبدون هذه الأشياء ستعتمد على شخص واحد لتعديل تطبيقك.