ugrás a tartalomhoz

A Microsoft vesztett, a web nyert (?)

Hojtsy Gábor · 2004. Jún. 17. (Cs), 11.15
A Joel on Software oldalon jelent meg néhány napja egy figyelemre méltó (valamint nagyon hosszú) elmélkedés arról, hogy a Microsoft immár elvesztette a programozókért folyó harcot, és a web fejlesztés olyan kritikus teret nyert, amit már nem lehet visszafogni (bármennyire is igyekszik a Microsoft csapata). Az írás teljesen illeszkedik abba a képbe, amit a megszüntetett Internet Explorer for Mac csapatról, a szinte nem létező Internet Explorer for Windows fejlesztésekről és a legutóbbi WHAT kezdeményezésekről tudunk.

Meglepő, hogy korábban nem állt össze ez a kép (legalábbis bennem semmiképpen), pedig Joel meglátásait olvasva minden egybevág. Megpróbálom sietős olvasóink számára is emészthető rövidséggel összefoglalni, hogy miről is van szó. Először is Joel szerint érdemes leszögezni, hogy nincs a Microsoft semmilyen közvetlen veszélyben, bőven van mire támaszkodnia. Másrészt azt is fontos kiindulási pontként megjelölni, hogy nem a Linux térhódításáról van szó (bár ez is segítheti az említett folyamatot).

Arról van szó, hogy a (jelentősebb) számítógép használók számára nem különösebben érdekes, hogy milyen operációs rendszert használnak, az a fontos számukra, hogy amit el akarnak végezni, azt meg tudják tenni. A felhasználói programok az érdekesek. Akkor frissítenek rendszert, ha ez szükséges az új programok működtetéséhez, a rendszerfrissítéssel viszont elvárják, hogy a régi programok is használhatóak maradjanak. Itt most nagyfelhasználókról beszélünk, nem azokról, akik nem bírják ki két hónapig egy operációs rendszer mellett.

Namost ahhoz, hogy a vonzó programok elkészüljenek, a Microsoft számára nagyon fontos, hogy a fejlesztők nagy számban rendelkezésre álljanak az adott rendszerre fejlesztett programjaikkal. Joel említi a színpadon ugráló Steve Ballmer videóját, aki csak azt ordította, hogy "fejlesztők, fejlesztők, fejlesztők, fejlesztők". Persze ahhoz, hogy a programozók rendelkezésre álljanak, megfelelő környezeteket kell nekik kiépíteni.

Viszont ami a fejlesztők kiszolgálását illeti, két megközelítés lehetséges.
  • Először is biztosítani érdemes, hogy a régi forráskódok az új fejlesztőeszközökkel is lefordíthatóak legyenek, a korábbi modulok az új nyelveken írt alkalmazásokkal is kompatibilissá tehetőek maradjanak. A visszafelé kompatibilitás persze nem csak a fejlesztőknek jó, hanem a felhasználóknak is előnyös, hiszen régi programjaikat az új rendszereken is használhatják.
  • Másrészt szükségszerű a korábban inkonzisztens megoldásokat letisztítva, egységesítve biztosítani a jövő generáció számára, hogy a nagyobb tanulási időszakot, az óriási dokumentálási munkát és az eltérő megoldások saját kis hibáit ne kelljen fenntartani.
A fejlesztők problémája az első megközelítéssel az, hogy túl sokat kell dolgozni az ismert hibák állandó megkerülésén, és mivel rendszerközeli nyelveken dolgoznak, lehetőség van nem dokumentált megoldások alkalmazására, a definiált programozói felületek megkerülésére. Ez okozza, hogy egy program lehetséges, hogy a következő operációs rendszerrel nem fog futni. Namost ha letisztítjuk a felületeket, magasabb szintre emeljük a programozást, akkor megszabadulunk a trükközési lehetőségektől, a régi hibákat nem kell többé megtartani a korábbi programok kompatibilitása miatt. Joel szerint a .NET bevezetése bizonyította, hogy az ebbe a táborba tartozó fejlesztők győztek a Microsoftnál. A .NET végülis ezen problémák megoldását tűzte célul.

