Css og Html udvikler sig med en hastighed, som vi ikke har set før. Der kommer nye features hele tiden og modsat IE dagene, så ruller de hurtigt ud til de fleste browsere. Bare det sidste år er der sket meget. Lige nu klapper vi udviklere i hænderne over :has selectoren. Den blev introduceret midt i '22. og har allerede nu understøttelse af 86% af brugere.
Det er jo fantastisk med den udvikling - men det gør det også svært at følge med. Det kan være lidt af et puslespil at holde øje med, hvilke features der har bred nok understøttelse til at være brugbare. Og hvordan får vi reduceret det puslespil til noget som er enkelt for projektledere og kunder?
Det bliver nemmere nu med Baseline projektet. Baseline er en streg i sandet: Disse funktioner har bred nok understøttelse til at du kan bruge dem, og disse har ikke. Tanken er at Baseline skal opdateres årligt, så man får en Baseline '23, Baseline '24 osv. Når man starter et nyt projekt, beslutter man sig for hvilken Baseline man vil følge. Er det vigtigt at have meget bred understøttelse, så tager man en ældre Baseline. Tør man være lidt mere moderne og eksperimenterende, så bruger man den nyeste Baseline eller går bevidst over den.
Baseline vedligeholdes af WebDX gruppen, som er en sammenslutning af de store spillere: Google, Apple, Mozilla, W3C med flere.
Jeg er virkelig begejstret for ideen.
Jeg håber det bliver sådan, at jeg kan aftale en Baseline med en kunde, og mit udviklingsværktøj kan advare mig, hvis jeg bevæger mig uden for den. Så bliver det nemmere for mig at diskutere browserunderstøttelse med mine kunder, og det giver også frihed til at eksperimentere, hvis jeg hurtigt kan se når jeg bevæger mig ud for rammerne.
Det vil også være meget enklere at forholde sig til nye web features, hvis man kan orientere sig i en ny baseline en gang om året. Jeg følger med af almendelig nørdet nysgerrighed, men det er en udfordring at holde styr på alle de nye features der dukker op, og hvornår de er tilstrækkeligt sikre at bruge.
Kritikere siger at det er for simpelt bare at have én streg i sandet, og at man som udvikler stadig bør forholde sig til de enkelte funktioners understøttelse. Det kan der være noget om. Det ER en simplificering, så nuancerne forsvinder. Der vil også være områder hvor man kan diskutere om det rigtige er med i baseline.
Men det er også en kæmpe reduktion af kompleksitet at en meget bred grupper af spillerne siger "det her er sikkert at bruge" - og det forhindrer jo ikke udviklere i at dykke mere ned i nuancerne.
Jeg forudser at Baseline vil være til stor nytte fremover. Ikke bare for os udviklere, men også for kunder og projektledere.