Ačkoli pro práci s Mac OS v zásadě není nutné vědět nic o jeho historii, bude patrně alespoň pro některé z uživatelů zajímavá. Navíc tento stručný přehled usnadní uživatelům orientaci v alternativních versích "MacOSového" programového vybavení (YellowBox, WebObjects for NT, OpenStep 4.2 for Mach).
Firma NeXT vznikla v roce 1986, kdy legendární Steve Jobs, spoluzakladatel firmy Apple, odešel od "nakousnutého jablka" založit novou firmu, která by vytvořila rozumný počítač a rozumný operační systém (v roce 1986 byl Steve přesvědčen že to, co se mezitím vyvinulo z kdysi špičkového Macintoshe, již rozumné není).
Snaha předpovědět vývoj v oblasti výpočetní techniky je velmi často odsouzena k nezdaru; přesto se dá se slušnou pravděpodobností říci, že v nejbližší budoucnosti bude základem tvorby jakéhokoli software objektové programování. Steve Jobs to poznal již před třinácti lety a investoval svůj kapitál -- duševní i finanční -- do vývoje nového operačního systému, který by byl na principech objektového programování založen.
Ukázalo se však, že neexistuje hardwareová platforma, na které by nový operační systém mohl úspěšně pracovat. Každý uživatelský a programátorský luxus znamená další nárok na výkon systému; výkon osobních počítačů třídy IBM PC nebo Apple Macintosh však pro takový luxus, jaký by Jobse uspokojil, prostě nestačil. Pracovní stanice by snad dostatečný výkon dokázaly nabídnout; jejich cena však tehdy byla příliš vysoká. Proto firma NeXT zahájila dva projekty najednou -- vývoj objektového operačního systému NeXTStep a vývoj počítačů NeXT.
První počítač NeXTcube byla elegantní černá krychle o straně přesně jedné stopy, pracoval pod systémem NeXTStep 0.99, a jeho srdcem byl mikroprocesor Motorola MC68030. Jako vnější paměť sloužila jednotka magnetooptického disku o kapacitě 256MB. Nový počítač měl mnoho zajímavých prvků (za zmínku stojí např. standardní vybavení signálovým procesorem Motorola DSP56001) a operační systém -- jakkoli v první verzi trpěl řadou dětských nemocí -- se rázem stal po technické stránce nejzajímavějším systémem na trhu. Většímu rozšíření nového počítače však bránilo i nemalé množství nevýhod: jakkoli tehdy byl mikroprocesor MC68030 patrně nejlepším mikroprocesorem na světě, jeho výkon NeXTStepu nestačil a jeden z uživatelů počítače NeXT prohlásil, že "překreslování okna na obrazovce mu připomíná vyvolávání fotografií v temné komoře". Ani magnetooptický disk nebyl nejšťastnější volbou -- jeho poměr ceny a kapacity sice byl zajímavý, ale se spolehlivostí to již bylo horší a rychlost byla velmi, velmi malá.
Dalším modelem, odstraňujícím většinu problémů prvního modelu NeXTcube, byla pracovní stanice NeXTstation. Nizounká "krabice na pizzu" o výšce necelých sedm centimetrů obsahovala mikroprocesor Motorola MC68040 s taktem 25MHz a digitální signálový procesor Motorola DSP56001 na stejné frekvenci. Na místě magnetooptického disku byl standardní pevný disk s kapacitou 105, 200 nebo 400MB -- tehdy to vůbec nebylo tak málo. Stanice NeXTstation byla také osazena disketovou mechanikou typu ED, schopnou pracovat s disketami 720KB, 1.44MB a 2.88MB, a to dodnes umí jen málokterý počítač. Standardem bylo také rozhraní Ethernet a sběrnice SCSI2. Pro ty, kdo požadovali dostatek volného místa v počítači pro rozšiřující karty, byl k dispozici inovovaný NeXTcube o stejném výpočetním výkonu, ale s daleko většími rozšiřovacími možnostmi. Operační systém NeXTStep již byl k dispozici ve verzi 2.0, která přinesla řadu nových prvků a výrazně zvýšila stabilitu systému. Stanice NeXTstation se rázem stala počítačem s nejlepším poměrem ceny a výkonu a počítače NeXT se začaly prosazovat v podnicích, které potřebovaly spolehlivé systémy pro kritické aplikace "na míru".
Posledním počítačem firmy NeXT byla varianta NeXTstation Turbo, s přepracovanou sběrnicí pro dosažení ještě vyššího výkonu. Pak však výkon špičkových sestav třídy IBM PC dosáhl úrovně potřebné pro běh NeXTStepu; zároveň cena pracovních stanic prolomila magickou hranici $10000; firma NeXT se proto nadále soustředila na vývoj software a práci na počítačích zastavila (ty jsou však dodnes na mnoha místech úspěšně používány). Zároveň připravila port NeXTStepu pro počítače kompatibilní s IBM PC a ohlásila porty pro stanice Hewlett-Packard a Sun.
Poznamenejme, že firma NeXT nevyráběla jen počítače; ani tiskárny NeXT, ani grafický akcelerátor NeXTdimension, řízený procesorem i80860 však již dnes nejsou příliš rozšířeny. Stojí však za zmínku spíše jako příklad, že NeXT zavedl již před lety technologie, které jsou dnes považovány za moderní: laserové tiskárny neobsahující vlastní interpret PostScriptu, ale řízené z počítače, barevné tiskárny typu inkjet, řízení tiskáren programově a jejich programová odezva (dojde-li v tiskárně papír, ozve se z počítače příjemný ženský hlas "Your printer is out of paper"...) -- to vše bylo standardní součástí systémů NeXT od samého začátku.
Operační systém NeXTStep se sice nikdy masově nerozšířil -- příčinou zřejmě byla nepříliš dobrá marketingová politika firmy NeXT -- dobyl si však pevné místo na trhu jako nejlepší prostředí pro tvorbu kritických aplikací "na míru". Jeho špičkové uživatelské prostředí a geniální API mu navíc získaly množství příznivců.
V roce 1995 tak byl NeXTStep dostupný ve stabilní a ověřené verzi 3.3 na široké nabídce hardwareových platforem: kromě vlastních systémů NeXT pracoval i na počítačích třídy IBM PC, na pracovních stanicích Hewlett-Packard s architekturou PA-RISC a na systémech SPARC firmy Sun.
Deset let po svém vzniku firma NeXT (spolu s pomocí firmy Sun) udělala další významný krok: na základě trochu přepracovaného a vylepšeného NeXTStepu vytvořila otevřený standard objektového API OpenStep. OpenStep koncepčně vychází z původního NeXTStepu, výrazně však rozšiřuje jeho služby, a nabízí konsistentní plně objektové API tam, kde se v původním NeXTStepu trochu "praly" objektové a klasické technologie (např. práce se stringy, interakce s operačním systémem, obsluha souborů). Na druhou stranu, OpenStep kvůli dostatečné obecnosti neobsahuje některé subsystémy, které byly velmi příjemnou součástí NeXTStepu -- není zde např. podpora 3d renderování, kterou Jobs ze "svého" Pixaru do "svého" NeXTu snadno přetáhl.
Nová verse NeXTStepu, konformní se standardem OpenStep (ale přitom stále obsahující řadu rozšíření navíc) se prodávala jako NeXTStep nebo OpenStep 4.0; v dalších letech se objevily dvě verse s opravami chyb a s dalšími rozšířeními, takže dnes je k dispozici OpenStep 4.2.
Vzhledem k tomu, že OpenStep je otevřený standard, není v zásadě žádný problém jej implementovat jako API do téměř libovolného operačního systému. Tak vznikl také OpenStep pro Solaris (který bohužel firma Sun v obavě o osud Javy, již by WebObjects pohodlně vytlačily z trhu, nadále nepodporuje), tak vznikl OpenStep pro Windows NT/95/98, vytvořený přímo firmou NeXT, a tak také vznikla iniciativa GNUStep, jejíž snahou je vytvořit API, konformní se standardem OpenStep, které by chodilo prakticky kdekoli a bylo volně k dispozici v rámci licence GNU (bližší informace můžete najít na www.gnustep.org).
Budoucnost OpenStepu jako takového je dnes poněkud diskutabilní, protože Apple jej sice používá jako základní API pro Mac OS X; doplňuje jej však řadou nových a rozšířených služeb. Lze proto předpokládat, že i ostatní implementace se od "čistého" OpenStepu odchýlí, a nabídnou rozšířené luxusnější API podle Apple.
Posledním historickým mezníkem ve vývoji NeXT-Open-Stepu byl rok 1997, ve kterém došlo k zajímavé události: ztrátová akciová společnost Apple koupila za bezmála půl miliardy dolarů prosperující soukromou firmu NeXT. Je celkem zřejmé proč -- po neúspěchu vlastních pokusů u Apple pochopili, že kvalitní operační systém sami nevyvinou (totéž ostatně platí i pro Microsoft, jenže tam si toho ještě nevšimli), a po zvážení všech alternativ (uvažovalo se např. o BeOSu) koupili to, co bylo na trhu nejlepší.
OpenStep je tedy nadále udržován a rozvíjen firmou Apple. V současnosti existuje na trhu ve dvou podobách: MacOS X Server je trochu "zapplovatěný" OpenStep 4.2 s řadou vylepšení a rozšíření pro výkonné servery Apple. WebObjects for NT pak je původní OpenStep pro Windows NT, který navíc obsahuje špičkovou nadstavbu WebObjects pro tvorbu internetových a intranetových aplikací.
Mac OS X Server je na trhu od začátku roku 1999, a i když přinesl několik kompromisů (není např. tak stabilní, jako starý OpenStep), vcelku nabízí špičkové služby, nesrovnatelné s čímkoli, co bylo do té doby na trhu k dispozici.
Především, Mac OS X Server pracuje na hardware Apple. To je obrovská výhoda proti OpenStepu, který býval většinou provozován na počítačích IBM PC kompatibilních; jak všichni víme, technologie IBM PC je neskutečný šrot, na kterém se spolehlivý server ani postavit nedá. Po uvedení serverů G4 na trh navíc platforma Apple nabízí nejlepší poměr ceny a výkonu, jaký je k dispozici; tím se stává zajímavější než OpenStep na Sunech nebo Hewlett-Packardech.
Mac OS X Server navíc oproti OpenStepu přináší řadu nových služeb (právě jejich integrace do jádra je bezpochyby příčinou o něco málo menší spolehlivosti): QuickTime streaming umožňuje velmi efektivní a pohodlné šíření videa za relativně zanedbatelnou cenu; díky NetBootu je možné využívat bez nejmenších problémů diskless stanice -- něco, o čem svět IBM PC pod názvem "NetPC" již roky hovoří, ale nikdy to nedokázal uskutečnit. Standardní součástí OS X Serveru je i WWW server; spolu s bezkonkurenčním systémem WebObject je tak Macintosh s Mac OS X Serverem s obrovskou rezervou tou nejlepší platformou pro WWW služby, jaká v současnosti vůbec existuje.
Nesmírně významné je i API Cocoa: Mac OS X Server zdarma přináší kompletní vývojové prostředí, jež firma NeXT díky jeho až neuvěřitelné kvalitě bez problémů prodávala za desítky tisíc dolarů: kromě základního OpenStepu je zde i podpora práce s databázemi Enterprise Objects Framework, a webový serverový systém WebObjects. Všechny součásti API jsou navíc oproti původnímu OpenStepu více či méně vylepšeny a rozšířeny.
K výrazným úpravám došlo i v administrátorských aplikacích, i když zde je otázka nakolik k lepšímu -- osobně nevidím žádnou výhodu v tom, že se o správu uživatelských kont i sdílení souborů stará jediná aplikace; naopak, původní řešení NeXT, kdy pro každou práci sloužila samostatná jednoúčelová aplikace, se mi zdálo logičtější.
Letos přijde na trh i klientská verse OS X, pojmenovaná prostě "Mac OS X" (tedy bez přívlastku "Server"). Jádro a základní služby zůstanou prakticky stejné, jako jsou v X Serveru; hlavní změny však nastanou v oblasti grafického subsystému, uživatelského rozhraní a serverových služeb. Serverové služby budou samozřejmě výrazně omezeny (a zatím se zdá, že bohužel bude omezeno i standardně dodávané API -- přinejmenším prerelease Mac OS X neobsahuje WebObjects).
Zatímco Mac OS X Server pro grafiku používá špičkový PostScriptový server, převzaný z NeXTStepu, klientský Mac OS X bude mít kompletně přepracovaný a ještě dále vylepšený grafický server Quartz. Jeho základem bude namísto PostScriptu PDF, a zdá se, že bude skutečně ještě o poznání výkonnější než už tak velice rychlý původní PostScript: prerelease Mac OS X chodí velice svižně s řadou grafických efektů (jako je průhlednost či dynamické deformace obrázků) i na iMacu.
Uživatelské rozhraní Aqua všech grafických efektů intenzivně využívá, a přináší řadu nových velmi šikovných prvků (jako příklad můžeme jmenovat modální panel vázaný na dokument -- se všemi ostatními dokumenty v aplikaci můžeme volně pracovat, i když je panel otevřen).
V současnosti se firma Apple ještě nedostala přes stadium, kdy některé produkty firmy NeXT již nahradila vlastními vylepšenými, jiné však jsou posud k dispozici v původní podobě, a Apple pro ně jen zajišťuje podporu.
"Starý" NeXTStep 3.3, poslední verse před zavedením OpenStepu, se dosud na řadě míst používá a je stále podporován -- např. nejnovější sady patchů Apple pro odstranění problému Y2K, které jsou k dispozici volně pro všechny uživatele všech podporovaných versí NeXTStepu, s 3.3 počítají. NeXTStep 3.3 pracuje na počítačích třídy IBM PC, na pracovních stanicích Sun s procesory SPARC a Hewlett-Packard s procesory PA-RISC a na původních počítačích NeXT. Může pracovat jako výkonný server; nehodí se však pro tvorbu aplikací vzhledem k zastaralému API (relativně zastaralému -- oproti Mac OS 9 či tomu, co je k dispozici ve světě Windows, je jeho vývojové prostředí neskutečně kvalitní).
Pro NeXTStep 3.3 také nejsou k dispozici WebObjects, takže se příliš nehodí ani jako WWW server (může ovšem s výhodou sloužit jako proxy nebo firewall). NeXTStep 3.3 se již neprodává.
OpenStep 4.2 pro počítače třídy IBM PC bude patrně dnes nejužívanější versí NeXTStepu, a Apple jej samozřejmě podporuje. 4.2 je stále k dispozici i pro ostatní architektury, včetně původních počítačů NeXT. V současnosti se zdá, že Apple nemá v úmyslu jej nahradit vlastním produktem (viz Mac OS X).
Verse 4.2 obsahuje kromě vlastních knihoven i kompletní podporu pro běh aplikací, psaných pro NeXTStep 3.3; podobně je možné využívat "trojkové" ovladače. V typické instalaci "čtyřky" se tak vlastně setkáme se dvěma skupinami aplikací, jejichž chování je nepatrně odlišné (OpenStep zavedl řadu vylepšení, z nichž asi nejvýznamnější je důsledné využití UNICODE, ze kterého plyne bezproblémová práce s českými znaky kdekoli).
Z hlediska uživatelské konsistence však jsou rozdíly nepatrné, a právě vkládání textu je asi největším z nich. Běžný uživatel si při rozumné instalaci často ani nepovšimne, že střídavě používá aplikace, které pracují v nepatrně odlišném prostředí.
Ačkoli API OpenStepu je oproti prostředí Cocoa z Mac OS X omezeno, nejsou rozdíly natolik zásadní, takže s určitými omezeními OpenStep 4.2 lze používat i pro přípravu a vývoj aplikací pro Mac OS X. Obdobně je tomu s WebObjects. OpenStep 4.2 je možné stále koupit (u nás je jeho dodavatelem firma CDS), a je v současnosti daleko nejlepším existujícícm operačním systémem pro IBM PC kompatibilní, Suny a Hewlett-Packardy.
MacOS X je velmi výrazně rozšířená a vylepšená implementace OpenStepu 4.2 pro počítače Apple Macintosh. V současnosti je na trhu verse MacOS X Server 1.2, určená, jak její název napovídá, pro výkonné servery; slabší a/nebo starší stroje zatím Apple bohužel stále osazuje zastaralým systémem Mac OS 9.
Během několika měsíců se dočkáme i klientské verse Mac OS X, která pošle starý Apple OS do historie, kam zaslouženě patří (poznamenejme, že Mac OS X samozřejmě bez jakýchkoli problémů dokáže spouštět aplikace, psané pro starý MacOS). Začátek prodeje Mac OS X je ohlášen na letošní léto, a od příštího roku by měl být standardně instalován na všech nových Macintoshích.
Velký otazník ale bohužel visí nad budoucností OpenStepu jako samostatného systému na jiných platformách, než Macintosh: v současnosti se zdá, že Apple z obchodních důvodů vývoj "Mac OS X pro Intel" (a ostatní architektury) zastavila. To je škoda, protože až se OpenStep 4.2 přestane prodávat, zůstanou jedinou alternativou pro neMacintoshe Windows NT: ačkoli WebObjects/NT zajistí slušné API, je pořád práce v tak nestabilním a mizerně navrženém operačním systému krajně nepříjemná. Navíc WebObjects/NT využívají uživatelské rozhraní hostitelského systému, a příšernější uživatelské rozhraní než to, jaké mají windoze, je dost obtížné si představit...
WebObjects / NT je především API: kompletní vývojové prostředí Yellow Box (tak se ještě přednedávnem nazývalo prostředí Cocoa), včetně Enterprise Objects Framework a WebObjects.
Ačkoli název indikuje, že WebObjects jsou hlavní součástí, je tomu tak spíše z obchodní stránky; ve skutečnosti produkt obsahuje zcela kompletní OpenStep (jak API, tak standardní vývojářské prostředí a aplikace). Prozatím však není k dispozici runtime za sníženou cenu, takže pro vývoj standardních aplikací sice WebObjects použít lze, ale jejich prodej by byl problematický vzhledem k ceně celého systému, který k nim musíme připojit. (U síťových aplikací tento problém samozřejmě nenastává, protože ty pracují na "našem" serveru, a zákazníci k nim přistupují prostřednictvím Internetu.)
Copyright © OCSoftware, 2000; all right reserved