Architektura obrazovek a navigace je systém, který určuje, jak se uživatel pohybuje mezi obrazovkami mobilní aplikace, vrací se zpět a nachází potřebné funkce. Architektura zahrnuje pravidla přechodů, hierarchii obrazovek a způsoby návratu k předchozím sekcím. Podle Apple Human Interface Guidelines (2025) promyšlená navigace snižuje kognitivní zátěž uživatele o 40 % a uživatelé tráví o 25 % méně času hledáním informací. Zvládnutím základních principů architektury obrazovek budete schopni vytvářet aplikace s intuitivně jasnou strukturou.
Hlavní body
Architektura obrazovek a navigace je rámec mobilní aplikace, který definuje dostupné obrazovky a způsoby pohybu mezi nimi. Každá obrazovka řeší konkrétní úkol: seznam produktů, karta produktu, košík nebo platební formulář. Podle Apple Human Interface Guidelines (2025) promyšlená navigace snižuje kognitivní zátěž uživatele o 40 %. Začínající vývojáři by měli začít s jednoduchým schématem tří až pěti obrazovek.
Každá architektura obrazovek zahrnuje tři základní prvky: obrazovky, přechody a kontejnery navigace. Obrazovky zobrazují obsah, přechody spravují animace změny obrazovky a kontejnery ukládají historii pohybů uživatele. Na Androidu tuto roli hraje FragmentManager, na iOS — UINavigationController. Porozumění těmto třem komponentám je prvním krokem k navrhování uživatelsky přívětivého rozhraní.
V mobilních aplikacích existují čtyři hlavní typy navigace: zásobníková, modální, záložková a gestická. Zásobníkový model funguje jako hromada karet — každá nová obrazovka se položí navrch a tlačítko "Zpět" odstraní horní kartu. Podle Nielsen Norman Group (2024) je zásobníková navigace nejpředvídatelnější vzor, srozumitelný 94 % uživatelů bez školení. Začít se zásobníkem se doporučuje, protože je intuitivně jasný uživatelům jakékoli platformy.
Modální okna jsou dočasné obrazovky, které vyžadují akci před návratem k hlavnímu obsahu. Používají se pro jeden úkol: potvrzení akce, přihlašovací formulář nebo výběr možnosti. Na rozdíl od zásobníku se modální okno neukládá do historie navigace. Typ navigace se volí na základě případů použití aplikace.
Na iOS je navigace postavena kolem UINavigationController — kontroléru, který spravuje zásobník obrazovek. UINavigationController automaticky přidává navigační lištu s názvem a tlačítkem "Zpět". Podle Apple Developer Documentation (2025) používá 85 % aplikací v App Store UINavigationController jako hlavní navigační vzor. Začínající iOS vývojáři potřebují zvládnout pouze push a pop v kombinaci se základy UX/UI designu.
Při push přechodu je nová obrazovka umístěna do navigačního zásobníku a uživatel vidí animaci zasouvání zprava. Při pop přechodu je aktuální obrazovka odstraněna ze zásobníku a uživatel se vrací k předchozí. UINavigationController ukládá odkazy na všechny obrazovky v zásobníku, což uživateli umožňuje vrátit se o několik kroků zpět. V IT Sectr používáme tento přístup ve všech iOS projektech pro vytváření lineárních uživatelských scénářů.
Na Androidu je architektura obrazovek implementována prostřednictvím Navigation Component — knihovny od Google pro vytváření navigace. Navigation Component používá navigační graf (nav graph), kde každá obrazovka je uzel a přechody jsou hrany mezi nimi. Podle Android Developers Guide (2025) Navigation Component snižuje navigační chyby o 60 % ve srovnání s ručním FragmentManager. Začínajícím Android vývojářům se doporučuje okamžitě zvládnout Navigation Component.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
// V nav_graph.xml:
<!--
<fragment android:id="@+id/homeFragment"
android:name=".HomeFragment" />
<fragment android:id="@+id/detailFragment"
android:name=".DetailFragment" />
<action android:id="@+id/toDetail"
app:destination="@id/detailFragment" />
-->
// Navigace po kliknutí na tlačítko:
view.findViewById<Button>(R.id.open_detail).setOnClickListener {
findNavController().navigate(R.id.toDetail)
}
Před Navigation Component vývojáři spravovali přechody pomocí FragmentManager — systémové třídy pro nahrazování fragmentů. FragmentManager pracuje s transakcemi: replace, add, remove pro změnu fragmentů na obrazovce. Vyžaduje však ruční správu zásobníku a stavů, což často vede k chybám. Google oficiálně doporučuje Navigation Component jako bezpečnější alternativu k ručnímu FragmentManager.
Začínající vývojáři často dělají typické chyby při navrhování architektury obrazovek. Nejčastější je absence jediného centra řízení navigace, když jsou přechody rozptýleny po celém kódu. Podle analýzy Google Play Console (2025) mají aplikace s chaotickou navigací o 37 % více hlášení pádů souvisejících s přechody. Jediný směrovač nebo navigační graf tento problém řeší.
Mnoho začátečníků zapomíná zpracovat systémové tlačítko "Zpět" na Androidu nebo gesto přejetí na iOS. Neošetřený návrat vede k zamrznutí aplikace nebo neočekávanému ukončení. Na Androidu Navigation Component zpracovává tlačítko "Zpět" automaticky, pokud je navigační graf nakonfigurován. Níže je příklad zpracování tlačítka "Zpět" pomocí OnBackPressedDispatcher.
class MyFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val callback = OnBackPressedCallback(true) {
if (isSheetExpanded) {
collapseSheet()
isEnabled = false
} else {
isEnabled = false
requireActivity().onBackPressedDispatcher.onBackPressed()
}
}
requireActivity().onBackPressedDispatcher.addCallback(
viewLifecycleOwner, callback
)
}
}
Kód kontroluje, zda je panel Bottom Sheet rozbalen: pokud ano — sbalí jej, pokud ne — předá událost systémovému dispečerovi. Toto je standardní vzor pro vlastní zpracování "zpět" v Androidu.
Často kladené otázky
Architektura obrazovek je struktura přechodů mezi obrazovkami mobilní aplikace. Určuje, které obrazovky jsou pro uživatele k dispozici, v jakém pořadí se otevírají a jak se uživatel vrací do předchozí sekce. Promyšlená architektura činí rozhraní intuitivním a výrazně snižuje počet chyb souvisejících s navigací během vývoje.
V mobilních aplikacích existují typy navigace zásobníková, modální a záložková. Zásobníková navigace funguje jako hromada obrazovek s návratem. Modální otevírá dočasná okna pro jeden úkol. Záložková rozděluje aplikaci na sekce s přepínáním mezi nimi. Výběr typu závisí na úkolech vývojáře a potřebách uživatelů.
Zásobníková navigace je ukládána do historie přechodů — uživatel se může vrátit na libovolnou předchozí obrazovku. Modální okna se neukládají: po zavření se uživatel dostane přímo na obrazovku, ze které okno otevřel. Zásobník je vhodný pro sekvenční úkoly (výběr produktu — košík — platba), modální okna pro jednotlivé akce.
Pro Android se doporučuje používat Navigation Component — moderní knihovnu od Google. Automaticky spravuje zásobník, tlačítko "Zpět" a deep linky. FragmentManager je starší nástroj vyžadující ruční správu stavu. Google oficiálně doporučuje Navigation Component pro všechny nové projekty.
Bez promyšlené architektury obrazovek se aplikace rychle změní v chaos, kde každá nová obrazovka je přidávána bez systému. To vede k chybám přechodů a potížím s přidáváním nových funkcí. Podle Google Play Console mají aplikace bez architektury navigace o 37 % více chyb. Plánování obrazovek na začátku šetří až 30 % času vývoje.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.