Mi van, ha nulláról építenénk újra a webet? Egy fejlesztő szemszöge a webes szabványok forradalmáról
A mai web vs. a web, amire szükségünk van
Emlékszel, amikor a webfejlesztés egyszerű volt? Minden fontos szabályt fejből tudtál. Ma az HTML specifikáció több mint 18 megabájtnyi szöveg, ami folyamatosan változik. A "living standard" miatt hetente jönnek az újítások. A böngészők különböző részeket valósítanak meg. Mindenki trükköket épít be, hogy működjön a káosz.
Felmerül a kérdés: mi lenne, ha alapjaiban másképp terveznénk meg a webyt?
A fő gond: a bonyolultság védőpajzs
A web kaotikus volta nem véletlen. Ha a szabványok túl összetettek, csak nagyvállalatok tudnak böngészőt fejleszteni. Ez megöli a versenyt, fékezzi az újításokat, és a nagyok diktálnak – profitért, nem a felhasználókért.
Gondolj bele játékelméletileg: egy túltömött szabvány tele ritka funkciókkal és hibákkal azt jelenti:
- Új böngészőhöz ezrek kellenek
- Kis csapatok esélytelenek
- A nagyok irányítanak
- Az innováció lelassul
Ez nem hiba, hanem stratégia – ha már te nyersz.
Milyen lenne egy egyszerűbb web?
Képzeld el egy specifikációt, ami belefér egy zipbe. Nyomtatható méretű. Pontos verziószámokkal (1.2.3), fixált kiadásokkal. Veszel egy 1.2.0-t, elvonulsz egy szigetre, és azzal megépítesz egy tökéletes böngészőt.
Szigorú szabályok a laza káosz helyett
A mai web "hibajavító" szemlélete pokol a parser íróknak. A böngészők bonyolult logikával próbálják értelmezni a törött HTML-t, mert "így kell". Mi lenne, ha megfordítanánk?
Egy egyértelmű, formális grammatika. Az oldal vagy érvényes, vagy sem. Nincs sunnymozás. Ez kényszeríti a pontos specet, amit bárki megért.
Eredmény? A fejlesztők YAML-re vagy Markdownra váltanának, ami valid markupká fordul. Az eszközök egyszerűbbek lesznek. Mindenki nyer.
Verziószámok, mint szerződés
A heti változtatások megkeserítik az életet. A semantic versioning megoldja:
- Patch: csak helyesírás, a szabályok fixek
- Minor: kompatibilis újítások
- Major: törő változások
Célzod az 1.2.0-t, és tudod: 1.2.x-től 1.3.x-ig működik, de 1.1.x-en nem. Tervezhetsz nyugodtan.
Szöveg az első: a nyerő ötlet
A média- és script-mánia feleslegesen bonyolítja a webyt. Mi lenne, ha a szövegre és szemantikára építkeznénk?
A szöveg hordozható, fordítható, elérhető, gyors. Egy ilyen oldal:
- Bármilyen képernyőre illeszkedik
- Screen readerrel olvasható simán
- CSS nélkül is érthető
- Óriásisan kicsi fájl
Ez nem visszalépés. Visszatérés a web erejéhez: emberek közötti infócsere.
A script-dilemma
Provokatív gondolat: a scripting hiba volt.
Ne dobd be a lapot! Nem az interakció ellen vagyok. Hanem az ellen, hogy minden oldalba teljes programnyelvet pakoljunk – közel teljes rendszerhozzáféréssel. Ez őrület.
Mi lenne deklaratív, korlátozott rendszerrel? Komplex appok külön programként?
Miért fontos ez most?
Nem elmélet. Közvetlenül érint téged.
Domain regisztrátoroknak és hosting cégeknek: Egyszerűbb web jobb biztonság, könnyebb megfelelés, optimalizált infrastruktúra. Mi a NameOcean-nél rengeteget küszködünk a böngésző furcsaságaival. Tisztább szabvány enyhítené ezt.
Fejlesztőknek: Kevesebb hiba, gyorsabb munka, egyszerű debug. Verziókra célozhatsz biztosan.
Startupoknak: Alacsonyabb küszöb, több versenytárs, jobb eszközök.
Felhasználóknak: Kisebb fájlok, gyorsabb betöltés, elérhetőbb oldalak, alapértelmezett biztonság.
A szabványok hatalmi játszmái
A legfontosabb: a szabványok nem csak technikailag fejlődnek, hanem hatalmi logika szerint. A bonyolultság védőárkot épít a nagyoknak.
Megértve ezt, érthető, miért nehéz javítani. Játékelmélet kell: hogyan tartsuk egyszerűen, ha a pénz bonyolításra ösztönöz?
Válasz: korlátok – fájlméret, kormányzás, kompatibilitás, közösségi felügyelet. Nem technika, politika.
Mit tehetsz most
Nem forkolhatod a webyt holnap (bár próbálkoznak). De:
- Egyszerűséget részesítsd előnyben. Korlátozd a JS-t. Használj szemantikus HTML-t. Teszteld CSS nélkül.
- Konkrét verziókra célozz. Dokumentáld a kompatibilitást.
- Szöveg-központú oldalakat építs. Olvasható sima szövegként. Markdown contenthez.
- Kérdőjelezd meg a felesleges vendor funkciókat. Lehet, de kell?
- Támogasd a nyitott alternatívákat. Kis böngészők, open source projektek – ők tartják életben az elveket.
A lényeges kérdés
A web nem kell, hogy ennyire bonyolult legyen. Hogy az, sokat elárul a kapitalizmus alatti szabványfejlődésről. Technikailag egyszerű a javítás, politikailag kemény.
Lehet, nem lesz "forkolt web". De a kérdésfeltevés őszintén tart. Emlékeztesd magad: a mai web nem végzet, választás. Amit választottak, azt meg lehet változtatni.
Következő böngésző-baj vagy felesleges feature-üldözésnél gondold át: nem kell ennek így lennie.