Microsoft DirectX na Linuxu do pěti let?
Když sledujete aktuální vývoj v Microsoftu, musíte žasnout. Microsoft si koupil výrobce smartphonů a tím, že zahodil slavnou značku, nahradivše ji svým jménem, se staví do role „nového Applu“ nabízejícího v jednom ultramobilním celku hardware, software i služby. Microsoft nabídl či nabídne zdarma Office pro iOS i Android. Microsoft snížil cenu za licenci na Windows a pro mnohé druhy zařízení je systém dokonce k dispozici zdarma (narozdíl od Androidu, za který jdou Microsoftu „desátky“ - dodnes to považuji za jeho nejgeniálnější a současně nejamorálnější tah). Microsoft obě své stěžejní vlajkové lodi nabízí de facto zdarma či za velmi směšnou částku. Windows i Linux. Nově sází na cloud, služby a nabízení kompletní platformy a ekosystému.
Tedy na veleúspěšné strategii Applu.
Jaký bude Microsoft za několik let? Můj osobní tip je, že zcela jiný, ale stále s nádechem té klasické společnosti stavící na softwarovém vývoji. Microsoft bude jedním z předních poskytovatelů cloudových a virtualizačních služeb. Konkruenci ale nikdy nesmete. Už nikdy a v žádné oblasti. Dominance platformy Wintel či operačního systému Windows a internetového prohlížeče IE se už nikdy nevrátí. Microsoft let budoucích už nebude řešit, jestli jedete na tom či onom operačním systému. Windows, Linux, Mac OS, iOS, Android, to je jedno. Pro vše vám dokáže nabídnout své Azurové podhoubí, ke všemu vám dokáže prodat patřičné služby a nádavkem přidat bezplatný webový balík Office. Když to náhodou budete chtít provozovat na Androidu, nevadí, z toho mu jdou poplatky. Když to náhodou budete chtít provozovat na Apple platformě, nevadí, lepší než kdybyste využívali cloud přímo od Applu a ostatně Microsoft jako významný akcionář Applu nemá problém, pokud si koupíte smartphone s nakousnutým jablkem. A když náhodou zatoužíte po nějaké té „jak se to jmenovalo - aha - Nokia“ s PureView fotoaparátem, Microsoft vám jej rád prodá, přihodí cloud a Office a možná nabídne i nějaké ty Azure službičky na rozjezd.
Tak či onak si udrží dominanci tam, kde ji má dnes a v ostatních aspektech se pokusí získat významnou pozici na trhu. Blíží se ale čas, kdy vytáhne ze skříně dalšího kostlivce a zkusí mu potupně oblékat nové a nové kabátky. Jak ukázala AMD s rozhraním Mantle, současné DirectX (tedy přesněji Direct3D) a OpenGL jsou zastaralá rozhraní a je potřeba je radikálně změnit. Jednoho dne, zhruba v řádu 5 let, se možná dočkáme nějakého sjednocení na poli univerzálního 3D API se špičkovou efektivitou, u nějž bude díky dostupným nástrojům relativně snadné portovat hry z Direct3D či OpenGL. Anebo jejich kód doplnit o příslušné optimalizace.
Trend standardizace tu nebyl vždy. Bývaly doby, kdy jednotlivé balíky Office měly uzavřené datové formáty. Bývaly doby, kdy se webové stránky složitě optimalizovaly pro jednotlivé prohlížeče a dokonce jejich verze (ano, to v menší míře přetrvává dodnes, ale …) a některé technologie dokonce nebyly přenositelné na jiné (DHTML, ActiveX, …). Bývaly doby, kdy jsme tu měli neuniverzální implementace mnohých jiných formátů. Vše se nakonec srovnalo k veřejným multiplatformním standardům, ať již šlo o ISO/IEC standardizaci PDF, MS OOXML, OpenDocument či přechod webu na HTML5, CSS a JavaScript/AJAX. Nesystémové a nepřizpůsobivé věci buď již byly, nebo jsou odsouzeny ke konci, ať už šlo o webové sub(ne)standardy, nebo Adobe Flash, JPEG 2000 a jiné.
Jsem přesvědčen, že budoucí verze Direct3D (jestli 12, nebo 13+, to se teprve ukáže) s next-gen OpenGL si budou velmi podobné. A jednoho dne natolik, že v kombinaci se snahou nabídnout řešení pro všechny - zákazníkem preferované - platformy, nabídne Microsoft i Direct3D pro Linux. Nebo minimálně pro Android.
Ortodoxní Linuxák býval člověk, který si od Microsoftu nekoupil ani ň, byť to byly třeba ve své době skvělé věci jak myš IntelliMouse Explorer 3.0. Takový člověk dnes míří třeba ke cloudu od Amazonu. Ale jak se bude rozhodovat za několik let, kdy primární role Microsoftu z tohoto hlediska bude poskytovatel všeobecné služby, dostupné pro všechny operační systémy bez rozdílu?
A přiblíží se více Direct3D k OpenGL, nebo OpenGL k Direct3D?