Sobes.tech
Junior

Flutter widgetləri niyə yüngül komponentlər adlanır?

sobes.tech Süni İntellekt

AI-dan cavab

Flutter-də vidjetlər yalnız UI elementinin cari konfiqurasiyasını təsvir edir, elementin özünü deyil. Vəziyyət dəyişdikdə, vidjetlər yenidən qurulur və yeni nümunə yaradılır, lakin Dart VM köhnə və yeni vidjetləri effektiv şəkildə müqayisə edir və yalnız həqiqətən dəyişmiş render ağacının hissələrini yeniləyir. Bu, yerli UI elementlərinin yaradılması və silinməsi əməliyyatlarının bahalı olmasını qarşısını alır və onları "yüngül" edir.

  • Dəyişməzlik: Vidjetlər dəyişməzdir, bu da onların müqayisəsini və yenidən istifadəsini asanlaşdırır.
  • Deklarativ yanaşma: UI-nin vidjetlər şəklində təsviri deklarativdir və dəyişikliklərdə yüksək performans təmin edir.
  • Effektiv diffing alqoritmi: Flutter vidjetləri sürətlə müqayisə etmək və UI-ni tez yeniləmək üçün optimallaşdırılmış alqoritm istifadə edir.

Sadə mətn vidjetinin yaradılması nümunəsi:

// Vidjet obyektinin yaradılması
Text(
  'Salam, dünya!', // Vidjetin konfiqurasiyası
  style: TextStyle(fontSize: 20.0),
);

Mətn dəyişdirildikdə, yeni konfiqurasiyaya malik yeni Text obyekti yaradılır, lakin render səmərəli şəkildə yenilənir.