Архитектура екрана и навигација је систем који одређује како се корисник креће између екрана мобилне апликације, враћа назад и проналази потребне функције. Архитектура укључује правила прелаза, хијерархију екрана и начине повратка на претходне одељке. Према Apple Human Interface Guidelines (2025), промишљена навигација смањује когнитивно оптерећење корисника за 40%, а корисници троше 25% мање времена на тражење информација. Савладавањем основних принципа архитектуре екрана, моћи ћете да креирате апликације са интуитивно јасном структуром.
Главно
Архитектура екрана и навигација је оквир мобилне апликације који дефинише доступне екране и начине кретања између њих. Сваки екран решава одређени задатак: листа производа, картица производа, корпа или форма за наручивање. Према Apple Human Interface Guidelines (2025), промишљена навигација смањује когнитивно оптерећење корисника за 40%. Почетницима се препоручује да почну са једноставном шемом од три до пет екрана.
Свака архитектура екрана укључује три основна елемента: екране, прелазе и контејнере навигације. Екрани приказују садржај, прелази управљају анимацијама промене екрана, а контејнери чувају историју кретања корисника. На Android-у ову улогу игра FragmentManager, на iOS-у — UINavigationController. Разумевање ове три компоненте је први корак ка дизајнирању корисничког интерфејса.
У мобилним апликацијама постоје четири главне врсте навигације: стекова, модална, таб и гестовна. Стеков модел функционише као гомила карата — сваки нови екран се ставља на врх, а дугме "Назад" уклања горњу карту. Према Nielsen Norman Group (2024), стекова навигација је најпредвидљивији образац, разумљив 94% корисника без обуке. Почетак са стеком се препоручује јер је интуитивно јасан корисницима било које платформе.
Модални прозори су привремени екрани који захтевају акцију пре повратка на главни садржај. Користе се за један задатак: потврду акције, формулар за пријаву или избор опције. За разлику од стека, модални прозор се не чува у историји навигације. Врста навигације се бира на основу сценарија коришћења апликације.
На iOS-у, навигација се гради око UINavigationController — контролера који управља стеком екрана. UINavigationController аутоматски додаје навигациону траку са насловом и дугметом "Назад". Према Apple Developer Documentation (2025), 85% апликација у App Store-у користи UINavigationController као главни образац навигације. Почетницима iOS програмерима довољно је да савладају push и pop у комбинацији са основама UX/UI дизајна.
При push прелазу, нови екран се поставља у стек навигације, и корисник види анимацију појављивања са десне стране. При pop прелазу, тренутни екран се уклања из стека, и корисник се враћа на претходни. UINavigationController чува референце на све екране у стеку, омогућавајући кориснику да се врати неколико корака уназад. Ми у IT Sectr-у користимо овај приступ у свим iOS пројектима за изградњу линеарних корисничких сценарија.
На Android-у, архитектура екрана се имплементира кроз Navigation Component — библиотеку од Google за изградњу навигације. Navigation Component користи граф навигације (nav graph), где је сваки екран чвор, а прелази су ивице између њих. Према Android Developers Guide (2025), Navigation Component смањује грешке навигације за 60% у поређењу са ручним FragmentManager. Почетницима Android програмерима се препоручује да одмах савладају Navigation Component.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
// У 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" />
-->
// Прелаз кликом на дугме:
view.findViewById<Button>(R.id.open_detail).setOnClickListener {
findNavController().navigate(R.id.toDetail)
}
Пре појаве Navigation Component, програмери су управљали прелазима кроз FragmentManager — системску класу за замену фрагмената. FragmentManager ради са трансакцијама: replace, add, remove за промену фрагмената на екрану. Међутим, захтева ручно управљање стеком и стањима, што често доводи до грешака. Google званично препоручује Navigation Component као сигурнију алтернативу ручном FragmentManager.
Почетници често праве типичне грешке при пројектовању архитектуре екрана. Најчешћа је недостатак јединственог центра за управљање навигацијом, када су прелази раштркани по целом коду. Према анализи Google Play Console (2025), апликације са хаотичном навигацијом имају 37% више извештаја о падовима повезаних са прелазима. Јединствени рутер или граф навигације решава овај проблем.
Многи почетници заборављају да обраде системско дугме "Назад" на Android-у или гест превлачења на iOS-у. Необрађен повратак доводи до замрзавања апликације или неочекиваног изласка. На Android-у, Navigation Component обрађује дугме "Назад" аутоматски ако је конфигурисан граф навигације. Испод је пример обраде дугмета "Назад" помоћу 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
)
}
}
Код проверава да ли је панел Bottom Sheet проширен: ако јесте — скупља га, ако није — прослеђује догађај системском диспечеру. Ово је стандардни образац за прилагођену обраду "назад" у Android-у.
Често постављана питања
Архитектура екрана је структура прелаза између екрана мобилне апликације. Она одређује који су екрани доступни кориснику, којим редом се отварају и како се корисник враћа на претходни одељак. Промишљена архитектура чини интерфејс интуитивним и значајно смањује број грешака везаних за навигацију током развоја.
У мобилним апликацијама постоје стекова, модална и таб врсте навигације. Стекова навигација функционише као гомила екрана са враћањем назад. Модална отвара привремене прозоре за један задатак. Таб навигација дели апликацију на одељке са пребацивањем између њих. Избор врсте зависи од задатака програмера и потреба корисника.
Стекова навигација се чува у историји прелаза — корисник може да се врати на било koji претходни екран. Модални прозори се не чувају: након затварања, корисник одмах доспева на екран са ког је отворио прозор. Стек је погодан за секвенцијалне задатке (избор производа — корпа — плаћање), модални прозори за појединачне радње.
За Android се препоручује коришћење Navigation Component — модерне библиотеке од Google. Аутоматски управља стеком, дугметом "Назад" и дубоким линковима. FragmentManager је старији алат који захтева ручно управљање стањем. Google званично препоручује Navigation Component за све нове пројекте.
Без промишљене архитектуре екрана, апликација се брзо претвара у хаос, где се сваки нови екран додаје без система. То доводи до грешака у прелазима и потешкоћа при додавању нових функција. Према Google Play Console, апликације без архитектуре навигације имају 37% више грешака. Планирање екрана на почетку штеди до 30% времена развоја.
Резиме
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.