
Safari: co by měl vědět frontend vývojář
Shrnutí historie, rozdílů a testování Safari v praxi.
Safari je prohlížeč od společnosti Apple. Dnes používá jádro WebKit, zatímco Google Chrome používá Blink (historicky z WebKitu vycházel).
Safari je tak Chrome historicky trochu podobné, ale najdou se aktuální rozdíly v podporovaných věcech i vykreslování.
Další podstatná věc je, že Safari má odlišný cyklus vydávání a některé moderní webové technologie do něj dorážejí později. I proto se občas říká, že „Safari je nový IE“ (narážející na prohlížeč Internet Explorer považovaný za brzdu internetu).
Hlavní verse Safari vychází s novým macOS přibližně jednou za rok (a drobné opravy několikrát za rok), zatímco Chrome se aktualisuje průběžně každých několik týdnů.
Historie
- 2003: první vydání Safari pro macOS (tehdy Mac OS X).
- WebKit: jádro Safari vzniklo forkem projektů KHTML a KJS (Konqueror).
- 2007: uvedení iPhonu s Mobile Safari – start éry mobilního webu.
- 2007–2012: Safari pro Windows (ukončeno, dnes jen macOS/iOS/iPadOS).
- 2013: Google forkuje WebKit → vzniká Blink (Chrome, Chromium).
- 2016: startuje Safari Technology Preview pro rychlejší test novinek.
- 2017: Intelligent Tracking Prevention (ITP) – snaha omezit sledování uživatelů na webu pomocí cookies a dalších technik.
- 2020: odstraněna podpora Flashe z macOS Safari (na mobilech fungovalo nikdy).
- 2023: Web Push pro iOS/iPadOS (od 16.4) a lepší PWA integrace.
- 2024: iOS 17.4 v EU umožňuje alternativní prohlížečová jádra za podmínek.
Dostupnost a platformy
Safari jde rozumně provozovat jen v macOS a iOS/iPadOS. Na ostatních platformách zbývá virtualisace nebo vzdálené testování (například BrowserStack). Pro frontend vývojáře to znamená, že se bez Apple zařízení pro testování webu v Safari moc neobejde.
iOS a WebKit
Dlouhá léta platilo, že na iPhonu a iPadu musí prohlížeče obecně používat stejné jádro jako Safari (WebKit). Od iOS 17.4 Apple v EU umožňuje alternativní renderovací jádra za splnění specifických podmínek; mimo EU platí WebKit-only.
Teoreticky tak mohou být i v Apple produktech jiné prohlížeče. Otázka je, jestli se někdy takového produkčního prohlížeče dočkáme, protože moc nedává smysl dělat 2 různé verse prohlížeče (pro EU a mimo EU).
Safari Technology Preview
Pro macOS existuje vývojová verze Safari, kde lze zkoušet nové funkce před jejich oficiálním vydáním: Safari Technology Preview.
Jak zapnout vývojářské nástroje
macOS
- Otevřít Safari → Nastavení… → záložka Pokročilé.
- Zaškrtniout Zobrazovat funkce pro webové vývojáře.
- Vývojářské nástroje jde otevřít přes Vývojář → Zobrazit Inspektor webu nebo zkratkou
⌥⌘I. Nebo pravé tlačítko a Prozkoumat prvek funguje po zapnutí DevTools.
iOS/iPadOS
Na zařízení: Settings → Safari → Advanced → zapnout Web Inspector (a volitelně Remote Automation).
Hezká je funkce vzdáleného připojení. Když se iPhone připojí kabelem k Macu, jde si zobrazit na počítači DevTools pro stránku na mobilu.

Proč Safari řešit
Safari mívá na projektech významný podíl uživatelů a většinou ho není rozumné ignorovat. Uživatelé Apple produktů navíc často víc utrácejí, takže i menší podíl návštěv může generovat nezanedbatelný podíl tržeb.
Výhody pro uživatele Applu
Safari je úzce integrované se systémem (například Klíčenka) a obvykle je velmi úsporné na baterii. Pro uživatele Apple produktů tak jde často o nejlepší volbu a dávají Safari přednost před Chromem/Edge/Firefoxem nebo jiným prohlížečem.
Rozdíly ve vykreslování a funkcích
- Typografie: rozdíly v kerningu, ligaturách a hintingu i v textovém enginu → drobné odchylky v tloušťce, antialiasingu a zalamování řádků.
- Zaokrouhlování rozměrů: rozdílné zaokrouhlování částí pixelů ve flexboxu a gridu může způsobit 1px mezery/posuny.
- Viewport a scrollování: na mobilu se liší chování adresního řádku, viewport a jednotky 100vh/dvh.
- Komposice/GPU: jiné heuristiky pro vytváření komposičních vrstev (
transform,opacity,sticky) → rozdílné pořadí kreslení. - Formuláře: různý nativní vzhled formulářových prvků a možnosti stylování/pseudo‑elementů.
- SVG a canvas: rozdíly v rychlosti a kvalitě vykreslování.
- Média: Safari používá HEVC/HLS s nativním HDR a úsporným HW dekódováním, zatímco Chrome sází na VP9/AV1, což může znamenat jiné barvy, méně konsistentní tónové mapování a vyšší spotřebu.
- Web API: Chrome má širší sadu experimentálních a hardwarových API (např. WebUSB, Web Bluetooth, Web Serial).
- PWA a notifikace: iOS má přísnější omezení; Web Push na iOS je podporován od 16.4. Chrome nabízí plnou instalaci PWA napříč platformami.
Závěr
Safari má svá specifika a pomalejší tempo vývoje, ale vzhledem k zastoupení iOS a macOS uživatelů se mu při vývoji těžko vyhnete.
Související články
Checklist věcí, na které se při přechodu na nový iPhone zapomíná
Na co se nejčastěji zapomíná při migraci na nový iPhone? Bankovní aplikace, messengery, eGovernment služby a další aplikace.
JavaScript Battery API
Jak v JS zjistit stav baterie, co dnes funguje a kdy API nepoužívat.
Zvláštní znaky na české klávesnici v macOS
Jak v macOS na běžné české klávesnici pohodlně programovat a zapisovat všelijaké speciální znaky?
Automatické zoomování inputů na iOS
Jak se vypořádat s automatickým přibližováním stránky u formulářových prvků na iPhonech.