المدونةنُشر في

Flutter: كود واحد لـ iOS و Android

Flutter هو الأساس عندنا للجوال. كود Dart واحد، منصتين، والعربي من اليمين — ومعيار واضح لمتى نرجع إلى Swift.

  • Flutter
  • تطبيقات
  • iOS
  • Android
لوحين زجاج على مجرى تركواز واحد.

أغلب من يأتينا يحتاج أن يعمل على iOS و Android. مو بعدين. من أول إطلاق. هكذا نبنيه: كود Dart واحد، وصفحتي متجر، وفريق واحد. ولوحة التحكم بـ React. والاثنان يعملان على Supabase نفسه.

هذا الأساس. مو دين. إذا المنتج حق Apple، نكتبه بـ Swift. الباقي هنا: لماذا Flutter هو الأساس، وماذا يعني هذا الكلام في 2026، وكيف يُعالَج العربي والمتاجر، لا كخانة تُملأ.

Flutter في 2026

Flutter من Google. تكتب الواجهة بـ Dart. نسخة الإصدار تعمل بكود ARM أصلي. محرّك الرسم على iOS اسمه Impeller، وهو المحرّك الوحيد الآن، ولا يمكن الرجوع إلى Skia. وعلى Android الحديث يعمل Impeller تلقائيًا. هدفه حركة ثابتة: تُبنى الشيدرز وقت البناء، لا عند أول تحريك للشاشة. ما نقول إنه أسرع من native. ما نخترع فريمات.

Material 3 هو الشكل الجاهز في الـ SDK. Cupertino متوفر إذا أردت شكل iOS. في شغلنا نبني نظام تصميم خاصًا بالمنتج في الحالتين. Material و Cupertino يجري فصلهما عن Flutter نفسه. وهذا يهم منتجًا سيعيش سنوات: تصبح مكتبة التصميم شيئًا تثبّته، لا مفاجأة داخل الفريمورك.

ليش كود واحد

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

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

متى Flutter هو القرار الصح

المنصتين تهمّك من أول يوم. الواجهة تخصّك، مو قالب جاهز. المنتج عربي أول، أو عربي وإنجليزي. الشغل حجز، أو عروض، أو مجموعات، أو تعلّم، أو سوق — نفس نوع المنتجات اللي أطلقناها. النطاق مكتوب. وكل أسبوع يكون فيه شيء تستطيع فتحه وتجربته.

هذا أغلب الشغل الذي يصلنا. لذلك Flutter هو السطر على الصفحة الرئيسية.

العربي من اليمين، مو ملف ترجمة

المنتج هنا ليس «إضافة ملف ترجمة». اللغة تقلب الاتجاه، والاتجاه يغيّر المسافات والمحاذاة وموضع السهم. المسافات تتبع الاتجاه، لا يسارًا ويمينًا ثابتين. صيغ الجمع في العربية ليست مفردًا وجمعًا فقط — صفر، وواحد، واثنين، وقليل، وكثير، وغيره. نص عربي مع اسم إنجليزي ورقم: صمّمه، واختبره على جوال في اليد اليمنى.

الخط لازم يشكّل العربي بشكل صحيح. خط إنجليزي مع بديل عربي يجعل الشاشة تبدو مستعارة.

Xcode يحتاج أيضًا إلى إضافة اللغات لقائمة App Store. ترجمة Flutter لا تنفّذ هذه الخطوة عنك. قائمتان، ومنتج واحد. التفصيل في مقالة مستقلة.

متجرين، وقائمتين

نفس الكود يُنتج IPA و AAB. المراجعة ليست واحدة. Apple تطلب ملفًا مكتملًا، وحساب تجريبي، ولقطات مطابقة، وبطاقة خصوصية. Google Play تطلب حزمة موقّعة، واختبارًا مغلقًا قبل الإنتاج على حساب شخصي جديد. ولا شيء من هذا غريب. كله يُدرج في الجدول من أول أسبوع، لا يظهر في الأسبوع الثاني عشر. القائمتان في مقالة مستقلة.

TestFlight يوصلك بناء iOS كل أسبوع. مسار Play الداخلي أو المغلق مقابله على Android. تراجع الشيء الحقيقي على الجوالين.

متى بعد نكتب بـ Swift

المنتج حق Apple بس. أو يحتاج watchOS أو visionOS أو ARKit أو HealthKit أو App Intents أو ودجت شاشة القفل — أشياء يصل إليها Flutter عبر إضافة، متأخرًا، أو لا يصل إليها أصلًا. وقتها نكتب تطبيق iOS native. له ملاحظة مستقلة.

تقدر تضع قطعة Swift داخل Flutter لميزة واحدة. هذي وصلة، مو خطة. إذا كان المنتج تجربة Apple، لا تبدأ بـ Flutter وتتمنّى.

ما أطلقناه

ستة تطبيقات جوال على الموقع، مكتوبة كما هي، بدون اختراع.

  • Naqrah.app — حجز عيادات للقطاع الخاص في عُمان.
  • T-CODE — عروض قريبة ولوحة تاجر، في السعودية.
  • Jameyatek — ينظّم جمعية وما يحرّك فلوس.
  • Aalim — قرآن وتفسير وفحص تلاوة على الجهاز.
  • Qassah — حجز صالونات ولوحة للصالون، في السعودية.
  • AlMizan — استشارات قانونية مع مكاتب محاماة مرخّصة، في عُمان.

اقرأها كمنتجات: Naqrah.app، T-CODE، Jameyatek، Aalim، Qassah، AlMizan. التقنية: كيف انبنت. والشغل: ماذا يفعل.

أساس، مو دين

المنصتين بفريق واحد: Flutter. المنتج الخاص بـ Apple: Swift. وفي الحالتين، من يدير العمل يحصل على لوحة ويب على نفس الخلفية. وإذا كان عميلك عيادة أو محلًا أو جهة، لا شخصًا واحدًا، فالمنتج يخدم أكثر من جهة من أول يوم.

اكتب لنا عن المنتج. إذا لم يكن Flutter هو الخيار الصحيح، نقولها لك قبل أن تدفع.

أخبرنا عن مشروعك.

اكتب لنا وش تبي تبني. يرد عليك من سينفّذ الشغل.

تواصل معنا