Moderní tvorba webových aplikací

O webu

Safari: co by měl vědět frontend vývojář

Shrnutí historie, rozdílů a testování Safari v praxi.

6 minut

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

  1. Otevřít SafariNastavení… → záložka Pokročilé.
  2. Zaškrtniout Zobrazovat funkce pro webové vývojáře.
  3. 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í: SettingsSafariAdvanced → 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.

Vzdálený výoj

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.

12 minut

JavaScript Battery API

Jak v JS zjistit stav baterie, co dnes funguje a kdy API nepoužívat.

3 minuty

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?

11 minut

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.

5 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025