Microsoft a prohraná API válka

MyEgo.cz

home foto blogy mywindows.cz kontakt

Microsoft a prohraná API válka

Windows XP 18.06.04
Microsoft

Joel píše moc zajímavý (a rozsáhlý) článek nazvaný "Jak Microsoft prohrál API válku". Přečtěte si to! Pokud tedy umíte dobře anglicky. Joel zde píše o tom, že Microsoft od verze Windows 95 až po Windows XP udělal obrovské množství práce na tom, že zajistil, aby aplikace, které fungovaly ve Windows 98, byly plně funkční i ve Windows XP. Zní to zcela normálně? Přirozeně? No, ne až tak docela.

Některé aplikace fungovaly ve Windows 98 jen proto, že v nich byla chyba, v těch aplikacích, ne Windows. Ve Windows XP byla funkčnost změněna, a daná aplikace (SimCity, v tomto případě), nefunguje. Nicméně, OUW (obyčejný uživatel Windows) připisuje veškeré problémy Windows. OUW měl Windows 98. SimCity fungovalo. Má Windows XP. SimCity nefunguje. Zkuste OUW vysvětlit, že problém není ve Windows XP!

Raymond Chen je člověk, který stojí za týmem "zajištění kompatibility Windows". Jeho team jde tak daleko, že zkouší veškeré jen mírně populárnější aplikace pro Windows, a pokud nefungují, debaguje je, a pro danou aplikaci navrhuje speciální režim kompatibility, který emuluje starší chování Windows, specifické pro každou chybnou aplikaci, aby tato chybně napsaná aplikace fungovala očekávatelně i v nových systémech. Obrovská spousta práce! Nepředstavitelně obrovská.

A kde je tedy ten problém, že Microsoft prohrál válku?

Microsoft

S Longhornem, rozhraním Avalon, a systémem WinFX, přichází Microsoft s jednou zásadní věcí: staré API Windows přestává platit, a bude jen nové API. Staré GUI přestává platit a bude jen nové GUI.

Microsoft si něco podobného mohl dříve dovolit, když zahodil MS-DOS a nasadil Windows 95. Nicméně, to byla doba, kdy počet prodaných počítačů v jednom jediném roce byl větší, než celkový počet počítačů dosud provozovaných. Dnes taková situace ale není!

V Microsoftu zvítězila nová skupina. Ano, ono to nové API je lepší. To je fakt. Je to hodně dobré API. Nicméně, starý Excel si pod Longhornem nespustíte. Microsoft tak přijde o svoji hlavní oporu - o své vývojáře. Vývojáře co dělají aplikace, kvůli kterým si potom Windows lidé kupují.

Jsou zde dva hlavní body:

  • Pokud už musím změnit své aplikace, tak mohu rovněž změnit svůj operační systém. Třeba za Linux. Nebo za cokoliv jiného. 99% lidí používá OS kvůli tomu, jaké jsou pro něj dostupné aplikace. A zde platí, že Apple s MacOS X je k ničemu, Sun se Solarisem je na desktopu k ničemu, ba i Linux je částečně k ničemu. Nejsou pro ně aplikace. Jediný dobrý operační systém jsou na desktopu Windows. Protože jsou na ně výborné aplikace.
  • Pokud systém nemá jasnou budoucnost, tak se vývojář nebude věnovat platformě, která je nejasná. Longhorn bude v roce 2006. Nebo o nějaký ten rok později. A dalších X let bude trvat, než bude Longhorn na tolika počítačích, aby se vyplatilo dělat programy na nové API. Zároveň se už moc nevyplatí dělat programy ani na staré API, protože to přece bude nahrazeno, ne?

Důsledek je ten, že většina dnešního vývoje se zaměřuje na webové aplikace. Nikoliv na Windows API, jak tomu bylo dosud. Windows API a jeho zpětná kompatibilita je základem monopolu Windows.

Problém je ovšem v tom, že webové aplikace nepotřebují na straně klienta Microsoft Windows. Novým API je HTML, CSS, JavaScript a XHTML. A klient podporující tato API běží nejen na Windows. Běží kdekoliv. Ano, výstup těchto webových aplikací je primitivní, ale většině běžných aplikací to stačí. Účetní systém, databáze, evidence, řada věcí si vystačí s tímto triviálním API.

V Microsoft, kde Raymond Chen byl dlouho jedničkou, zvítězil team nového API. Longhorn team. Bude to mít ale dalekosáhlé důsledky.

