Sobes.tech
Junior

Proč jsou widgety Flutter nazývány lehké komponenty?

sobes.tech AI

Odpověď od AI

Widgety ve Flutteru popisují pouze aktuální konfiguraci prvku UI, nikoli samotnou instanci prvku. Při změně stavu se widgety znovu sestaví, čímž vznikne nová instance, ale Dart VM efektivně porovnává staré a nové widgety a aktualizuje pouze části stromu vykreslování, které se skutečně změnily. To umožňuje vyhnout se nákladným operacím vytváření a odstraňování nativních prvků UI, čímž je činí "lehkými".

  • Neměnnost: Widgety jsou neměnné, což usnadňuje jejich porovnávání a opětovné použití.
  • Deklarativní přístup: Popis UI ve formě widgetů je deklarativní, což zajišťuje vysoký výkon při změnách.
  • Efektivní algoritmus diffing: Flutter používá optimalizovaný algoritmus pro rychlé porovnání widgetů a aktualizaci UI.

Příklad vytvoření jednoduchého textového widgetu:

// Vytvoření objektu widgetu
Text(
  'Ahoj, světe!', // Konfigurace widgetu
  style: TextStyle(fontSize: 20.0),
);

Při změně textu bude vytvořen nový objekt Text s novou konfigurací, ale vykreslování bude aktualizováno efektivně.