Lekce 18 - MVVM architektura a navigace
V minulé lekci, Aplikace Počasí - Uložení dat a konektivita, jsme dokončili aplikaci na počasí.
V následujícím tutoriálu vývoje multiplatformních mobilních aplikací v React Native si představíme architekturu MVVM a ukážeme si další možnosti navigace. Nově nabyté vědomosti využijeme při tvorbě nové aplikace.
Architektura Model-View-ViewModel
Architektura MVVM je v podstatě rozšířením architektury MVC (Model, View, Controller), kterou jsme si představili v lekci Aplikace ToDo - Využití AsyncStorage. Architektura MVVM je oproti MVC rozšířena ještě o tzv. ViewModel, který drží data pro pohled.
ViewModel
ViewModel je speciální případ modelu určený pro pohled (v React Native nejčastěji pro stránku). Jednoduše řečeno je to třída (v našem případě i funkce), která drží data a vlastnosti např. pro nějaký formulář.
Důvod existence ViewModelu je prostý – políčka formulářů
typicky neodpovídají úplně zcela entitě, na kterou se pak data
zapíšou. Proto formulářová pole nemůžeme bindovat přímo na
modelové entity. Některá pole jsou zde navíc a některá třeba chybí.
Takovým klasickým příkladem je formulář pro filtrování produktů, který
nemůžeme navázat na žádnou entitu v modelech. Získáme zde totiž od
uživatele jen pomocná data, jako cenové rozmezí, vyhledávací frázi,
způsob řazení a podobně. Až na základě těchto dat pak vyhledáme
skutečné entity Product
, které jsou v aplikaci zastoupeny
nějakou modelovou třídou.
ViewModel na pohled navážeme prostřednictvím bindingu tak, že se jakákoli změna prvku okamžitě projeví změnou příslušné vlastnosti ve ViewModelu a naopak.
Důležité je si uvědomit, že model vůbec nemá vědět, že nějaký ViewModel existuje, a stejně tak ViewModel nemá vědět o pohledech. To znamená, že ve ViewModelu by se neměla objevit například instance ovládacího prvku.
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu React Native vytvoříme novou aplikaci, ve které implementujeme MVVM architekturu a naučíme se nové možnosti, jak se v naší aplikaci navigovat.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.