Watch
1
0
Fork
You've already forked Seyyed_arc
0
forked from hesabix/arc
Seyyed_arc/hesabixUI/hesabix_ui/lib/utils/route_prefetcher.dart
2026-04-14 19:34:55 +03:30

48 lines
2.2 KiB
Dart
Executable file

import 'package:flutter/foundation.dart';
/// Utility class برای بهینه‌سازی loading صفحات در Flutter Web
///
/// توجه: در Flutter Web، تمام صفحات به صورت eager load می‌شوند
/// (همه import شده‌اند) بنابراین کد تمام صفحات در bundle اولیه موجود است.
///
/// این کلاس برای مستندات و احتمالات آینده نگهداری می‌شود.
///
/// برای بهینه‌سازی بیشتر:
/// 1. از build flags مناسب استفاده کنید (--release --web-renderer canvaskit)
/// 2. از CDN و caching استفاده کنید
/// 3. فایل‌های static را cache کنید
class RoutePrefetcher {
/// یادآوری: در Flutter Web با eager loading، تمام صفحات از قبل لود شده‌اند
/// این متد برای مستندات نگه داشته شده است
static void initialize() {
if (kDebugMode) {
print('RoutePrefetcher: تمام صفحات به صورت eager load می‌شوند');
print('RoutePrefetcher: برای بهینه‌سازی، از build flags مناسب استفاده کنید');
}
}
/// راهنمایی برای بهینه‌سازی
///
/// در Flutter Web، بهترین راه برای حذف تأخیر:
/// 1. استفاده از --release برای production build
/// 2. استفاده از --web-renderer canvaskit
/// 3. Cache کردن فایل‌های static
/// 4. استفاده از CDN
static String getOptimizationTips() {
return '''
راهنمای بهینه‌سازی Flutter Web:
1. Build برای Production:
flutter build web --release --web-renderer canvaskit
2. تمام صفحات به صورت eager load می‌شوند (همه import شده‌اند)
بنابراین کد تمام صفحات در bundle اولیه موجود است
3. برای کاهش حجم bundle، می‌توانید از deferred imports استفاده کنید
اما این باعث ایجاد تأخیر در جابجایی بین صفحات می‌شود
4. توصیه: eager loading بهتر از lazy loading برای تجربه کاربری است
''';
}
}