Gondolatok a modern webről és a böngészőkről

Mindennapjaink meghatározó eszköze, ami nélkül gyakorlatilag el sem tudnánk képzelni a számítógépünk vagy a mobilunk használatát: a böngésző. Ezt használjuk munkára, szórakozásra, kapcsolattartásra, és ezt használjuk olyankor is, amikor adott esetben nem is tudatosul bennünk, különféle webes appok által – vagy még inkább fordítva, a webes appokat használva a böngésző által. Ennek ellenére a mai napig fennáll egyfajta láthatatlan határvonal a böngésző valamint az operációs rendszer és a többi alkalmazás között. Hogy ez jobban szemléltethető legyen, kell egy rövid áttekintés az internet fejlődéséről a napjainkig bezáróan.

90-es évek: Dokumentumok internete

A korai időkben, nagyjából az ezredfordulóig bezáróan az internet fő felhasználási területe dokumentumok közzététele és elérése volt. Ennek megfelelően alakult ki, hogy az internet nyelve a HTML lett, amely egy szöveges dokumentumformátum, és a keresőmotorok is azzal a szándékkal indultak el, hogy a milliónyi ilyen dokumentum jól áttekinthető, kereshető legyen. Ebben a kontextusban az internet egy hatalmas könyvtár, a kereső pedig a könyvtáros néni, aki tudja, hogy melyik könyv hol található.

2000-es évek: Web2.0 és az alkalmazások internete

A weboldalak elkezdtek interaktívvá, közvetlen a weboldalból alakíthatóvá, bővíthetővé válni. Ez lehetővé tette az olyan weboldalak létrejöttét, mint a Wikipédia, Google térkép, YouTube, WordPress vagy épp a Facebook. A webes szabványok jelentősen kibővültek, a meghatározó nyelv pedig a JavaScript lett. Ugyanakkor a webes technológiák szabványa még nagyon kezdetleges és különösen fragmentált volt, ezért nagyon sok esetben a web appok mellett natív appokat is készítettek és készítenek a mai napig, amik a sokkal kiforrottabb framework-ök révén sokkal üzembiztosabbak a különböző platformokon és számítógépeken. Így aztán a böngésző mellett számos app létezik azzal párhuzamosan, melyek szintén az internetet használják, de önállóan telepített appok, amik teljesen elkülönülve futnak a böngészőtől. Ilyen például a Steam, Thunderbird vagy a Google Earth. Ezen a ponton az «internetezni», mint fogalom már meglehetősen avíttá vált, hiszen mit is jelent internetezni?

2010-es évektől: A HTML5 és a webappok térnyerére

A katarzist a Google Chromium projekt létrejöttéhez datálom. A projekt lényegében a kezdetektől fogva kettős szerepet töltött be: Egyrészt egy modern böngésző, amely nagy hangsúlyt fektet a folyamatok párhuzamosítására, másrészt egy arra épülő operációs rendszer, a ChromiumOS. Mindkét esetben a van a Google által készített, zárt komponenseket is tartalmazó variáns, a Chrome és a ChromeOS. Ahogyan kikoptak az internetből az olyan technológiák, mint a Java, Flash és a Silverlight, vele párhuzamosan a webes szabványok is egyre inkább kiforrottá váltak, hogy képesek legyenek betölteni az általuk hagyott űrt, így ezek nélkül is lehetett komplex webes appokat is kreálni, ami a szabványok révén minden böngészőben és így minden számítógépen (közel) azonos módon működtek és jelentek meg. Ez pedig lehetővé tette azt is, hogy egyetlen app lefedjen nagyon sokféle operációs rendszert és eszközt. Sőt, rengeteg esetben a külön telepített, asztali appok is valójában web appok, becsomagolva egy önálló böngésző motorral. Ilyen az Electron és a CEF és minden olyan app, ami ezekre épül, mint a Discord, Steam, GeForce Now vagy épp a Collabora Office. Ezen a ponton lényegében megszűnt, vagy legalábbis jelentősen visszaszorult az az éles elválasztó vonal, ami megkülönböztette a weboldalakat és az asztali appokat. Hiszen lényegében mindkettő egy-egy app, csak épp eltérő framework-ökre épülnek.

Itt tartunk lényegében most

Használunk appokat a böngészőn keresztül, különféle domaineken keresztül, használunk appokat, amik webes technológiákra épülnek, de telepítve vannak lokálisan egy böngészőmotorral egybecsomagolva és használunk appokat, melyek részben vagy egyáltalán nem webes technológiákra épülnek. Az érdemi különbség ma már nem a technológiában rejlik tehát, hanem abban, ahogyan használjuk és csoportosítjuk az appokat. Amikor böngészőt használunk, az időnk döntő többségében appokat használunk a böngészőn belül, amiket nem kellett előzőleg telepíteni, hiszen azok automatikusan letöltődtek a weboldal betöltésekor. Felvetődik a kérdés, hogy ha ezek is csak appok, akkor mi szükség van rá, hogy egy külön ablakba legyenek bezárva, elkülönítve az összes többi apptól, amiket használunk. A válasz pedig lényegében a történelmi örökség és a sok sok év alatt kialakult szokások, amit fentebb vázoltam az előzményekben.

