جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

اطلاعات شخصی شما برای پردازش سفارش شما استفاده می‌شود، و پشتیبانی از تجربه شما در این وبسایت، و برای اهداف دیگری که در سیاست حفظ حریم خصوصی توضیح داده شده است.

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • علاقمندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > فلاتر > کاهش حجم اپلیکیشن‌های فلاتری

کاهش حجم اپلیکیشن‌های فلاتری

1404-01-05
ارسال شده توسط آموزنگار
فلاتر
کاهش حجم اپلیکیشن‌های فلاتری

با گسترش روزافزون اپلیکیشن‌های موبایل، کاربران به دنبال اپلیکیشن‌هایی با عملکرد سریع و حجم کم هستند. حجم بالای اپلیکیشن می‌تواند باعث کاهش تعداد نصب، افزایش نرخ حذف و حتی افت عملکرد شود. در این مقاله، روش‌های کاهش حجم اپلیکیشن‌های فلاتری را بررسی می‌کنیم. همچنین تفاوت حجم اپلیکیشن‌های فلاتری و نیتیو و روش‌های خروجی گرفتن برای اندروید و iOS را مرور خواهیم کرد.

فلاتر چیست؟

فلاتر (Flutter) یک فریمورک متن‌باز برای توسعه اپلیکیشن‌های چندسکویی (cross-platform) است که توسط گوگل توسعه یافته است. این فریمورک امکان ساخت اپلیکیشن‌های اندروید، iOS، وب و دسکتاپ را با یک کد واحد فراهم می‌کند.

ویژگی‌های کلیدی فلاتر:

  • استفاده از زبان Dart: فلاتر از زبان برنامه‌نویسی Dart برای توسعه استفاده می‌کند.
  • رندرینگ سفارشی: از موتور گرافیکی Skia برای رندر سریع و دقیق استفاده می‌کند.
  • Hot Reload: قابلیت مشاهده تغییرات کد بدون نیاز به ری‌استارت اپلیکیشن.
  • ویجت‌های قابل شخصی‌سازی: برای ایجاد رابط کاربری مدرن و زیبا.

🔹 انواع خروجی اپلیکیشن‌های فلاتر

انواع خروجی اپلیکیشن‌های فلاتر

فلاتر به دلیل قابلیت چندسکویی، خروجی‌های مختلفی را تولید می‌کند:

  • اندروید: خروجی به‌صورت APK، AAB یا App Bundle.
  • iOS: خروجی به‌صورت IPA.
  • وب: خروجی به‌صورت فایل‌های HTML، CSS و JS.
  • دسکتاپ: خروجی برای سیستم‌عامل‌های macOS، Windows و Linux.
پلتفرم های فلاتر

🔹 حجم اپلیکیشن‌های فلاتری در مقایسه با نیتیو

یکی از نقاط ضعف اپلیکیشن‌های فلاتری، حجم بالای آن‌ها نسبت به اپلیکیشن‌های نیتیو است. علت این موضوع:

  • وجود موتور رندر داخلی: اپلیکیشن‌های فلاتری شامل موتور رندر Skia هستند که باعث افزایش حجم می‌شود.
  • فایل‌های کتابخانه‌ی Dart: کتابخانه‌های پیش‌فرض Dart در داخل خروجی اپلیکیشن قرار می‌گیرند.
  • عدم استفاده از APIهای سیستمی: برخلاف اپلیکیشن‌های نیتیو، اپ‌های فلاتری مجبورند برخی از قابلیت‌های سیستمی را شبیه‌سازی کنند که این امر حجم اپ را افزایش می‌دهد.

مقایسه حجم خروجی:

  • اپلیکیشن نیتیو اندروید: 5 الی 10 مگابایت.
  • اپلیکیشن فلاتری اندروید: 15 الی 25 مگابایت.
  • اپلیکیشن نیتیو iOS: 10 الی 15 مگابایت.
  • اپلیکیشن فلاتری iOS: 40 الی 60 مگابایت.
آموزش استفاده از تبلیغات Admob در برنامه نویسی فلاتر
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

🔹 روش خروجی گرفتن اپلیکیشن اندروید

برای خروجی گرفتن اپ اندروید در فلاتر، می‌توانید از دستورات زیر استفاده کنید:

  1. ساخت APK:
flutter build apk --release
  1. ساخت App Bundle:
flutter build appbundle --release
  1. بهینه‌سازی خروجی:
  • برای کاهش حجم، از --split-per-abi برای ایجاد نسخه‌های اختصاصی برای معماری‌های مختلف استفاده کنید:
flutter build apk --release --split-per-abi

این دستور خروجی را برای هر معماری CPU (مانند armeabi-v7a, arm64-v8a و x86_64) جدا می‌کند و باعث کاهش حجم فایل APK نهایی می‌شود.

🔹 روش خروجی گرفتن اپلیکیشن iOS

