Tuesday, March 30, 2010

Jak Bill Gates přesvědčil vývojáře, aby začali psát software pro Windows?

Pravděpodobně nikomu z nás by nestačil počítač, kde by byl nainstalován operační systém a nic jiného. Operační systém je obecně vnímán pouze jako prostředek pro správu hardwaru a softwaru. Naprostá většina práce, kterou na PC provádíme, pak probíhá v aplikacích, které k tomuto účelu slouží.

Aplikací pro OS Windows je obrovské množství, jen těžko bychom se dopočítali alespoň přibližného čísla. Jelikož jde zdaleka o nejrozšířenější OS pro PC v dnešní době, není se ani čemu divit. Otázkou zůstává, co rozhodlo o tom, že vývojáři začali svůj software psát pro MS Windows v době, kdy tento systém teprve vznikal.

Windows 1.0 a 2.0 byly sice plně grafické, ale v reálu nebyly použitelné. Prvními úspěšnějšími Windows byla verze 3.0, resp. 3.1. Tento operační systém, který se objevil v roce 1991, byl pouhou nadstavbou pro MS DOS. I přesto měl problémy se spouštěním některých programů určených právě pro MS DOS, navíc byl tento systém poměrně nestabilní a nebylo možné ho použít v síti. Důležitým prvkem pro budoucnost Windows byl vznik kancelářského balíku. Ten nesl název Office 3.0 (později byl přejmenován na Office 92 podle roku vydání) a obsahoval aplikace Word 2.0, Excel 4.0, PowerPoint 3.0 a podporu pro email. Tento kancelářský balík společně s tím, že Win 3.0 byly určené pro platformu IBM PC řady 286, který byl v té době nejrozšířenější, se stal základem pro masové rozšíření Windows.

Jak je vidět, základní kámen pro vývoj aplikací musel položit samotný Microsoft. Vznikl tak poměrně zajímavý produkt, který oslovil velké množství zákazníků. Na tento úspěch navázal OS Windows 3.11, který společně s balíkem Office ovládl trh operačních systémů. V okamžiku, kdy se Windows staly drtivě převládajícím operačním systémem, byly stále pouze nadstavbou pro OS MS DOS, a tak spouštěly aplikace, napsané právě pro něj. Přelomem se měly stát Windows 95, které měly být plně samostatným OS. K tomu sice došlo, ale jelikož si Gates nemohl dovolit odstřihnout stávající uživatele uvolněním zcela nového OS, musela být zajištěna zpětná kompatibilita systému. Díky tomu byla podstatná část Win 95 shodná s Win 3.11 a zčásti i s MS DOSem. Kromě toho byly Win 95 vybaveny plně 32bitovým prostředím, které mělo problémy s aplikacemi starého 16bitového prostředí. 

I přesto měly Win 95 obrovský úspěch, a to zejména díky skvělému marketingu. Microsoft spustil obrovskou reklamní kampaň, která postihla prakticky každého. Bez ohledu na výsledný produkt se Gatesovi podařilo naplnit svůj cíl, tedy přesvědčit lidi, že bez Win 95 nemohou existovat. Win 95 se tak objevily na naprosté většině PC, která se v té době používala.

Jak to tedy bylo s vývojem aplikací?

Vývoj aplikací pro MS DOS byla poměrně složitá záležitost. MS DOS nenabízel programátorům v podstatě žádné připravené systémové funkce, tedy žádné API (Application Programmer Interface), které dnes každý systémový programátor od operačního systému očekává. Vývojář softwaru si musel poradit jak se samotným programem, tak i s jeho nasazením na konkrétní konfiguraci počítače s konkrétní grafickou kartou nebo tiskárnou. Spolu s BIOSem, který se jako standard nijak nevyvíjel, to byla skupina nepříliš použitelných a především pomalých funkcí. Programátor, který potřeboval rychlou rutinu na vykreslení čáry se musel přímo obracet na hardware počítače, jiná rozumná možnost neexistovala.

Zatímco vývoj softwaru pracujícího v textovém režimu klade daleko menší nároky na výkon počítače, přičemž standardní textové rozhraní je implementované každou grafickou kartou a je zobrazitelné na každém monitoru a zaručuje snadné spuštění u všech potenciálních uživatelů, vývoj grafického prostředí je mnohem zdlouhavějším a riskantnějším projektem. To si uvědomovali i marketingoví pracovníci Microsoftu. Cílem bylo nyní přesvědčit firmy vyvíjející software, aby své produkty vyvíjely pro platformu Windows.

Microsoft využil nejúčinnější metodu, a tou bylo zjednodušení práce vývojářům. Zkonstruoval univerzální rozhraní, tzv. API, které dalo programátorům k dispozici sadu funkcí, díky kterým mohli snadno tvořit grafické rozhraní. API zároveň umožnilo v přiměřeném rozsahu ovládat hardware a abstrahovalo nainstalovaný produkt od hardwaru, díky čemuž vývojáři nemuseli vůbec řešit případné HW rozdíly.

Druhým důležitým argumentem byla záruka kompatibility softwaru s jakoukoliv vyšší verzí Windows bez nutnosti rekompilace. Zpětná kompatibilita byla jedním ze základních pilířů Windows a ostatně všech operačních systémů. Windows 95 byly z uživatelského hlediska jen velmi málo odlišné od starších verzí, hlavní rozdíly byly zejména v implementaci nástrojů, které pomáhali vývojářům vyvíjet aplikace snadněji.

Podpora MS směrem k vývojářům:
- Software Development Kit
o Obsahuje hlavičkové soubory ke knihovnám, MS nezveřejňuje zdrojové kódy knihoven, takto vývojáři získají informace, jak použít funkce z dané knihovny
- Balík vývojářských knihoven
- Příklady použití
- Dokumentace

Jak je v současné době vidět, tato strategie byla velmi účinná. Otázkou je, co přinese budoucnost ...

No comments:

Post a Comment