Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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.

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íš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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.
Článek pro vás napsal Štěpán Kraus
Avatar
Aktivity