Webový vývojář v roce 2000 a dnes: Co všechno se změnilo?
Nálepky:
Webový vývojář v roce 2000 a dnes: Co všechno se změnilo?
Představte si, že byste vzali webového vývojáře z roku 2000, posadili ho do stroje času a vysadili v dnešní open space kanceláři. Nejdřív by ho zmátlo, že nikde nevidí CRT monitor. Pak by se zeptal, proč všichni píšou do černého okna s barevným textem, když přece existuje FrontPage. A nakonec by zkolaboval u věty: „Hele, jen si stáhni závislosti, je jich asi tisíc dvě stě, zabere to chvilku.“
Za pouhé čtvrtstoletí se z webového vývoje stala úplně jiná disciplína. Změnily se nástroje, jazyky, procesy i samotná definice toho, co znamená „umět dělat weby“. Pojďme se podívat, co všechno se proměnilo — a co kupodivu zůstalo úplně stejné.
Rok 2000: webmaster na volné noze mezi tabulkami
Na přelomu tisíciletí neexistoval „frontend developer“ ani „DevOps engineer“. Existoval webmaster — člověk, který uměl všechno. Napsal HTML, nakreslil grafiku v Photoshopu (nebo v horším případě v Microsoft Image Composeru), naprogramoval počítadlo návštěv v Perlu, nahrál to přes FTP na server a ještě odpovídal na e-maily z formuláře.
Typický web roku 2000 stál na třech pilířích: tabulkovém layoutu, řezané grafice a spacer.gif. Kdo tehdy nedělal weby, tomu je potřeba vysvětlit, že CSS sice formálně existovalo (CSS1 už od roku 1996), ale prohlížeče ho podporovaly tak mizerně, že se používalo maximálně na barvy písma. Rozvržení stránky se skládalo z vnořených tabulek — často pět, šest úrovní hluboko. A protože prohlížeče měly tendenci prázdné buňky kolabovat, vkládal se do nich průhledný obrázek o velikosti jednoho pixelu, kterému se nastavila šířka a výška. Legendární spacer.gif držel pohromadě polovinu tehdejšího internetu.
Design se dělal tak, že grafik nakreslil celý web jako jeden obrázek, ten se v Photoshopu „rozřezal“ na desítky malých obrázků a ty se poskládaly zpátky do tabulky. Když klient chtěl změnit jedno slovo v menu, znamenalo to otevřít Photoshop, upravit obrázek, znovu vyexportovat a nahrát na server. Nikdo tomu neříkal „design systém“. Říkalo se tomu utrpení.
A pak tu byl Flash. Kdo chtěl na přelomu tisíciletí opravdu zazářit, udělal celý web jako flashovou animaci: intro s hudbou (a s malým tlačítkem „skip intro“, které se rychle stalo nejklikanějším tlačítkem internetu), létající menu a načítací pruh na úvod. Vypadalo to velkolepě, nešlo to indexovat vyhledávači, nedalo se z toho nic zkopírovat a odkaz na konkrétní stránku neexistoval. Flash nakonec pohřbil až Steve Jobs svým slavným otevřeným dopisem v roce 2010 — ale to už je jiná kapitola.
Válka prohlížečů: vývoj pro dva nesmiřitelné světy
Dnešní vývojáři si stěžují, že Safari je „nový Internet Explorer“. Kdyby věděli, jaký byl ten starý. V roce 2000 vrcholila první válka prohlížečů mezi Internet Explorerem 5 a Netscape Navigatorem 4 — a byla to válka bez pravidel. Oba prohlížeče měly vlastní objektový model, vlastní chápání CSS a vlastní představu o tom, co je to standard. Kód, který fungoval v jednom, se ve druhém rozpadl na atomy.
Běžnou praxí bylo psát dvě verze skriptů a na začátku stránky detekovat prohlížeč: if (document.all) pro Explorer, if (document.layers) pro Netscape. Weby hrdě nosily odznáčky „Optimalizováno pro Internet Explorer, rozlišení 800×600″. A slovní spojení „webové standardy“ znělo spíš jako zbožné přání hrstky nadšenců kolem čerstvě založeného projektu Web Standards Project než jako popis reality.
Dnes? Všechny hlavní prohlížeče stojí na standardech, které společně vyvíjejí. Chrome, Firefox, Safari i Edge se aktualizují samy každých pár týdnů. Existuje web caniuse.com, kde si podporu jakékoli vlastnosti ověříte za tři sekundy. A když se prohlížeče v něčem liší, jde většinou o detaily, ne o fundamentálně jiný model fungování. To, co dnes považujeme za samozřejmost, je výsledek dvaceti let usilovné standardizace.
Nástroje: od Poznámkového bloku k inteligentnímu editoru
Vývojář roku 2000 psal kód v Poznámkovém bloku, PSPadu, HomeSite nebo — pokud patřil k „vizuální“ škole — v Dreamweaveru či FrontPage. Žádné našeptávání, žádná kontrola syntaxe, žádný integrovaný debugger. Chybu v JavaScriptu jste hledali tak, že jste do kódu rozeseli alert("tady jsem") a klikali OK, dokud jste nenašli místo, kde se stránka zhroutila.
Ladění CSS vypadalo podobně dobrodružně: změnit hodnotu, uložit, přepnout do prohlížeče, stisknout F5, podívat se, co se stalo, a opakovat. Žádné vývojářské nástroje v prohlížeči neexistovaly — Firebug, který tohle všechno změnil, přišel až v roce 2006.
Dnešní vývojář sedí ve VS Code nebo jiném moderním editoru, který mu kód průběžně kontroluje, formátuje, našeptává a refaktoruje. V prohlížeči má DevTools, kde vidí DOM, síťovou komunikaci, výkonnostní profily i stav paměti. Změny v kódu se mu díky hot reloadu projeví v prohlížeči dřív, než stihne přepnout okno. A od nedávna mu s psaním kódu pomáhá i umělá inteligence, která mu doplní celou funkci dřív, než dopíše její název. Vývojář z roku 2000 by tomu neřekl „produktivita“. Řekl by tomu „černá magie“.
JavaScript: od padajících sněhových vloček k průmyslovému standardu
Málokterá technologie prošla tak dramatickou proměnou pověsti jako JavaScript. V roce 2000 to byl jazyk, kterým se dělaly rolovací nápisy ve stavovém řádku, obrázky měnící se po najetí myší a — v předvánočním období — sněhové vločky padající přes celou stránku. Seriózní programátoři jím pohrdali. „Skutečný“ kód se psal na serveru, v PHP, Perlu, ASP nebo Javě.
Zlom přišel v několika vlnách. Nejdřív Gmail a Google Maps v letech 2004–2005 ukázaly, že se v prohlížeči dá postavit plnohodnotná aplikace — a svět objevil AJAX. Pak přišel v roce 2006 jQuery a zbavil vývojáře nutnosti řešit rozdíly mezi prohlížeči. A v roce 2009 se objevil Node.js a JavaScript pronikl na server, kde se mu předtím všichni smáli.
Dnes je JavaScript (a jeho typovaný sourozenec TypeScript) páteří webu. Frameworky jako React, Vue nebo Svelte definují, jak se staví uživatelská rozhraní. V npm registru jsou miliony balíčků. A tentýž jazyk, kterým se kdysi animovaly vločky, dnes pohání bankovní aplikace, editory dokumentů i nástroje, ve kterých se sám píše. Kdo by to byl v roce 2000 řekl.
Má to ale i stinnou stránku. Zatímco web roku 2000 byl primitivní, ale pochopitelný, dnešní ekosystém je tak rozsáhlý, že ho nikdo nezná celý. Nový projekt začíná stažením stovek megabajtů závislostí a únava z frameworků („JavaScript fatigue“) je oficiálně uznávanou nemocí z povolání.
Nasazení: od FTP a modlitby k automatizovaným pipeline
Jak se v roce 2000 nasazovala nová verze webu? Otevřeli jste FTP klienta (Total Commander byl v Česku prakticky národní standard), přetáhli soubory na server a doufali. Žádné testovací prostředí, žádný rollback, žádná historie. Když jste přepsali špatný soubor, měli jste smůlu — pokud jste si tedy prozíravě neudělali kopii do složky web_zaloha_final_opravdu_final.
Verzovací systémy sice existovaly (CVS, později Subversion), ale ve světě webů byly vzácností. Kód se zálohoval na vypálená CD a sdílel se e-mailem nebo přes disketu. Když na projektu pracovali dva lidé, koordinovali se větou: „Nesahej teď na index.php, dělám v něm.“
Dnes je standardem Git, bez kterého si spolupráci nikdo nedokáže představit. Každá změna projde code review, automatické testy ověří, že nic nerozbila, a CI/CD pipeline ji nasadí do produkce — často několikrát denně a bez jediného ručního kroku. Aplikace běží v kontejnerech, v cloudu, škálují se podle zátěže a při problému se vrátí k předchozí verzi jedním příkazem. Z adrenalinového rituálu se stala nudná rutina. A nuda je v tomto případě obrovský pokrok.
Hosting: od sdíleného serveru za stovky měsíčně ke cloudu na kliknutí
S nasazováním úzce souvisí i to, kde weby vlastně běžely. Rok 2000 byl érou sdíleného hostingu: za pár stovek měsíčně jste dostali kousek místa na serveru, jednu MySQL databázi, PHP a e-mailovou schránku. Co přesně na serveru běží, jaká verze čeho je nainstalovaná a proč web od včerejška padá, to jste se dozvěděli leda z e-mailu od správce — pokud vůbec odpověděl. Ambicióznější firmy provozovaly vlastní server, fyzickou krabici, která bzučela někde v rohu kanceláře a kterou bylo občas potřeba jet restartovat osobně.
Pojem „škálování“ prakticky neexistoval. Když web navštívilo víc lidí, než server zvládl, web prostě spadl. Tečka. Návštěvnická špička po zmínce v televizi znamenala výpadek a omluvnou stránku „Server je přetížen, zkuste to později“ — pokud se stihla vůbec zobrazit.
Dnes si vývojář naklikne infrastrukturu za pět minut. Cloudové platformy nabízejí servery, databáze, úložiště i CDN jako službu, platí se podle skutečné spotřeby a kapacita se přizpůsobuje zátěži automaticky. Statický web lze nasadit zdarma během jedné minuty, serverless funkce se spouštějí jen tehdy, když je někdo zavolá, a celá infrastruktura se popisuje kódem, který se verzuje stejně jako aplikace. Fyzický server v rohu kanceláře dnes potkáte už jen v muzeu — nebo v serverovně firmy, která tvrdí, že „cloud je jen počítač někoho jiného“. Což je mimochodem pravda, jen je to počítač s výrazně lepší klimatizací.
Bezpečnost: od SQL injection v každém formuláři k security by design
O bezpečnosti se v roce 2000 nemluvilo, protože na ni nebyl čas — a upřímně řečeno ani povědomí. Návody v knihách a časopisech běžně učily skládat SQL dotazy lepením řetězců, takže SQL injection byla spíš pravidlo než výjimka. Hesla se ukládala v čitelné podobě („aby se dala uživateli poslat e-mailem, když je zapomene“ — skutečný argument té doby), formuláře se neošetřovaly a session se přenášela v URL. HTTPS bylo exotikou vyhrazenou pro internetové bankovnictví; běžný web jel přes nešifrované HTTP a nikomu to nepřišlo divné.
Dnešní situace je nesrovnatelná. Moderní frameworky mají ochranu proti nejčastějším útokům zabudovanou — parametrizované dotazy, escapování výstupu i CSRF tokeny dostane vývojář zadarmo a musel by se aktivně snažit, aby je obešel. HTTPS je díky Let’s Encrypt zdarma a prohlížeče web bez něj rovnou označují za nezabezpečený. Hesla se hashují, přihlašování přebírají specializované služby a dvoufaktorové ověření je běžný standard. Neznamená to, že je web bezpečné místo — útočníci se zdokonalili přinejmenším stejně rychle jako obrana. Ale zatímco v roce 2000 stačil k „hacknutí“ průměrného webu apostrof ve formuláři, dnes je bezpečnost samostatný obor s vlastními specialisty, penetračními testy a bug bounty programy.
Jedna obrazovka versus stovky zařízení
V roce 2000 byla otázka responzivity vyřešena jednoduše: web se dělal na 800×600, odvážnější na 1024×768. Existoval jeden typ zařízení — stolní počítač s CRT monitorem — a jedna orientace obrazovky.
Pak přišel v roce 2007 iPhone a všechno rozbil. Najednou bylo potřeba, aby tentýž web fungoval na displeji do dlaně i na velkém monitoru, na dotykové obrazovce i s myší, na rychlé optice i na kolísavém mobilním připojení. Pojem „responzivní design“, který v roce 2010 zavedl Ethan Marcotte, se stal novou normou a mobile-first přístup dnes není volba, ale nutnost — většina návštěvnosti webu přichází z telefonů.
S tím souvisí i důraz na výkon a přístupnost. Vývojář roku 2000 optimalizoval hlavně velikost obrázků, protože uživatelé se připojovali přes vytáčené připojení rychlostí 56 kb/s (a při každém příchozím hovoru spadla linka). Dnešní vývojář řeší Core Web Vitals, lazy loading, tree shaking a přístupnost pro čtečky obrazovky. Paradoxně: připojení je tisíckrát rychlejší, ale weby jsou tak těžké, že se optimalizovat musí pořád.
Z webmastera armáda specialistů
Možná největší změna se ale netýká technologií, nýbrž samotné profese. Univerzální webmaster roku 2000 se rozpadl na desítky specializací: frontend a backend vývojář, fullstack inženýr, DevOps, UX designér, UI designér, tester, produktový manažer, specialista na přístupnost, datový analytik… Tam, kde dřív seděl jeden člověk s Dreamweaverem, dnes pracuje tým o deseti lidech s propracovanými procesy.
Změnilo se i vzdělávání a vstup do oboru. V roce 2000 se webdesign učil z knih typu „HTML za 21 dní“, z časopisů a z prohlížení zdrojových kódů cizích stránek (funkce Zobrazit zdrojový kód byla nejlepší učebnice té doby). Česká scéna měla svá vlastní centra vzdělanosti: weby jako Interval.cz nebo Jak psát web, diskusní fóra a e-mailové konference, kde se poprvé potkávali lidé, kteří se do té doby znali jen podle přezdívek. Když jste narazili na problém, který nikdo z okolí neuměl vyřešit, položili jste dotaz a čekali — někdy hodiny, někdy dny.
Dnes máte k dispozici interaktivní kurzy, videa, dokumentaci MDN, Stack Overflow i AI asistenty, kteří odpoví během sekund. Bariéra vstupu do oboru je paradoxně nižší i vyšší zároveň: začít je snazší než kdy dřív, ale zvládnout celý moderní stack trvá roky. A tak se z hesla „naučím se dělat weby za víkend“ stalo celoživotní studium, ve kterém polovina znalostí zastará dřív, než je stihnete pořádně použít.
Co zůstalo stejné
Bylo by ale chybou vidět rok 2000 jen jako dobu temna. Některé věci se totiž nezměnily vůbec.
Pořád platí, že základem webu je HTML, CSS a JavaScript — jen se kolem nich postavily vrstvy abstrakce. Vývojář, který rozumí základům, se v nových frameworcích zorientuje rychle; vývojář, který zná jen framework, je ztracený, jakmile abstrakce praskne.
Pořád platí, že klient chce web „do pátku“ a „aby vypadal jako Google, ale jinak“. Komunikace se zadavatelem je stejně náročná disciplína jako před čtvrtstoletím a věta „to je jen malá změna“ nahání hrůzu dnes stejně jako tehdy.
A pořád platí, že web je nejdemokratičtější platforma, jaká kdy vznikla. Stačí textový editor a prohlížeč — a kdokoli na světě může publikovat cokoli, bez schvalování, bez app storu, bez poplatků. Tahle vlastnost přežila válku prohlížečů, Flash, éru mobilních aplikací i všechny módní vlny. A je dobrý důvod věřit, že přežije i tu příští.
Závěr: stejná profese, jiný vesmír
Kdybychom měli proměnu shrnout jednou větou: webový vývoj se změnil z řemesla jednotlivců v průmyslové odvětví. Získali jsme neskutečně mocné nástroje, spolehlivé procesy a prohlížeče, které si nevymýšlejí vlastní pravidla. Zaplatili jsme za to složitostí, kterou už nikdo neobsáhne celou, a ekosystémem, který se mění rychleji, než ho stíháme dokumentovat.
Ale jádro zůstává: vezmete myšlenku, zapíšete ji do textového souboru a za chvíli ji vidí kdokoli na planetě. To bylo zázračné v roce 2000 a je to zázračné i dnes. Jen už k tomu nepotřebujeme spacer.gif. A za to buďme vděční.