Jak Cybozu eliminovalo zátěž kompatibility prohlížečů díky Baseline

Zjistěte, jak Cybozu, přední japonská společnost pro groupware s 38 000+ podnikovými zákazníky, nahradila manuální sledování verzí prohlížečů standardem Baseline pro zjednodušení vývoje a zlepšení bezpečnosti.

Jak Cybozu eliminovalo zátěž kompatibility prohlížečů díky Baseline

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:

  • Každé čtvrtletí týmy trávily hodiny aktualizací kritérií
  • Neustále vyvstávaly otázky: Kdy můžeme použít nové CSS funkce? Kdy můžeme odstranit polyfully?
  • User-Agent stringy jsou nespolehlivé - boti, crawlery a útočníci zkreslují data
  • Verze prohlížečů se přímo nemapují na funkce
  • 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:

    ``javascript

    // .eslintrc.js

    module.exports = {

    plugins: ['baseline'],

    rules: {

    'baseline/no-non-baseline-features': ['error', {

    available: 'widely'

    }]

    }

    };

    `

    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

  • User-Agent je nespolehlivý - Nezakládejte rozhodnutí o podpoře na snadno zfalšovaných datech
  • Čísla verzí ≠ funkce - Stejná verze může mít různé schopnosti
  • Podpora starých prohlížečů = umožnění zranitelností - Bezpečnost musí být zvážena
  • Baseline odstraňuje hádání - Jasné, externě udržované standardy
  • Dosaženo 98,8% pokrytí - Vyšší než manuální práh 98 %
  • ---

    > 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.