Microsoft sice nabízí své naprosto špičkové vývojové nástroje zdarma (například Visual C++ Developer Toolkit 2003 je zcela zdarma, stáhněte si jej!!), či skoro zdarma, za 375 USD můžete mít (jako firma), v podstatě za hubičku i Microsoft Windows 2003 Server, SQL Server 2000, SharePoint, Windows XP, Windows Office XP Professional, Visual Studio .NET Enterprise, Project, Frontpage, Visio, MapPiont a mnohé další, ale... nic Vám nebrání s těmito nástroji vyvíjet jen webové aplikace, kde na desktopu Windows již nejsou potřeba!

Prostě můžete na špičkových nástrojích od Microsoftu dělat zdarma vývoj, ale již nikdo nebude kvůli Vaším aplikacím potřebovat Windows na straně klienta. Microsoft není motivován ani k tomu, aby zlepšil MSIE. Má zájem na tom, aby do něj zanesl co nejvíce nekompatibilit, jako je třeba HTA. Pokud Microsoft nezmění tuto svoji strategii, prohraje bitvu.


Komentáře

  1. 1 Jiří Macich ml. 18.06.04, 09:06:26
    FB

    Ke větě "Nicméně, starý Excel si pod Longhornem nespustíte." - Radku, jestli MS za posledních 14 dní nezměnil názor, tak kompatibilita se starými programy bude opět velice dobrá. Dokonce i s programy pro MS-DOS. Jak říkám - jestli nedošlo ke změně názoru po jednom rozhovoru s Bobem Mugliou, kde zachování kompatibility bylo opětovně přislíbeno, tak ta věta je nepravdivá! 99,5% toho, co jede pod Windows XP (vč. režimu kompatibility) se prý má spustit pod Longhornem!

    Nějaký německý pracovník MS dokonce nekompatibilitu se starším SW označil za "marketingovou sebevraždu", když se ho novináři ptali, jestli bude. Takže bych to bral jako ano ;-)

  2. 2 rony 18.06.04, 09:06:59
    FB

    Spatna kompatibilita buduceho systemu nakoniec moze znamenat nizsiu vykonnost systemu a aj vyssiu nachylnost k nestabilite. Nech si tvrdi, kto chce, co chce, mne W2k po doinstalovani MS Office zvyknu zhodit GUI. Zopakovalo sa mi to dvakrat a nie som plateny betateste MS, aby som patral, ci jadro pudla stabilne ;-)
    Neviem predpovedat ale MS miluje take tie veci ako u Exchange kde su 2-3 rozne mody cinnosti serveru, co vnutorne znamena duplikovanie, duplikovanie, duplikovanie ;-) a Longhorn celkom kludne mozu byt dva-tri systemy v jednom s neidentifikovatelnou vzajomnou komunikaciou ;) Trosku mi to pripomina prostriedky ako wine pod linuxami - na desktope nejakeho grafickeho rozhrania nad linuxom sa prostrednictvom wine daju spustat win aplikacie - zrejme podobne je to aj v OS od MS (vlastne urcite to tak je)

  3. 3 dgx 18.06.04, 10:06:17
    FB

    Vzpomínáte si na velmi divný "bug", když pod Win98 nešel spustit Excel 95? Bylo potřeba v názvu nějakého DLL zmenit číslici.

    Proč to píšu: tato nepochopitelná záležitost mě přiměla nad postupy Microsoftu uvažovat trošku v jiné rovině. Nechci to tu rozebírat, tak jen stručně: nevidím v tom "marketingovou sebevraždu", ale právě naopak! Najednou se objeví nové verze všech programů, které se od předchozích budou lišit jen nálepkou "Longhorn compatible". A lidi budou nakupovat jak diví...

  4. 4 Radek Hulán 18.06.04, 12:06:18
    FB

    no, ten článek je trošku o něčem jiném, a pochopil to jen Rony.. ;)

    Zkráceně: hlavní vtip je ve vývojářích, kteří se přestávají orientovat na Win API aplikace, s nejistou budoucností, a místo toho preferují webové aplikace, kde klientem může být browser na libovolném OS.

  5. 5 bsa 18.06.04, 12:06:21
    FB

    no este je tu jedna moznost, ze MS prestahuje VirtualPC do Longhornu a automaticky kazdy z longhornom dostane XP, ktore budu bezat v emulatore fyzickej masiny. Samozrejme "zabalene" pre uzivatela tak, ze to nepostrehne (myslim tym pri spusteni aplikacie). Co to spravi z HW narokmi je druha vec ale co sa tyka MS politky je to celkom logicky tah. Longhorn backward compatibility bude stat 3*X USD, "normalny" longhorn bude stat X USD. A Ty zakaznik vyber si, chces stare aplikacie, zaplat a nekupuj nove apps, nechces platit viac? Kup "lacny" longhorn a doplat ostatok na aplikaciach. Alebo bud "vycurany", zaplat si SA a dostanes nove verzie v cene "zajazdu" iba za 25% doplatok (fakt neviem kolko je navysenie za SA). To ze celkovy sumar zaplateny za jednu ci druhu variantu bude rovnaky uz predsa nikoho netrapi. :)

  6. 6 dgx 18.06.04, 12:06:49
    FB

    [4] inu takto :-) tož to jo :-) A je to fakt, sám už v Delphi dělám velmi výjimečně, 99% procent jsou webové aplikace.

    ... ovšem PhotoShop nebo Quake jako webovou aplikaci si zatím představit nedovedu. Ale je to věc času

  7. 7 Jiří Macich ml. 18.06.04, 12:06:53
    FB

    [4] Tak to jsem to pochopil trošku jinak.

  8. 8 pájek 18.06.04, 01:06:07
    FB

    Se vším v článku sice nesouhlasím, ale podstata je pravdivá - přenositelnost mezi systémy to je budoucnost. Nedávno jsem se rozhodoval, v čem si naprogramovat jednoduchý účetní systém a bez váhání jsem se rozhodl pro "webové" technologie (konkrérně php + sqlite). BTW před pár týdny jsem přešel z win na linux a najednou jsem zjistil, že ty windows vůbec nepotřebuju - pouze si nespustím nejnovější hry, aplikací pro běžnou práci a programování je zde víc než dost. Doporučuji ;-)

  9. 9 llook 18.06.04, 01:06:47
    FB

    [5] Quake si sice nedokážu představit jako webovou aplikaci, ale docela snadno jako SDL aplikaci. A jsem si téměř jistý, že SDL bude pod NovéAPI také portováno. Photoshop myslím také používá nějakou další vrstvu nad WinAPI(už kvůli portovatelnosti pod Mac), takže to také není úplně čistě winapi aplikace.

    Prostě vývojáři aplikací, které nelze řešit stylem browser-server, třeba také začnou přemýšlet o portovatelnosti. Zda to vyřeší wxWidgets(které zatím není nic moc) nebo něco jiného, se teprv uvidí.

  10. 10 dgx 18.06.04, 03:06:10
    FB

    [9] Můžeš napsat něco víc o SDL? Třeba ve srovnání s novým grafickým API Longhornu?

  11. 11 llook 19.06.04, 12:06:43
    FB

    [10] Grafické API Longhornu neznám, ale zaručeně bude umět víc než SDL. SDL je pouze jednoduchá(a tedy i snadno portovatelná) lowlevel grafická knihovna. Byla vyvýjena právě za účelem portování her pod různé OS(původně to vyvýjel Sam Lantinga = Loki Software).
    SDL je výhodné používat zjm. jako vrstvu mezi OS a OpenGL.

  12. 12 rarous 21.06.04, 01:06:50
    FB

    No vzhledem k tomu, ze uz dnes je znacna cast noveho API uvolnena v podobe Framework.Net a spousta vyvojaru uz pro ni pise, se budoucnosti Windows neobavam. Nehlede na to ze jiz dnes je GUI windows popsano v HTML nebo XML a Longhorni maj vse komplet v XML neni co resit, je jasne ze XML aplikace prevladnou a GUI v nich bude mnohem "hezci" a snadneji zpravovatelne, dnesni web je jen zacatek toho co nas ceka...

  13. 13 Jiří Macich ml. 21.06.04, 05:06:02
    FB

    [12] Jó to dlouhorožské XAML vypadá fakt zajímavě ;-)

  14. 14 Miroslav Navrátil 22.06.04, 02:06:49
    FB

    [3] Tak bacha, pod Win98 nešel spustit Excel97 (ne 95! -- i když ten možná taky, ale 97 mi nešla) ... Takovýhle problémy jsem měl taky. ;)

  15. 15 dgx 22.06.04, 03:06:12
    FB

    [14] Bingo! Jelikož nevím, jaký je přesně rozdíl mezi Excelem 95 a 2003, splývají mi dohromady :-)

    ... no ale tím spíš je to záhada, že, ten Život, Microsoft a vůbec!

  16. 16 Mishko 19.12.04, 05:12:17
    FB

    dovolim si tvrdit, ze vacsina vyvojarov, ktori vyvyjaju/vyvyjali na win32 API prechadza/presli na .NET (vid napr. poll na codeproject.com). vznika mnoho spickovych aplikacii postavenych na .NET. do roku 2006 stupne ako aj pocet vyvojarov ktory programuju na .NET tak aj pocet kvalitnych aplikacii na .NET. V Longhorn bude .NET sucast systemu, takze imho to nie je take horuce ako sa zda.

  17. 17 GeorgeLD 26.06.05, 04:06:10
    FB

    Hezky den preji. Vim ze to tady nepatri, ale je nejaky zpusob, jak SimCity 4 rozjet pod XP? Dekuji za pripadne odpovedi