iOS vývoj · 11 min čtení

SwiftUI vs UIKit v 2026 — kterou cestou jít

Pro nový iOS projekt v 2026 stojíte před volbou: SwiftUI, UIKit, nebo kombinace. Tady je praktický průvodce z desítek projektů — kde SwiftUI exceluje, kde naopak narážíme na zeď, a jaká je naše současná default volba pro nové projekty.

Lukáš Huso, CEO Reactive Studio 4. května 2026 11 min čtení
iPhone se zdrojovým kódem — SwiftUI vs. UIKit

TL;DR: Pro nové iOS projekty cílící iOS 16+ v 2026 doporučujeme SwiftUI jako primární framework s UIKit jako záchrannou síť pro specifické komponenty. SwiftUI prošel 6 lety zrání a v 2026 zvládá 95 % use-cases produkčně. UIKit volte primárně pro: legacy projekty s extensivní UIKit codebase, aplikace cílící iOS 14 a starší, nebo specifické pokročilé scénáře (custom drawing, audio/video processing UI, vysoce výkonnostní animace).

Krátké rekapitulace

  • UIKit — Apple iOS UI framework od 2008, imperativní, Objective-C/Swift. Mature, robustní, všechno funguje, ale verbose a deklarativně to není.
  • SwiftUI — Apple framework od 2019, deklarativní, Swift-only. Krásný kód, rychlý vývoj, ale do verze ~iOS 16 měl významné limity.
  • iOS 17 a 18 — SwiftUI dospěl. Observation framework, MV pattern, vyzrálé Charts, lepší performance, lepší TextField, navigation.

Kdy SwiftUI exceluje

1. Standardní mobilní UI (90 % use-cases)

Listy, grids, formuláře, profily, settings, nastavení, taby — v SwiftUI píšete v 30–50 % řádků oproti UIKitu. Méně kódu = méně chyb = rychlejší review.

2. Animace a state-driven UI

SwiftUI animuje state changes automaticky a mnohem snáz než UIKit. withAnimation { isExpanded.toggle() } a celý UI se rozjede. V UIKitu byste to dělali přes UIView animation bloky a constraint změny.

3. macOS / watchOS / tvOS portace

Killer feature SwiftUI: stejný kód běží na všech Apple platformách. Pro multi-platform produkty (jako naše FocusForge, CopyForge, DiskForge) úspora rozpočtu 50+ %. Apple Watch komplikace v SwiftUI vs. UIKit je rozdíl mezi dnem a měsícem práce.

4. Preview a rapid iteration

#Preview macro vám dovolí vidět změny okamžitě, bez buildování celé aplikace. Pro UI iteraci (designér + vývojář) je to revoluční. UIKit Storyboard má interface builder, ale je pomalejší a rozbitější.

5. Apple HIG compliance „zdarma"

SwiftUI implementuje Apple Human Interface Guidelines defaults — sheety, alerty, menus, kontextová menu, list styly. V UIKitu si tyhle věci buď postavíte sami, nebo musíte sledovat každou iOS verzi a updatovat.

Kde SwiftUI naráží na limity (a UIKit zachrání)

1. Pokročilé textové editory

SwiftUI TextEditor je jednoduchý textarea. Pokud chcete rich text, formátování, syntax highlighting, undo/redo, kurzor manipulaci, potřebujete UITextView (přes UIViewRepresentable) nebo NSTextView.

2. Vlastní gesta a touch handling

SwiftUI .gesture() je dobrý pro standardní case (drag, pinch). Pro komplexní multitouch (kreslení, hraní, multi-finger interactions) UIKit GestureRecognizer dává víc kontroly.

3. Performance-critical lists s tisíci itemy

SwiftUI List a LazyVStack v 2026 zvládají tisíce položek, ale pro aplikace s desítkami tisíc položek a komplexními cell rendery (Twitter klient, Mail klient) UIKit UICollectionView s diffable data sources má lepší optimalizace.

4. Custom drawing (Core Graphics)

SwiftUI Canvas a Path jsou krásné, ale pro real-time kreslení s 60 FPS (whiteboard, ilustrace, hra) a integraci s Core Graphics, UIKit UIView s draw(_:) a CALayer dává víc kontroly.