برای خروجی گرفتن اپلیکیشن iOS در فلاتر:

  1. ساخت خروجی iOS:
flutter build ios --release
  1. آرشیو و انتشار در Xcode:
  • پروژه را در Xcode باز کنید:
open ios/Runner.xcworkspace

از منوی Product > Archive خروجی گرفته و برای انتشار آماده کنید.

🔹 روش‌های کاهش حجم اپلیکیشن فلاتری

✅ 1. استفاده از Split APKs یا App Bundles در اندروید می‌توانید خروجی App Bundle بگیرید که گوگل‌پلی به صورت خودکار نسخه بهینه را برای دستگاه کاربر ارائه می‌دهد. این کار حجم دانلود را کاهش می‌دهد:

flutter build appbundle --release

همچنین با دستور زیر می‌توانید برای هر معماری خروجی مجزا بگیرید:

flutter build apk --release --split-per-abi

✅ 2. فشرده‌سازی فایل‌های تصویر

  • از تصاویر WebP یا SVG به جای PNG و JPG استفاده کنید.
  • فشرده‌سازی تصاویر با ابزارهایی مثل:
    • TinyPNG
    • ImageOptim

✅ 3. استفاده از ProGuard و R8 در اندروید ProGuard و R8 به شما کمک می‌کنند تا کلاس‌ها و متدهای بلااستفاده را حذف کنید:

  • فایل android/app/proguard-rules.pro را ویرایش کرده و موارد زیر را اضافه کنید:
-keep class io.flutter.app.FlutterApplication
-keep class io.flutter.plugin.** { *; }
  • فایل android/app/build.gradle را بهینه کنید:
buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

✅ 4. حذف فونت‌های بلااستفاده اگر از فونت‌های خارجی زیادی استفاده می‌کنید، موارد بلااستفاده را حذف کنید.

ساختار طراحی صفحات Scaffold در فلاتر
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

✅ 5. غیرفعال کردن فلگ‌های غیرضروری در فایل pubspec.yaml، فلگ‌های debug و profile را غیرفعال کرده و فقط نسخه release را خروجی بگیرید.

✅ 6. Lazy Loading و Deferred Components در صورت نیاز به کتابخانه‌های بزرگ، می‌توانید از Deferred Components استفاده کنید تا آن‌ها را هنگام اجرا و نه در هنگام نصب، دانلود کنید.

✅ 7. حذف Assets اضافی فایل‌های بلااستفاده و اضافی در مسیر assets را حذف کنید.

✅ 8. حذف کتابخانه‌های غیرضروری کتابخانه‌های بلااستفاده در pubspec.yaml را حذف کنید.

✅ 9. فعال کردن “Tree Shaking” در اپ‌های وب، با فعال‌کردن Tree Shaking، کدهای بلااستفاده Dart حذف می‌شوند:

flutter build web --release

✅ 10. استفاده از پکیج‌های بهینه برخی پکیج‌ها مانند flutter_svg و cached_network_image بهینه‌تر از معادل‌های رایج هستند.

🔹 سوالات متداول

✅ 1. آیا اپلیکیشن‌های فلاتری همیشه حجم بالایی دارند؟
خیر، با بهینه‌سازی‌های مناسب مانند Split APK، فشرده‌سازی تصاویر و حذف کتابخانه‌های غیرضروری، می‌توانید حجم اپلیکیشن را کاهش دهید.

✅ 2. بهترین روش برای کاهش حجم اپ در iOS چیست؟
استفاده از ابزارهای فشرده‌سازی اپل مانند Bitcode و حذف منابع اضافی.

✅ 3. آیا استفاده از فلاتر برای اپ‌های سنگین مناسب است؟
بله، اما برای اپ‌های بسیار سنگین یا گرافیکی، استفاده از کد نیتیو (مانند Swift یا Kotlin) ممکن است بهینه‌تر باشد.

🔹 نتیجه‌گیری

کاهش حجم اپلیکیشن‌های فلاتری به بهبود تجربه کاربری و افزایش نصب‌ها منجر می‌شود. با بهینه‌سازی تصاویر، استفاده از Split APK یا App Bundle، حذف کتابخانه‌های غیرضروری و فعال‌سازی ProGuard یا R8 می‌توانید حجم اپلیکیشن را به میزان قابل توجهی کاهش دهید. رعایت این اصول، علاوه بر بهبود عملکرد، مصرف حافظه و سرعت بارگذاری اپ را نیز افزایش می‌دهد.

قبلی چگونه خروجی PWA در فلاتر بگیریم؟
بعدی فریمورک کوین (Koin) چیست؟

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • لینوکس
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

ورود
با شماره موبایل
با آدرس ایمیل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
بازنشانی رمزعبور
با شماره موبایل
با آدرس ایمیل
ثبت نام
با شماره موبایل
با آدرس ایمیل
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط