Matyas.
SlužbyProjektyZkušenostiBlogKontakt
ENOzvěte se
Zpět na slovník
web-dev

Strom widgetů

Ve Flutteru je strom widgetů hierarchická struktura vnořených widgetů, která definuje celé UI aplikace. Vše ve Flutteru je widget — od rozvržení jako Column a Row přes stylovací obaly jako Padding a Theme až po interaktivní prvky jako GestureDetector. Flutter udržuje tři paralelní stromy (widget, element a render object), které spolupracují na efektivním přestavění pouze těch částí UI, které se skutečně změnily při aktualizaci stavu.

#web-dev

Související pojmy

Optimistické UI

Optimistické UI je vzor, při kterém rozhraní okamžitě zobrazí očekávaný výsledek akce uživatele, ještě než ji server potvrdí. Například tlačítko „lajk" okamžitě ukáže stav po liknutí, zatímco API požadavek probíhá na pozadí. Díky tomu aplikace působí výrazně rychleji a responzivněji. Pokud požadavek na server selže, UI se vrátí do předchozího stavu a uživatele upozorní.

Líné načítání

Líné načítání je optimalizační technika, která odkládá načtení nekritických zdrojů, dokud nejsou skutečně potřeba — typicky když se dostanou do viditelné oblasti stránky. Běžně se aplikuje na obrázky, videa a komponenty pod ohybem stránky pro urychlení počátečního načtení. Moderní prohlížeče podporují nativní líné načítání přes atribut `loading="lazy"`, zatímco řešení v JavaScriptu nabízejí větší kontrolu pomocí Intersection Observer.

BEM

BEM (Block Element Modifier) je CSS konvence pojmenování, která strukturuje názvy tříd jako `.block__element--modifier` pro vytvoření jasných, předvídatelných vztahů mezi HTML a CSS. Například `.card__title--highlighted` identifikuje zvýrazněný element nadpisu v bloku karty. Ačkoli moderní nástroje jako CSS Modules a utility frameworky snížily nutnost BEM, zůstává široce používán ve velkých kódových základnách a designových systémech, kde explicitní konvence pojmenování usnadňují týmovou koordinaci.

CSS Grid

CSS Grid je dvourozměrný systém rozvržení, který umožňuje definovat řádky a sloupce současně, což jej činí ideálním pro složité rozvržení stránek. Na rozdíl od Flexboxu, který pracuje vždy v jedné ose, Grid umožňuje přesně umísťovat prvky jak horizontálně, tak vertikálně pomocí pojmenovaných oblastí nebo čísel řádků. Funkce jako `grid-template-areas`, `auto-fill` a `minmax()` umožňují vytvářet responzivní rozvržení s minimem kódu.

Responzivní design

Responzivní design je přístup k webovému vývoji, při kterém se rozvržení, obrázky a prvky UI plynule přizpůsobují různým velikostem obrazovek a zařízení. Spoléhá na flexibilní mřížky, media queries a relativní jednotky jako `rem`, `%` a `vw` pro zajištění konzistentního zážitku od mobilních telefonů po velké monitory. Moderní responzivní design stále více využívá CSS Container Queries a techniky vnitřního rozměrování k tvorbě komponent reagujících na svůj kontejner místo viewportu.

Serverové renderování

Serverové renderování (SSR) je technika, při které se webové stránky renderují do HTML na serveru pro každý požadavek, místo aby se spoléhalo na klientský JavaScript pro sestavení stránky v prohlížeči. SSR poskytuje rychlejší počáteční načtení stránky a lepší SEO, protože vyhledávače obdrží kompletní HTML obsah. Moderní SSR ve frameworcích jako Next.js podporuje streaming, který umožňuje serveru progresivně odesílat HTML fragmenty, jakmile jsou připraveny.

Všechna slova
Matyas.

Weby, mobilní appky a automatizace s AI. Pomáhám firmám šetřit čas i peníze technologií, která opravdu funguje.

Odkazy

  • Služby
  • Projekty
  • Zkušenosti
  • Blog
  • Slovník
  • Kontakt

Připravuji

  • Případové studieBrzy
  • Zdroje

© 2026 Matyas Prochazka. Všechna práva vyhrazena.