Trendy v IT po príchode Windows Vista
Tento článok je staršieho dáta.
Že sa výpočtová technika a operačné systémy stále vyvíja, je pre nás programátorov jasná vec. Tento dej stále prebieha už od čias prvých počítačov. Nemohol som si ale nevšimnúť toho, aká halda radikálnych zmien nastala za posledný rok a rozhodol som sa, že si to musím nejako porovnať v hlave a napísať o tom článok. Budem sa tu venovať najmä budúcnosti DOSu, programovanie pod Windows Vista, Delphi 2007 a 2009 a širokouhlým monitorom.
Windows Vista je tu
Asi hlavný zdroj zmien je nový operačný systém Windows Vista, ale ako
píšem nižšie, nie všetky zmeny, ktoré sú s ním spájané, má naozaj na
svedomí. Tento systém je niekým vychvaľovaný a niekým zatracovaný. Dalo
by sa to prirovnať prechodu medzi Windows 9X a Windows XP. Každý pochyboval o
WinXP, ale potom s nimi raz pracoval a už si neodvykl na vylepšenia, ktorými
oplývali oproti predchádzajúcemu systému.
To isté sa paradoxne deje teraz, konzervatívny jedinci sa nechcú pustiť
skôr zatracovaných Windows XP a odsudzujú Visty. Pravda je taká, že sa
jedná o kvalitný operačný systém, ktorý prináša úplne nové možnosti,
rád ho používam, všetko mi na ňom funguje (vrátane mojich projektov) a
jediné, čo by som mu vytkol, je zbytočne vysoká záťaž na výkon
počítača. To sa Microsoft snaží teraz eliminovať novou verziou (známu
teraz ako Windows 7), čo majú byť v podstate Visty s minimalizovaným jadrom
systému. Ale to už moc predbiehajú ... Teraz je isté to, že Visty sú tu, prináša veľa zmien a k
starým pomery sa návrat konať nebude ...
1) Vista, DOS, nové grafické ovládače a 64 bitová platforma
Ľudia, ktorí stále programujú pod DOSom, kritizujú operačný systém Windows Vista kvôli jeho nekompatibilite s 16ti bitovými aplikáciami. Problém je hlavne v nedostatku v celoobrazovkového režimu týchto aplikácií, ktoré na Viste bežia len v okne, a tiež dokonca v neschopnosti 64-bitového systému spúšťať tieto 16tich bitové aplikáciu. Málokto si ale uvedomuje, že v tom sú Visty nevinne.
Ich emulácia DOSu nie je o nič horší, než na predchádzajúcich systémoch. Za beh programov v okne môžu výrobcovia grafických kariet, ktorí zo mňa neznámeho dôvodu prestali v nových ovládačoch pdporovat fullscreen pre Dosová aplikácie. Nespustitelnost programov na systémoch Windows Vista 64 je daná fyzickú vlastnosťou 64-bitové platformy. Nie je možné technicky zabezpečiť, aby 16bit bežalo v 64 bitoch, a to platí na akomkoľvek operačnom systéme.
Aké sú riešenia? Rozhodne prestať s DOSom. Je to 20 rokov starý problémový systém a v dnešnej dobe už pre neho nie je miesto. Nehľadiac na to, že nie je predsa vôbec žiadny problém prejsť na objektový jazyk. Veľa ľudí odporúča riešiť tieto problémy emulátorom (napr. DOSBox), čo celkom funguje. Microsoft sa pod tlakom nespokojných užívateľov chystá do jeho nasledujúcich systémov zabudovať program Microsoft Virtual Machine, čo je simulátor počítača a je na neho možné nainštalovať úplne ľubovoľný operačný systém. Tieto dva programy sú použiteľným a rýchlym riešením, ich popis som zhrnul v článku DOSBox a Microsoft Virtual PC - Starší Dosová hry na Windows Vista. Avšak takmer každý nový počítač je dnes 64-bitový a v každom sú štandardne Visty, čiže s DOSom je koniec a nemôže za to ani toľko Vista, ako pokrok.
2) Práva, presmerovanie a Program Files
Veľkou zmenou vo Windows Vista je, že užívateľ nemá administrátorské práva. Znie to trochu desivo, ale ide v podstate o to, že keď chce program siahať niekam, kde by to mohlo spôsobiť škodu systému alebo ďalším užívateľom, potrebuje povolenie. Jedná sa napríklad o zápis do priečinka Program Files, HKEY_LOCAL_MACHINE kľúče v registroch a podobne. Táto ochrana sa nazýva User Access Control (UAC)
Zmena je to určite pozitívna, Linux právami disponujú od počiatku svojej existencie a Microsoft je teraz tiež konečne objavil. Teraz máme kontrolu nad systémom a niektoré nebezpečné vírusy s spyware majú smolu.
Kde je teda háčik? Problém to spôsobilo hlavne ľuďom, ktorí píšu programy ako ošípané (tiež som k nim patril:]) a nedodržiavajú nariadenia systému. Už Windows XP odporúčali, aby programy využívali zložku AppData (Data Aplikácií, cesta je% appdata%), ktorú má pridelenú každý užívateľ, a kľúče registrov HKEY_CURRENT_USER. Tam je tiež miesto pre všetky nastavenia a súbory programov, ktoré je potrebné modifikovať a ktoré nemajú v Program Files čo robiť. Visty už toto neodporúčajú, ale nariaďujú. Ak je však v programe XP manifest, Visty ho "presmerujú" tak, že si myslia, že zapisuje do Program Files, ale píše niekam na bezpečné miesto. Tento kompromis relatívne zaisťuje beh zle napísaných programov v novom systéme. Keď sa to nepodarí, je možné práva nastaviť ručne pre celú zložku programu. Ak vyvíjame nejaký program, ktorý má zámerne siahať do systémových priečinkov, musíme si na začiatku zaistiť práva. Používateľovi sa to prejaví ako už známy dialóg: "Tento program sa snaží získať práva k systému. Povoliť / Zakázať"
3) Pokročilé možnosti v dizajne aplikácií - AERO a RIBBON
A teraz k tým pozitívnejším zmenám nového systému.
- AERO AERO je grafické rozhranie systému Windows Vista. Nebudem tu vymenovávať, aké výhody ponúka užívateľovi (je ich naozaj veľa), ale zameriam sa opäť na význam pre programátorov. Asi najnápadnejšie zmenou je rám a záhlavie okna, ktorá sú teraz priehľadná. V Delphi podporujúcich Windows Vista (viac nižšie) nájdeme u formulárov niekoľko nových vlastností týkajúcich sa vzhľadu okna. Ďalšou novinkou sú vylepšené komponenty s Vista vzhľadom, ktoré dodávajú aplikáciu eleganciu a prehľadnejšie Vista dialógy.
- RIBBON " ":img/ribbon_large.png Hoci je Microsoft pomenoval inak, uchytil sa názov Ribbon controls. Ide o súbor elegantných ovládacích prvkov, ktoré sú použité napríklad v Office 2007. Je označovaný ako užívateľské rozhranie novej generácie, ktoré bolo prepracované tak, aby bola práca s aplikáciou príjemnejšie, efektívnejšie a intuitívne. V CodeGear Delphi 2009 môžeme nájsť implementáciu týchto prvkov, čiže našu aplikáciu dáme ľahko veľmi pekný vzhľad a prehľadnosť.
Windows Vista indexuje obsahu disku as ním prichádza nová éra vyhľadávania. Program bežiaci pod Windows Vista je schopný prehľadať terabajtový disk priebehu niekoľkých sekúnd. Indexovanie súborov sa vykonáva vtedy, keď sa počítač nevyužíva, čiže nespomaľuje systém.
5) CodeGear Delphi 2007 a 2009
Veľkou zmenou pre Delfisty je odtrhnutie projektu od Borlandu a vznik skupiny CodeGear, ktorá má vývoj Delphi teraz na svedomí. S Windows Vista počítajú Delphi 2007 a 2009, ale aj keď k tomu nevidím dôvod, možno na nich rozchodiť bez väčších problémov napríklad aj Delphi 7. Ako už som sa zmieňoval, vedia nastavovať vzhľad priehľadných okien, obsahujú Vista dialógy a nové komponenty s pekným vzhľadom ( napr. ListView - dokonalý listbox zobrazujúci obrázky z imagelistu alebo CategoryButtons - úhledá lišta s tlačidlami). Tiež napríklad obyčajný tcalendar teraz vyzerá úplne dokonale. Považujem za dôležité zmieniť sa o veľkom pokroku debuggeri, ktorý mi narozdiel od toho z Delphi 7 odhalil veci, ako pretečenie pamäte a podobne. Sedmička to nechala vytiecť a zničila zdrojáky programu:]
Vistu teda podporujú Delphi 2007 a 2009. Aký je medzi nimi rozdiel? Ja som sa pod tlakom radikálnych zmien trochu konzervatívnejšie uchýlil k Delphi 2007 (so service packom 3). Problém je v tom, že Delphi 2009 plne podporujú unicode. To znie zatiaľ dobre, nie? Dramatická zmena však nastáva v tom, že dátový typ "string" je teraz adekvátne typu UnicodeString a nie AnsiString, ako tomu bolo vo všetkých predchádzajúcich verziách Delphi. To znamená, že všetko, čo bolo predtým, už neplatí. Nastáva doba temna, kedy sa nekompatibilný komponenty budú aktualizovávat alebo budú vznikať ich náhrady, aby pod novými Delphi fungovali. Unicode je určite krok dopredu, ale za krutú cenu. Tiež bolo zmenené poradie vykonávania OnCreate udalostí (aj v Delphi 2007), ale to sa dá v prípade problémov prepnúť späť.
Čo je však na Delphi 2009 pozitívne je plná natívna podpora PNG formátu a to vrátane alfakanálu. Pre nezasvätených to znamená, že všetky obrázky a ikonky na formulári budú vyhladené a vytieňované na ľubovoľnom pozadí. Už nikdy viac žiadne osekanej pixely a kostrbaté hrany. Niekomu to môže pripadať zbytočné, ale fakt je, že to dizajn aplikácie predáva a bez alfaprůhlednosti nemôže aplikácia nikdy vyzerať dobre. Pre Delphi 2007 je možné png formát implementovať pomocou komponentov pngcomponents.
6) Širokouhlé monitory
Snáď posledným kameňom úrazu poslednej doby sú širokouhlé monitory.
Podľa toho, že už v obchodoch nevidím nič s pomerom strán 4: 3 súdim, že
v budúcnosti ho bude mať každý a formát 4: 3 vymiznú. No čo, je to pekné
na filmy, ja ocením, že mi v Delphi nezaberajú postrannej toolbarmi polku
obrazovky a vo Worde sa mi vedľa seba zmestia dve stránky A4. Ale problém je
v tom, že každý má teraz na svojom počítači iný pomer strán. Dokonca
niektoré širokouhlé monitory majú pomer strán 16: 9 a niektoré 16:10. Doba
známych rozlíšenie ako 800x600 alebo 1024x768 mizne a objavuje sa veľa
mutantov s podivným natívnym rozlíšením.
Ako vývojár hier som sa zamyslel, ako zabezpečiť, aby sa hra dobre zobrazila v rozlíšení 4: 3 aj 16: 9 či 16:10. U 3D hier to nie je problém, tam na rozlíšenie nezáleží. Ale v 2D, kde je level vytvorený presne pre jedno rolišení, nastávajú problémy. Jediné riešenie, ktoré ma napadlo, je nájsť dve rozlíšenie (širokouhlé a klasické), ktoré majú rovnakú výšku. To sú napríklad 800x600 (4: 3) a 960x600 (16:10). Vytvoriť hru tak, aby bola hrateľná v rozlíšení 800x600 a tie dva zvyšné pruhy pre rozlíšenie 960x600 využiť na nejaký zvyšok pozadí, ktoré dobre vyzerá, ale nie je důlkežité pre hranie hry. Napríklad v adventúre by hlavnej obdĺžnik 800x600 obsahoval potrebné predmety a dva postranné pruhy napríklad len neaktívne pokračovanie krajiny. U arkád ako je pacman je to horšie, pretože level má daný počet kociek. Tam by sa tieto obdĺžniky asi využili ako nejaký toolbar alebo neaktívne časti levelu.
Tak to by bolo snáď všetko ... A teraz si dajte studenú sprchu Ak ste niečo vyriešili lepšie, než ja alebo máte nejaké pripomienky, vložte komentár.