Míg a Chrome a domináns böngésző lett a piacon, addig a ChromeOS nem szerzett meghatározó részesedést az operációs rendszerek piacán. Ez persze azzal is indokolható, hogy rengeteg app egész egyszerűen nem vihető át a webre jelentős funkció vesztés nélkül, illetve nem minden app üzleti modellje vihető át a webre. De köszönhető annak is, ahogyan mi, felhasználók hozzáállunk a böngészőkhöz és magához az internethez. A mai napig úgy használjuk a böngészőt, mint ahogy az ezredforduló tájékán, a mai napig úgy használjuk a weboldalakat, mintha azok még mindig csak «szimpla» weboldalak lennének, és ezért nem vesszük észre, hogy azok bizony már teljes értékű appok. A YouTube ugyanolyan teljes értékű médialejátszó, mint a VLC (utóbbi csupán sokkal több forrásból tud lejátszani), a Google Earth weben azonos funkcionalitású, mint az asztali kollégája, a Discord teljesen ugyanazt a web appot szolgáltatja a telepíthető asztali app révén is, mint amit a böngészőből el lehet érni.

A kérdés tehát az, hogy mi kell ahhoz, hogy ezek a megmaradt falak is lerombolásra kerüljenek. Hogyan lehet úgy felépíteni egy böngészőt, hogy az ne akarja kisajátítani az asztalt, hanem inkább szerves részévé váljon? És hogyan lehet mindezt elérni anélkül, hogy manuálisan minden egyes web appot be kelljen csomagolni egy külön böngésző motorral és külön telepíteni kelljen, vagy a böngészőnk menüjéből kelljen kreálni egy asztali ikont, kvázi telepítve az appot közvetlen a böngészőből? Jelenleg még nincs egyértelmű válasz ezekre a kérdésekre, mivel maguk a böngészők fejlesztése sem indult még el ezen az úton. Hiányoznak azok az eszközök, amik lehetővé tennék, hogy az appok észrevétlenül önállósodjanak a böngésző ablakából, és csak addig legyenek jelen, amíg használatban vannak. Az is megnehezíti a dolgot, hogy a böngészés, mint munkafolyamat nagyon lineáris, ami szintén egy történelmi örökség. A korai időkben a dokumentumok között hivatkozások által tudtunk lépegetni. Ez a mai napig fennáll, csak most a hivatkozások által az appok között lépegetünk, emiatt nincsenek ezek az appok a folyamatban megfelelően szeparálva, ami azt jelenti például, hogy közös fület és közös böngészési előzményeket használnak. Vagyis ha elkezdenénk őket szeparálni, az rengeteg problémát okozna, amikre külön egyedi megoldásokat kellene kitalálni.

Egy másik kérdéskör, a pénzügyi fenntarthatóság

A böngészők szerver részei a mindennapjainknak, az operációs rendszer elválaszthatatlan részeként tekintünk rá, ezért nem gondolunk arra, hogy a komplexitása felér egy operációs rendszerével. Mivel az már a 90-es években eldőlt, hogy a böngészők ingyenes programok, így az ma már mindennél természetesebb dolog számunkra, hogy nem kell érte fizetni, sőt telepíteni sem, ha megelégszünk azzal, amit az általunk preferált operációs rendszer biztosít. Egyébként is, magukért a webes szolgáltatásokért fizetünk épp eleget. Legyen az akár egy Spotify premium vagy egy Google Drive, rengeteg szolgáltatás az ingyenes felhasználáson felül biztosít prémium csomagokat, vagy adott esetben eleve csak azzal érhetőek el. Az 1-2 ezer forintos havidíjak pedig nagyon gyorsan összeadódnak, ezzel pedig tekintélyes részét képzik a havi rezsiköltségeknek. A probléma ezzel viszont az, hogy így csak olyan cég tud böngészőt fejleszteni, akik egyéb forrásból biztosítani tudják a működési költségeket. Ez pedig egyenes út oda, ahol tartunk. Míg a Blink motor a Google fennhatósága, a fő konkurens, a WebKit az Apple-é. Mindkét szoftver nyílt forráskódú, tehát bárki használhatja és bárki fejlesztheti, de végső soron a fejlődés fő irányát azok határozzák meg, akiké az egyes projektek. Ez pedig rengeteg problémát jelent, hiszen így az egész web fejlődése végső soron ezeknek az üzleti érdekeknek a kiszolgálása köré épül. Mivel a Google fő bevétele, amiből a Chrome-ot is fejleszti a reklámokból jön, így ők lényegében keresztes hadjáratot vívnak a reklámblokkolókkal szemben. Mivel minden mai böngésző ugyanarra a szabványra épül a kiegészítők használatához, ami pedig végső soron a Chrome kigészítő kezelő rendszerének szabványosított változata, így a Google indokolatlanul nagy befolyással rendelkezik abban, hogy a kiegészítők mit tehetnek és mit nem, különösképp beleértve a reklámblokkolók működését is. Lásd: Manifest v3.

Erre szintén nincs kialakult jó gyakorlat, hiszen akiknél a pénz van, azoknál van a döntés lehetősége, nekik viszont megfelel a fennálló status quo.

Hozzászólás

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük