Výzva: Hádání při podpoře prohlížečů
Správa kompatibility prohlížečů pro více než 38 000 podnikových zákazníků v Japonsku není triviální. Když Kintone pohání kritické obchodní operace pro více než 1,5 milionu aplikací denně, každé rozhodnutí o podpoře prohlížečů je důležité.
Cybozu, přední japonská společnost pro groupware, čelila zásadní výzvě: Jak udržovat konzistentní webové standardy napříč produkty a zároveň se vyhnout zátěži údržby vlastních matic podpory prohlížečů.
Starý přístup: Sledování na základě User-Agent
Před Baseline Cybozu udržovalo vlastní kritéria podpory prohlížečů založená na přístupových logech a manuálním sledování verzí. Jejich standardem bylo podporovat prohlížeče pokrývající 98 % přístupových logů.
Problémy s tímto přístupem:
Bezpečnostní riziko
Podpora zastaralých prohlížečů neznamená jen chybějící nové funkce - jde o selhání v ochraně uživatelů. Zastaralé prohlížeče obsahují známé bezpečnostní zranitelnosti. Jejich podporou pouze na základě přístupových logů Cybozu potenciálně umožňovalo uživatelům zůstat zranitelní.
Proč byl Baseline odpovědí
Baseline poskytl přesně to, co Cybozu potřebovalo:
1. Externě udržovaná, vyvíjející se kritéria
Místo manuálního přehodnocování verzí prohlížečů každé čtvrtletí Baseline poskytuje pohyblivý cíl udržovaný W3C WebDX Community Group. Kritéria se automaticky vyvíjejí se vstupy od dodavatelů prohlížečů a standardizačních orgánů.
2. Přesnost na úrovni funkcí
Baseline Widely Available reprezentuje webové funkce dostupné 30+ měsíců napříč hlavními prohlížeči. To eliminuje hádání - "Můžeme použít CSS container queries?" se stává okamžitě zodpověditelnou otázkou.
3. Bezpečnostně uvědomělý design
Přijetím Baseline Widely Available Cybozu sladilo svou politiku podpory s životními cykly podpory dodavatelů prohlížečů. Aktivně udržované prohlížeče podporují všechny Widely Available funkce a zároveň dostávají bezpečnostní aktualizace.
Měření dopadu
Před přijetím Cybozu potřebovalo jistotu, že Baseline bude fungovat bez významných nevýhod. Pomocí nástroje Google Analytics Baseline Checker zjistili:
98,8 % jejich uživatelů používalo prohlížeče kompatibilní s Baseline - ve skutečnosti více než jejich předchozí práh 98 %!
Praktická implementace
Statická analýza s ESLint
Pomocí balíčku eslint-plugin-baseline vývojáři dostávají okamžitou zpětnou vazbu, když se pokusí použít funkce mimo práh Baseline:
`` // .eslintrc.js
module.exports = {
plugins: ['baseline'],
rules: {
'baseline/no-non-baseline-features': ['error', {
available: 'widely'
}]
}
};
javascript
`
Konfigurace transpileru
Nastavení Browserslist pro cílení na Baseline zajistí, že transpilery jako Babel a bundlery automaticky zvládnou kompatibilitu:
` # .browserslistrc
baseline widely available
``
Eliminace manuální údržby
Systém výzvy k aktualizaci prohlížeče, který dříve vyžadoval manuální aktualizace verzí, nyní jednoduše kontroluje kompatibilitu s Baseline. Nulová údržba.
Klíčové poznatky
---
> Zdroj a atribuce: Tento obsah vychází z případové studie "How Cybozu eliminated browser compatibility overhead with Baseline" publikované na web.dev pod licencí Creative Commons Attribution 4.0. Původní autoři: Sakura Adachi, Yuriko Hirota.