Trendy v IT po příchodu Windows Vista

Windows Trendy v IT po příchodu Windows Vista

Tento článek je staršího data.

Že se výpočetní technika a operační systémy stále vyvíjí, je pro nás programátory jasná věc. Tento děj stále probíhá již od dob prvních počítačů. Nemohl jsem si ale nevšimnout toho, jaká halda radikálních změn nastala za poslední rok a rozhodl jsem se, že si to musím nějak srovnat v hlavě a napsat o tom článek. Budu se zde věnovat zejména budoucnosti DOSu, programování pod Windows Vista, Delphi 2007 a 2009 a širokoúhlým monitorům.

Windows Vista je tady

Asi hlavní zdroj změn je nový operační systém Windows Vista, ale jak píši níže, ne všechny změny, které jsou s ním spojovány, má opravdu na svědomí. Tento systém je někým vychvalován a někým zatracován. Dalo by se to přirovnat přechodu mezi Windows 9X a Windows XP. Každý pochyboval o WinXP, ale pak s nimi jednou pracoval a už si neodvykl na vylepšení, kterými oplývaly oproti předchozímu systému. To samé se paradoxně děje teď, konzervativní jedinci se nechtějí pustit dříve zatracovaných Windows XP a odsuzují Visty. Pravda je taková, že se jedná o kvalitní operační systém, který přináší naprosto nové možnosti, rád ho používám, vše mi na něm funguje (včetně mých projektů) a jediné, co bych mu vytkl, je zbytečně vysoká zátěž na výkon počítače. To se Microsoft snaží nyní eliminovat novou verzí (známou nyní jako Windows 7), což mají být v podstatě Visty s minimalizovaným jádrem systému. Ale to už moc předbíhám :)... Nyní je jisté to, že Visty jsou tady, přináší spoustu změn a ke starým poměrům se návrat konat nebude...

1) Vista, DOS, nové grafické ovladače a 64 bitová platforma

Lidé, kteří stále programují pod DOSem, kritizují operační systém Windows Vista kvůli jeho nekompatibilitě s 16ti bitovými aplikacemi. Problém je hlavně v postrádání celoobrazovkového režimu těchto aplikací, které na Vistě běží jen v okně, a také dokonce v neschopnosti 64bitového systému spouštět tyto 16ti bitové aplikaci. Málokdo si ale uvědomuje, že v tom jsou Visty nevinně.

Jejich emulace DOSu není o nic horší, než na předchozích systémech. Za běh programů v okně mohou výrobci grafických karet, kteří ze mne neznámého důvodu přestali v nových ovladačích pdporovat fullscreen pro DOSové aplikace. Nespustitelnost programů na systémech Windows Vista 64 je dána fyzickou vlastností 64bitové platformy. Není možné technicky zajistit, aby 16bitů běželo v 64 bitech, a to platí na jakémkoli operačním systému.

Jaká jsou řešení? Rozhodně přestat s DOSem. Je to 20 let starý problémový systém a v dnešní době už pro něj není místo. Nehledě na to, že není přece vůbec žádný problém přejít na objektový jazyk. Hodně lidí doporučuje řešit tyto problémy emulátorem (např. DosBoxem), což docela funguje. Microsoft se pod tlakem nespokojených uživatelů chystá do jeho následujících systémů zabudovat program Microsoft Virtual Machine, což je simulátor počítače a je na něj možno nainstalovat naprosto libovolný operační systém. Tyto dva programy jsou použitelným a rychlým řešením, jejich popis jsem shrnul v článku DOSbox a Microsoft Virtual PC - Starší DOSové hry na Windows Vista . Nicméně téměř každý nový počítač je dnes 64bitový a v každém jsou standardně Visty, čili s DOSem je konec a nemůže za to ani tolik Vista, jako pokrok.

2) Práva, přesměrování a Program Files

Velkou změnou ve Windows Vista je, že uživatel nemá administrátorská práva. Zní to poněkud děsivě, ale jde v podstatě o to, že když chce program sahat někam, kde by to mohlo způsobit škodu systému nebo dalším uživatelům, potřebuje povolení. Jedná se například o zápis do složky Program Files, HKEY_LOCAL_MACHINE klíče v registrech a podobně. Tato ochrana se nazývá User Access Control (UAC)

Změna je to určitě pozitivní, Linuxy právy disponují od počátku své existence a Microsoft je teď také konečně objevil. Nyní máme kontrolu nad systémem a některé nebezpečné viry s spyware mají smůlu.

