IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - 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.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 475 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 22 článkům (22 lekcí) tohoto kurzu.

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.

Co od nás v dalších lekcích dostaneš?
  • 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íť.

Článek pro vás napsal Štěpán Kraus
Avatar
Aktivity