5. Specifické framework integrace

SwiftUI nemá rovnocenné API pro: AVPlayer custom UI (musíte přes UIViewRepresentable), MapKit pokročilé features (clustering, polylines, custom annotation views — všechno v UIKitu mnohem snazší), WKWebView pokročilé scénáře (file uploads, custom user agents).

Naše současné rozhodnutí pro nové projekty

V Reactive Studiu od poloviny 2024 píšeme nové iOS aplikace primárně v SwiftUI. Důvody:

  • Min iOS 16+ pokrývá 95 % zařízení v ČR
  • SwiftUI 5+ má vyřešenou navigaci (NavigationStack, NavigationSplitView)
  • Observation framework nahrazuje ObservableObject — méně boilerplate
  • Charts framework umí grafy out of the box
  • Vyzrálý ekosystem third-party knihoven (SwiftUI X, Pow animations)

Pro specifické komponenty používáme UIKit přes UIViewRepresentable. Tento hybridní přístup je v 2026 standard a Apple ho aktivně podporuje.

Kdy ještě UIKit-only

  • Legacy projekty s 50 000+ řádků UIKit kódu — migrace by byla dražší než přepis. Volte UIKit, postupně přidávejte SwiftUI v nových obrazovkách.
  • Aplikace cílící iOS 14 a starší — SwiftUI tam má významné limity (chybí NavigationStack, Charts, Observation).
  • Tým bez SwiftUI zkušenosti — křivka učení existuje. Pro krátkodobý projekt se může vyplatit zůstat u toho, co tým umí.
  • Aplikace s extrémním důrazem na výkon — UIKit je o trochu pomalý, ale predikatelnější. SwiftUI rendering občas překvapuje.

Náš stack pro iOS v 2026

  • SwiftUI jako primární UI framework
  • UIKit přes UIViewRepresentable pro specifické scénáře
  • Observation framework (@Observable) místo ObservableObject
  • Swift Concurrency (async/await, actors) místo Combine
  • SwiftData nebo Core Data dle projektu
  • Swift Package Manager pro dependencies
  • XcodeGen pro generování projektu z YAML (žádné konflikty v .xcodeproj)
  • Fastlane pro automatizaci buildu a release
  • SwiftLint pro konzistentní styl

Naše reference v SwiftUI

  • FocusForge — macOS overlay, 100 % SwiftUI s AppKit jen pro borderless windows
  • CopyForge — macOS schránka, MVVM v SwiftUI, Core Data, AES-256 šifrování
  • DiskForge — macOS disk cleaner, plný Swift Concurrency (actors, async/await), SwiftUI Charts

iOS aplikace v SwiftUI dodáváme na zakázku — prevažující většina nových projektů v posledních 18 měsících.

Doporučení pro klienty

Pokud zvažujete nový iOS projekt, nemusíte se bát SwiftUI. Je to v 2026 vyzrálá technologie, ekonomicky výhodná, futureproof. Studio, které vám nabízí UIKit-only pro nový projekt v 2026 bez přesvědčivého důvodu, není actualí.

Naopak studio, které slibuje 100 % SwiftUI bez výjimek, je často překotně optimistické. Hybridní přístup (SwiftUI + UIKit pro specifika) je zdravý realismus.

Závěr

SwiftUI vyhrál souboj o budoucnost iOS, ale UIKit nezmizel — zůstává jako základní vrstva pro pokročilé scénáře. Apple oba frameworky aktivně udržuje a SwiftUI je pod kapotou často implementován přes UIKit. Volba pro klienta není ideologická, je to pragmatický rozsah:

  • Standardní mobilní aplikace → SwiftUI primárně, UIKit doplňkově
  • Vlastní macOS produkt → SwiftUI + AppKit pro pokročilé scénáře
  • Apple Watch / Vision Pro / Apple TV → SwiftUI bez výjimek
  • Legacy iOS projekt → UIKit-first, SwiftUI postupně

Plánujete iOS projekt?

Domluvíme bezplatnou konzultaci a doporučíme správnou technologii pro váš projekt.