Kde je tedy háček? Problém to způsobilo hlavně lidem, kteří píší programy jako prasata (také jsem k nim patřil :]) a nedodržují nařízení systému. Již Windows XP doporučovaly, aby programy využívaly složku AppData (Data Aplikací, cesta je %appdata%), kterou má přidělenou každý uživatel, a registrový klíč HKEY_CURRENT_USER. Tam je také místo pro všechna nastavení a soubory programů, které je třeba modifikovat a které nemají v Program Files co dělat. Visty již toto nedoporučují, ale nařizují. Pokud je však v programu XP manifest, Visty ho "přesměrují" tak, že si myslí, že zapisuje do Program Files, ale píše někam na bezpečné místo. Tento kompromis relativně zajiš?uje běh špatně napsaných programů v novém systému. Když se to nepovede, lze práva nastavit ručně pro celou složku programu. Pokud vyvíjíme nějaký program, který má záměrně sahat do systémových složek, musíme si na začátku zajistit práva. Uživateli se to projeví jako již známý dialog: "Tento program se snaží získat práva k systému. Povolit/Odepřít"

3) Pokročilé možnosti v designu aplikací - AERO a RIBBON

A teď k těm pozitivnějším změnám nového systému.

  • AERO

    AERO je grafické rozhraní systému Windows Vista. Nebudu zde vyjmenovávat, jaké výhody nabízí uživateli (je jich opravdu hodně), ale zaměřím se opět na význam pro programátory. Asi nejnápadnější změnou je rám a záhlaví okna, která jsou nyní průhledná. V Delphi podporujících Windows Vista (více níže) nalezneme u formulářů několik nových vlastností týkajících se vzhledu okna. Další novinkou jsou vylepšené komponenty s Vista vzhledem, které dodávají aplikaci eleganci a přehlednější Vista dialogy.

  • RIBBON

    Ačkoli je Microsoft pojmenoval jinak, uchytil se název Ribbon controls. Jedná se o soubor elegantních ovládacích prvků, které jsou použity například v Office 2007. Je označován jako uživatelské rozhraní nové generace, které bylo přepracováno tak, aby byla práce s aplikací příjemnější, efektivnější a intuitivní. V CodeGear Delphi 2009 můžeme nalézt implementaci těchto prvků, čili naší aplikaci dáme snadno velice pěkný vzhled a přehlednost.

     

4) Indexování souborů - Neuvěřitelně rychlé vyhledávání

Windows Vista indexuje obsahu disku a s ním přichází nová éra vyhledávání. Program běžící pod Windows Vista je schopen prohledat terabajtový disk během několika sekund. Indexování souborů se provádí tehdy, když se počítač nevyužívá, čili nezpomaluje systém.

5) Codegear Delphi 2007 a 2009

Velkou změnou pro Delfisty je odtrhnutí projektu od Borlandu a vznik skupiny CodeGear, která má vývoj Delphi nyní na svědomí. S Windows Vista počítají Delphi 2007 a 2009, ale ikdyž k tomu nevidím důvod, lze na nich rozchodit bez větších problémů například i Delphi 7. Jak již jsem se zmiňoval, umějí nastavovat vzhled průhledných oken, obsahují Vista dialogy a nové komponenty s pěkným vzhledem (např. ListView - dokonalý listbox zobrazující obrázky z imagelistu nebo CategoryButtons - úhledá lišta s tlačítky). Také například obyčejný tcalendar nyní vypadá naprosto dokonale. Považuji za důležité zmínit se o velkém pokroku debuggeru, který mi narozdíl od toho z Delphi 7 odhalil věci, jako přetečení paměti a podobně. Sedmička to nechala vytéct a zničila zdrojáky programu :]

Vistu tedy podporují Delphi 2007 a 2009. Jaký je mezi nimi rozdíl? Já jsem se pod tlakem radikálních změn poněkud konzervativněji uchýlil k Delphi 2007 (se service packem 3). Problém je v tom, že Delphi 2009 plně podporují unicode. To zní zatím dobře, ne? Dramatická změna však nastává v tom, že datový typ "string" je nyní adekvátní typu UnicodeString a nikoli AnsiString, jak tomu bylo ve všech předchozích verzích Delphi. To znamená, že všechno, co bylo předtím, už neplatí. Nastává doba temna, kdy se nekompatibilní komponenty budou aktualizovávat nebo budou vznikat jejich náhrady, aby pod novými Delphi fungovaly. Unicode je určitě krok dopředu, ale za krutou cenu. Také bylo změněno pořadí vykonávání oncreate událostí (i v Delphi 2007), ale to lze v případě problémů přepnout zpět.

Co je však na Delphi 2009 pozitivní je plná nativní podpora PNG formátu a to včetně alfakanálu. Pro nezasvěcené to znamená, že všechny obrázky a ikonky na formuláři budou vyhlazené a vystínované na libovolném pozadí. Už nikdy více žádné osekané pixely a kostrbaté hrany. Někomu to může připadat zbytečné, ale fakt je, že to design aplikace prodává a bez alfaprůhlednosti nemůže aplikace nikdy vypadat dobře. Pro Delphi 2007 je možné png formát implementovat pomocí komponent pngcomponents.