A .NET tehát megszabadította a Microsoftot a Win32 API irányában történő visszafelé kompatibilitás nyűgjétől, legalábbis ami az új programokat illeti. Csakhogy nem jött be annyira a dolog, mint amennyire számítottak, legalábbis Joel szerint. Egyrészt erőre kaptak olyan megoldások, melyek rendszerfüggetlen fejlesztést tesznek lehetővé, másrészt a fejlesztők nem kaptak semmilyen kézzel fogható előnyt az új .NET rendszerrel. Nem éri meg átírni a teljes programot .NET-re, mert a felhasználóknak teljesen mindegy (sőt, a .NET keretrendszer elterjedtségét tekintve még mindig jobb a Win32 API-ra fejleszteni). Ezért nem sikerült átütő sikert aratni vele.

A fejlesztők számára előre látható sötét felhők azt ígérik, hogy az új Longhorn-nal búcsút lehet inteni a Win32 API-nak, jön az új Avalon API és a XAML. Azaz a .NET-el bevezetett megoldások helyett ismét feltalálják az asztali programozást, megint lehet újat tanulni. A régebbi felületekre írt programok működése kétségessé vált.

Elérkeztünk a konklúzió közelébe. Joel szerint a fejlesztők megunták, hogy a Microsofton múlik minden, hogy az operációs rendszer változásai az ő programjaikat küldik padlóra, hogy állandóan új paradigmákat kellene megtanulni, az üzletileg profitot hozó megoldásokat költségesen újra kell implementálni. Ezért a webre váltottak. Joel meglátása szerint a .NET-et használók is jórészt az ASP.NET felhasználóiból kerülnek ki, mert az valójában olyan áttörő sikert hozott, ami mellett nem lehet elmenni.

Egy probléma van csak, hogy az ASP.NET-el készült alkalmazásokhoz nem kell Windows kliens. Még pontosabban fogalmazva nem kell frissíteni, nem kell új rendszerre váltani, mert az alkalmazás most is működik. A "telepítéshez" nem kell letölteni semmit, nem kell megváltoztatni a rendszert, csak be kell írni egy URL-t. Ráadásul az alkalmazás működik bárhol a világon, a saját adatainkat ugyanúgy elérjük egy internet kávézóban Tokióban (ha arra vinne a sors), mint Budapesten. Nem kétséges, hogy vannak gondok a webes felületekkel: nem annyira dinamikusak, nem válaszolnak azonnal, néhány dolgot nem lehet olyan egyszerűen megoldani velük. Ezt azonban egyre többen megszokják, óriási tömegek használnak webes email felületeket minden probléma nélkül. Vannak olyan alkalmazások melyeket ma még nem lehet kényelmesen megoldani webes felületen, de ha csak a wordszerű vizuális szerkesztők fejlődésére gondolunk, akkor elismerhető, hogy vannak lehetőségek a lyukak betömésére.


Fejlődés, ez itt a kulcsszó. A Microsoft is rájött, hogy nem tudja kézben tartani a web előretörését, ezért a DHTML, HTML Application és más hasonló fejlesztéseket egyszerűen beszüntette. Most, hogy az Internet Explorernél sokkal jobb böngészők érhetőek el minden operációs rendszerre, a HTML-re épülő CHM formátumot Linuxon is kiválóan meg lehet jeleníteni, bebizonyosodott, hogy a webet jelenlegi megoldásaival nem tudja a kezében tartani a Microsoft. Joel szerint azért állt le minden Internet Explorerhez kapcsolható fejlesztés, mert ez az egy módja van annak, hogy a nyilvános szabványok hatékony használatát meg tudja akadályozni a Microsoft saját operációs rendszerein.

Pontosan ebbe a képbe illeszkedik, hogy a W3C legutóbbi Web Applications and Compound Documents workshopján a XAML-t javasolta webalkalmazás fejlesztő rendszerként a Microsoft. Ez biztosítaná a röghöz kötöttség folytatódását, hiszen operációs rendszer frissítésre/cserére lenne szükség ahhoz, hogy modern webalkalmazásokat használhassunk.

Joel úgy gondolja, hogy nem a Microsoft böngészőjének vagy operációs rendszerének elterjedtségét kell néznünk, hanem azt, hogy hány fejlesztő dolgozik még mindig asztali alkalmazások fejlesztésén, és mennyi webes felület születik az asztali programokat kiváltandó. Ha ezt nézzük, akkor Joel szerint a Microsoft vesztett, és túl későn jöhet a Longhorn bármilyen újítása, a fejlesztők már váltottak. Ha az új rendszerre nem születik sok jó program, amiért megéri frissíteni, akkor a nagyfelhasználók nem fogják megvenni.

A weben és nem az asztalon van a jövő.