I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

إزاي تقلل حجم تطبيق فلاتر (Flutter App Size) وتخلي المستخدم يثبته وهو مطمن؟

إزاي تقلل حجم تطبيق فلاتر (Flutter App Size) وتخلي المستخدم يثبته وهو مطمن؟ أكيد مريت بالموقف ده: خلصت تطبيقك العظيم بفلاتر، وجيت تاخد نسخة الـ (Release APK) أو

إزاي تقلل حجم تطبيق فلاتر (Flutter App Size) وتخلي المستخدم يثبته وهو مطمن؟
Reading Count: 3

إزاي تقلل حجم تطبيق فلاتر (Flutter App Size) وتخلي المستخدم يثبته وهو مطمن؟

أكيد مريت بالموقف ده: خلصت تطبيقك العظيم بفلاتر، وجيت تاخد نسخة الـ (Release APK) أو (App Bundle)، لقيت الحجم معدي الـ 50 أو 60 ميجا! المستخدم النهاردة بقى "دقيق" جداً، ولو لقى تطبيقك حجمه كبير، غالباً هيلغي التحميل ويدور على بديل أخف. في المقال ده، هنعرف سوا إزاي نضغط حجم التطبيق ونحسنه بأفضل الممارسات (Best Practices) عشان نطلع نسخة خفيفة وسريعة.

1. استخدام صيغة App Bundle بدل APK

أول خطوة وأهم خطوة هي إنك تنسى الـ (APK) التقليدي لما تيجي ترفع التطبيق على (Google Play Store). جوجل دلوقتي بتعتمد الـ (Android App Bundle - AAB). الميزة هنا إن جوجل بتعمل (Dynamic Delivery)، يعني بتبعت للمستخدم بس الكود والموارد اللي جهازه محتاجها فعلاً بناءً على دقة الشاشة والمعالج بتاعه.

عشان تعمل النسخة دي، استخدم الأمر ده في التيرمينال:

flutter build appbundle --target-platform android-arm,android-arm64,android-x64

2. تنظيف الكود والمكتبات (Dead Code Elimination)

كتير بنضيف مكتبات (Dependencies) عشان نجرب ميزة معينة وننساها في ملف الـ (pubspec.yaml). الكود ده بيفضل موجود وبيزود الحجم. لازم تراجع الملف ده كويس وتتأكد إن كل مكتبة موجودة هي (Essential). كمان، فلاتر بتعمل حاجة اسمها (Tree Shaking) تلقائياً عشان تشيل الكود اللي مش مستخدم، بس اتأكد إنك بتستخدم الكومبايلر الصح.

3. التعامل الذكي مع الصور والموارد (Image Optimization)

الصور هي المتهم الأول في زيادة حجم التطبيق. بدل ما تحط صور بصيغة (PNG) أو (JPG) بأحجام ضخمة، جرب الآتي:

  • استخدم صيغة (WebP) بدلاً من (PNG)، فهي بتديك جودة ممتازة بحجم أقل بكتير.
  • استخدم ملفات (SVG) للأيقونات والرسومات البسيطة، لأنها (Vector) وحجمها لا يذكر مهما كبرتها.
  • قلل عدد الصور اللي موجودة جوه الـ (Assets folder) واستخدم (Network images) مع (Caching) لو الصور كتير ومتغيرة.

4. تقليل حجم ملفات الـ (Native Binaries)

تطبيق فلاتر بيحتوي على ملفات (C++ engine) ومكتبات نيتيف. تقدر تقلل الحجم ده عن طريق تحديد الـ (CPU Architectures) اللي محتاجها بس. مش لازم تدعم كل المعالجات، اكتفي بالأساسي زي (arm64-v8a) و (armeabi-v7a) لمعظم الهواتف الحديثة.

في ملف android/app/build.gradle، تقدر تضيف التعديل ده:

ndk { abiFilters "armeabi-v7a", "arm64-v8a" }

5. أدوات التحليل (Flutter App Size Analysis)

فلاتر موفرة لك أداة ممتازة عشان تعرف إيه اللي واخد أكبر مساحة في تطبيقك. استخدم الأمر ده وقت الـ (Build):

flutter build apk --analyze-size --target-platform android-arm64

الأمر ده هيطلعلك ملف (JSON) تقدر تفتحه بـ (Flutter DevTools) وتشوف بالظبط إيه اللي واخد "مساحة" في التطبيق بتاعك، سواء كانت صور أو مكتبات أو حتى الـ (Dart AOT snapshots).

نصيحة من أخ لمبرمج زيه

يا صديقي، تحسين الحجم (Optimization) مش بس عشان المتجر، ده "ثقافة" مبرمج محترف. ما تستهونش بالـ 5 ميجا الزيادة، لأنهم ممكن يكونوا سبب في إن المستخدم يقرر يمسح تطبيقك عشان يوفر مساحة لصورة تانية على موبايله. جرب الأدوات دي، ودايماً بص على ملف الـ (Assets) قبل ما تعمل (Build). التطبيق الناجح هو اللي بيقدم أفضل أداء بأقل "وزن".


Share

Related posts

May 09, 2026 • 1 min read
Reading Count: 4
ازاي تخلي تطبيق Flutter بتاعك طيارة على الويب باستخدام WebAssembly (Wasm)

ازاي تخلي تطبيق Flutter بتاعك طيارة على الويب باستخدام WebAssembly (Wasm) أكيد كـ مبرمج فلاتر (Flutt...

May 08, 2026 • 1 min read
Reading Count: 5
Dart 3: الثورة اللي غيرت قواعد اللعبة في تطوير تطبيقات فلاتر (Flutter)

Dart 3: الثورة اللي غيرت قواعد اللعبة في تطوير تطبيقات فلاتر (Flutter) لو أنت مطور فلاتر (Flutter De...

May 08, 2026 • 1 min read
Reading Count: 8
إزاي تبني واجهات متجاوبة (Responsive UI) في فلاتر (Flutter) وتخلي تطبيقك يشتغل على أي شاشة؟

إزاي تبني واجهات متجاوبة (Responsive UI) في فلاتر (Flutter) وتخلي تطبيقك يشتغل على أي شاشة؟ أكيد مري...