6) Širokoúhlé monitory

Snad posledním kamenem úrazu poslední doby jsou širokoúhlé monitory. Podle toho, že už v obchodech nevidím nic s poměrem stran 4:3 soudím, že v budoucnu ho bude mít každý a formát 4:3 vymizí. No co, je to pěkné na filmy, já ocením, že mi v Delphi nezabírají postranní toolbary půlku obrazovky a ve Wordu se mi vedle sebe vejdou dvě stránky A4. Ale problém je v tom, že každý má nyní na svém počítači jiný poměr stran. Dokonce některé širokoúhlé monitory mají poměr stran 16:9 a některé 16:10. Doba známých rozlišení jako 800x600 nebo 1024x768 mizí a objevuje se spoustu mutantů s podivným nativním rozlišením.

Jako vývojář her jsem se zamyslel, jak zajistit, aby se hra dobře zobrazila v rozlišení 4:3 i 16:9 či 16:10. U 3D her to není problém, tam na rozlišení nezáleží. Ale ve 2D, kde je level vytvořen přesně pro jedno rolišení, nastávají potíže. Jediné řešení, které mě napadlo, je najít dvě rozlišení (širokoúhlé a klasické), která mají stejnou výšku. To jsou například 800x600 (4:3) a 960x600 (16:10). Vytvořit hru tak, aby byla hratelná v rozlišení 800x600 a ty dva zbylé pruhy pro rozlišení 960x600 využít na nějaký zbytek pozadí, které dobře vypadá, ale není důlkežité pro hraní hry. Například v adventuře by hlavní obdelník 800x600 obsahoval potřebné předměty a dva postranní pruhy třeba jen neaktivní pokračování krajiny. U arkád jako je pacman je to horší, protože level má daný počet kostiček. Tam by se tyto obdelníky asi využili jako nějaký toolbar nebo neaktivní části levelu.

Tak to by bylo snad vše... A teď si dejte studenou sprchu :) Pokud jste něco vyřešili lépe, než já nebo máte nějaké připomínky, vložte komentář.


 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (2 hlasů) :
55555


 


Miniatura
Všechny články v sekci
Windows
Miniatura
Následující článek
Windows

 

 

Komentáře
Zobrazit starší komentáře (38)

Avatar
Mr. Forstak
Člen
Avatar
Mr. Forstak:

vzdávám se

 
Odpovědět  +1 11.5.2013 20:28
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Mr. Forstak
Jiří Gracík:

Jako bych to neříkal :P To je v pohodě, všichni jsme si už nabili hubu :D jen mě překvapuje, že to pořád někdo zkouší :D

Odpovědět 11.5.2013 20:31
Creating websites is awesome till you see the result in another browser ...
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovědět 11.5.2013 20:49
Creating websites is awesome till you see the result in another browser ...
Avatar
Delphi7
Neregistrovaný
Avatar
Delphi7:

Proč delphi 7? Nenvidíš žádný duvod? No ja jich vidim asi tak 100 000 tech duvodu ktere by z uctu odesli :D

 
Odpovědět 12.5.2013 10:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Delphi7
David Čápka:

Sice je článek starý jak Metuzalém, ale Delphi 7 nejsou zadarmo a ještě nefungují na nových OS jak píši. Takže ano, nevidím důvod.

Editováno 12.5.2013 10:22
Odpovědět 12.5.2013 10:22
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
matesax:

"Nastala doba změn - Čemu by se měli programátoři přizpůsobit"

A jako hlavní činitel uvedeš nějaký Windows? Jak mne - kamenného Unixáka může ovlivnit jakýkoliv Windows? :)

 
Odpovědět  +1 22.5.2013 20:37
Avatar
HoltJa
Neregistrovaný
Avatar
HoltJa:

.....ikdyž k tomu nevidím důvod, lze na nich rozchodit bez větších problémů například i Delphi 7....

Koukni se na cenu Delphi a hned jeden duvod najdes, to garantuju :D
Tak asi tak bych zduvodnil, proč nove Delphi kupovat nebudu a budu dale delat v delphi 7, radsi koupim nejake jezdene auto :)

 
Odpovědět 28.1.2014 19:42
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Zdeněk Pavlátka:

Článek by chtěl aktualizovat... :D

Odpovědět  +5 28.1.2014 19:52
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

Nechtěl by se někdo ujmout vytvoření obdobného, aktuálního článku? ;)

Za ty roky se docela dost změnilo a chtělo by to určitě zmínit "Metro" aplikace, multiplatformní programování a cloud (příp. další věci)..

Odpovědět 11.6.2015 10:14
Chyba je mezi klávesnicí a židlí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 48. Zobrazit vše