Sobes.tech
Junior

Prečo sa widgety Flutter nazývajú ľahké komponenty?

sobes.tech AI

Odpoveď od AI

Widgety vo Flutter opisujú iba aktuálnu konfiguráciu prvku UI, nie samotný prvok. Pri zmene stavu sa widgety znovu zostavia, čím vznikne nová inštancia, ale VM Dart efektívne porovnáva staré a nové widgety a aktualizuje iba tie časti stromu renderovania, ktoré sa naozaj zmenili. To umožňuje vyhnúť sa nákladným operáciám vytvárania a odstraňovania natívnych prvkov UI, čím ich robí "ľahkými".

  • Nemennosť: Widgety sú nemenné, čo uľahčuje ich porovnávanie a opätovné použitie.
  • Deklaratívny prístup: Popis UI vo forme widgetov je deklaratívny, čo zabezpečuje vysoký výkon pri zmenách.
  • Efektívny diffing algoritmus: Flutter používa optimalizovaný algoritmus na rýchle porovnávanie widgetov a aktualizáciu UI.

Príklad vytvorenia jednoduchého textového widgetu:

// Vytvorenie objektu widgetu
Text(
  'Ahoj, svet!', // Konfigurácia widgetu
  style: TextStyle(fontSize: 20.0),
);

Pri zmene textu sa vytvorí nový objekt Text s novou konfiguráciou, ale renderovanie bude efektívne aktualizované.