السؤال الذي يطرحه عليّ كل عميل كويتي
حين يأتيني عميل يقول إنه يريد تطبيقاً للجوال يعمل على iOS و Android، أول ثلاث أسئلة أطرحها ليست عن الخصائص ولا المميزات — بل: "هل لديك فريق JavaScript الآن؟" و "كم الميزانية تماماً؟" و "هل تريد تحديثات سريعة أم استقراراً في السنة الأولى؟" الإجابات على هذه الأسئلة وحدها تخبرني بـ 90% من الإجابة.
React Native و Flutter ليسا خياريّ "الأفضل عموماً".
كلاهما جيد. كلاهما ينتجان تطبيقات احترافية يستخدمها ملايين الناس. لكن الفريق الذي سيناسبك أحدهما أكثر من الآخر — وهذا هو القرار الحقيقي.
React Native: السرعة والعملية البراغماتية
إذا كان لديك فريق JavaScript بالفعل — حتى لو كانوا موظفين لـ Next.js أو Node.js — فـ React Native سيشعرك وكأنك تسكب الماء من كوب إلى آخر. الخبرة تنتقل مباشرة. المنطق يبقى نفسه. الأدوات التي يعرفونها (VSCode، npm، Git) تعمل بلا تدريب إضافي.
في مشروع قدته لشركة تمويل في الكويت سنة 2024، كان عندنا فريق 4 موظفين JavaScript يعملون على منصة ويب. انتقلنا لـ React Native على Android أولاً ثم iOS. قضينا أسبوعين على التفاصيل البيئية (Xcode, Android Studio, القيود) وبعدها كانوا في السرعة الكاملة. النموذج الأول على iOS و Android في 6 أسابيع. بـ Flutter، كان ينتظرني نفس الوقت لمجرد أن يتعلموا لغة جديدة.
لكن هذا السعر له ثمن.
React Native أثقل. التطبيق يزن أكثر على الجهاز. الذاكرة تسرب أحياناً — لا دائماً، لكن في بعض الحالات المخصصة. الأداء على الأجهزة الضعيفة (وفي الخليج لدينا الكثير من الهواتف القديمة رخيصة الثمن في سوق المستخدمين الثانويين) ليس صريحاً مثل Flutter. رأيت تطبيق React Native يبطئ بشكل ملحوظ عند فتح قائمة بـ 500+ عنصر — نفس التطبيق بـ Flutter يتمرر بسلاسة.
ملاحظة الخبير: React Native و JavaScript
React Native ليست "اكتب مرة واحدة، اعمل في كل مكان" فعلاً. ستكتب كودك الأساسي مرة واحدة، لكن ستقضي 20-30% من الوقت على تصحيحات خاصة بـ iOS أو Android أو كلاهما. هذا طبيعي. لا تثق بمن يقول غير ذلك.
Flutter: الأداء الحقيقي والنضج الهادئ
في سنة 2023 كنت متحفظاً على Flutter. كانت شابة جداً. الخزانة (اللايبراريات) كانت ضعيفة. دعم الويب كان تجريبياً.
في 2026، هذا لم يعد صحيحاً.
Flutter الآن تشغل تطبيقات الإنتاج عند Google و Alibaba و eBay. دعم الويب استقر. المكتبات تغطي 95% من الاحتياجات. الوثائق رسمية واضحة. الأداء؟ أفضل من React Native بـ 30-50% على متغيرات مختلفة حسب الحالات التي اختبرتها.
مشروع طلبته لي شركة إعلانات في دبي: تطبيق إدارة حملات بسيط، iOS و Android، يحتاج استقراراً أكثر من السرعة في التطوير. اخترنا Flutter. فريقنا تعلّم Dart في أسبوعين (إنها لغة صغيرة نظيفة جداً). بنينا النموذج في 8 أسابيع بدلاً من 6، لكن الكود الناتج كان أقل عرضة للأخطاء، والتطبيق أسرع، والصيانة لاحقاً أسهل بكثير.
الثمن: Dart ليست لغة شعبية خارج Flutter. إذا احتجت موظفاً جديداً بعد سنة، ستجد 100 مطور React Native مقابل كل 5 مطوري Flutter في الخليج. هذا يتغير، لكن بطيئاً.
معايير الاختيار: لا تسمع الضجيج
الإنترنت مليء بالنقاشات حول أيهما "أفضل". تجاهل ذلك. إليك المعايير الحقيقية التي تحتاج أن تسأل عنها:
| المعيار | React Native | Flutter |
|---|---|---|
| سرعة التوظيف | سريعة جداً (أسابيع) | متوسطة (أسابيع إضافية للتعلم) |
| الأداء على أجهزة ضعيفة | مقبولة | ممتازة |
| حجم التطبيق | 45-70 MB (حسب المميزات) | 35-50 MB |
| استقرار الإصدارات الرئيسية | متغير (أحياناً breaking changes) | مستقر جداً |
| مكتبات الطرف الثالث | الآلاف، متنوعة الجودة | مئات، مراقبة الجودة أفضل |
| سهولة الصيانة بعد سنة | أسهل (الفريق ذاته) | أسهل لكن تحتاج أن تحتفظ بنفس الفريق |
إذاً: متى تختار أيهما؟
اختر React Native إذا: كان لديك فريق JavaScript قوي بالفعل، والأولويات تطوير سريع جداً، وميزانية التوظيف محدودة جداً. الفريق الموجود عندك يمكنه البدء في أسبوع.
اختر Flutter إذا: أولويتك الأداء والاستقرار، أو الفريق جديد تماماً في تطوير المحمول، أو تتوقع أن تحتاج صيانة طويلة الأجل بلا تقلبات تقنية كبيرة.
صراحةً، في الخليج أرى معظم الشركات تختار React Native لسبب واحد فقط: "لدينا موظفو JavaScript." هذا سبب صحيح. لكن إذا كنت توظف من الصفر، أود أن أقول لك بجرأة: تعليم Dart أسهل من تعليم JavaScript. الاستثمار في Flutter يعطيك تطبيقاً أفضل في النهاية.
التحذير الذي لا يتحدث عنه أحد
كلا الخيارين يحتاج خبرة بناء تطبيقات جوال حقيقية — معالجة الخيوط (Threading)، إدارة الذاكرة، اختبار الأجهزة الحقيقية، التعامل مع بطاريات الهواتف. اختيار Flutter على React Native لن يخلصك من هذا التعقيد. اختيار React Native لن يجعله سهلاً أيضاً. كل ما يفعله الاختيار هو تحديد أين ستقضي معظم صداعك.
الأرقام الحقيقية من الخليج
لا أحب الأرقام المعممة، لكن إليك ما رأيته في الواقع:
فريق 4 موظفين، 3 أشهر، تطبيق متوسط التعقيد:
- React Native: 80,000 إلى 120,000 دينار كويتي (براتب محلي)
- Flutter: 85,000 إلى 130,000 دينار كويتي (أسبوعان إضافية للتعلم)
الفرق صغير جداً. السعر الحقيقي هو الفريق والمدة، لا اللغة. لا تسمع من يقول Flutter أرخص أو أكثر غلاءً — هذا كذب.
بعد السنة الأولى: إذا احتجت إضافة موظفين، ستجد React Native أسهل توظيفاً. إذا كنت تريد استقراراً بلا مفاجآت، Flutter أقل عرضة للأخطاء.
ما تختاره الفرق المختلفة فعلاً
في البداية قلت: الفريق يحدد الإجابة. إليك الأنماط التي رأيتها:
- الشركات الناشئة التقنية: غالباً React Native (السرعة والموظفين الموجودين)
- شركات الخدمات المالية: متساوية، لكن استقرار Flutter أفضل بشكل عملي
- شركات التسويق والإعلان: اختلطت آراؤهم، لكن مَن يريد التحديثات السريعة يختار React Native
- المتاجر الإلكترونية: الأداء مهمة، لذا Flutter تحصل على حصة أكبر
لم أرَ بيانات إحصائية تغطي الخليج تحديداً بدقة، لكن من التفاعلات التي أتابعها في المنتديات والفرق المحلية، يبدو أن React Native لا تزال الخيار الأول ببساطة لأن الموارد أكثر توفراً.
رأيي المباشر (لا تتردد في عدم الاتفاق)
إذا أنشئت شركة تطوير جوال من الصفر في الكويت اليوم، سأختار Flutter. السبب: الفريق الجديد يتعلم لغة نظيفة قوية، الكود أقل عرضة للأخطاء، والأداء أفضل. الصيانة طويلة الأجل أسهل. نعم، التوظيف الإضافي لاحقاً سيكون أصعب، لكن هذا مشكلة سنة 4 أو 5، لا سنة 1.
لكن إذا كان لديك فريق JavaScript الآن وحقيقي، فـ React Native خيار ذكي واقتصادي تماماً. لا تغيره ليس لسبب عاطفي أو نظري.
الخلاصة: اختر بناءً على من عندك الآن، لا بناءً على ما تعتقد أنك ستحتاج سنة 5.
الخطوات العملية إذا أنت مستعد للقرار
أعرف أن كل ما كتبته أعلاه قد يترك لديك أسئلة فنية. لكن قبل أن تدخل في التفاصيل التقنية، تأكد من أنك أجبت على الأسئلة الاستراتيجية:
1. فريقك الحالي: هل لديهم خبرة JavaScript حالية أم هم جدد تماماً على تطوير المحمول؟
2. الميزانية: هل لديك ميزانية لتأخير 2-3 أسابيع إضافية بينما يتعلم الفريق؟ (هذا يرجح Flutter)
3. الأجهزة المستهدفة: هل المستخدمون الفعليون لديهم هواتف حديثة أم متنوعة؟ (أجهزة قديمة = Flutter أفضل)
4. الأفق الزمني: هل تحتاج تحديثات سريعة متكررة أم إطلاق واحد ثابت؟
اجب على هذه الأربعة وستعرف الإجابة بلا مساعدة.
وإذا كنت لا تزال في شك، يمكنك دائماً أن تتواصل معنا. لدينا خبرة بكلا الخيارين، وأول استشارة لا تكلف شيئاً: واتساب Tech Vision Era.