Lekce 1 - Programujeme pro Windows 8 - Úvod do nového prostředí
Vítám vás u nového kurzu „Programujeme Windows Store aplikace“. S
novým systémem od Microsoftu, Windows 8, přišly i nové typy aplikací,
respektive nové prostředí, které je nesprávně označované jako
„Metro“. Nové prostředí je typické dlaždicemi a hlavně celoobrazovým
režimem. Pro náš seriál budeme nazývat toto prostředí „Metro“, i
když správně je označováno jako „Moderní uživatelské prostředí“
(originální název ). Metro
je uzpůsobeno jak pro používání desktop PC, tedy klávesnice a myš, tak i
pro dotyková zařízení. Bystřejší z vás už možná napadlo, to musíme
programovat zvlášť doteky a zvlášť vstup z klávesnice? Odpovím
jednoduše - ne.
Skrytá síla?
Windows 8 přicházejí s novou nativní knihovnou WinRT. Díky této knihovně nemusíme rozlišovat rozdíl vstupů (klávesnice, myš, dotek), řeší to za nás systém. Časem zjistíme, že systém toho řeší za nás mnohem víc.

WinRT
Jako programátoři si můžeme vybrat jazyk, který nám nejvíce vyhovuje. Můžeme použít C# pro logiku a pro design XAML, obdobně C, C++ či Visual Basic nebo JavaScript + HTML 5 / CSS. Díky tomu, že využíváme stejnou knihovnu, aplikace se budou chovat zcela stejně. Je dokonce možné kombinovat, tedy například C# a HTML / CSS, ovšem zde už dochází k výkonnostním potížím. Tato kombinace je použita například u Skype verze pro Metro.
Jeden pohled nestačí
Metro přichází i s různými pohledy na aplikaci. Aplikaci je možné mít roztaženou přes celou obrazovku a na šířku (Landscape) nebo na výšku (Portrait). Dále existují tzv. Snap view (připnutá aplikace) a Fill view (zbytek po připnuté aplikaci). Jako vývojáři musíme zajistit, aby aplikace fungovala ve Snap view, Fill a alespoň Landscape pohledech.

Typy pohledů
Životní cyklus aplikace
Jak už bylo řečeno, nové Windows 8 jsou uzpůsobené i na dotyková zařízení, kde není výkon tak veliký jako u desktopu. Díky tomu veškeré aplikace pro Metro přicházejí s tzv „life cycle“.

Životní cyklus aplikace
Systém sám šetří pamětí a jakmile dochází místo v paměti, nejdéle spuštěné aplikace přepne do Suspend režimu. Jednoduše řečeno, systém aplikaci uspává, jako vývojář máte 10 sekund na to, abyste uložili vše potřebné. Jakmile nejsou ani prostředky pro Suspend, aplikace přechází do Terminate režimu, tedy se zcela vypne. Pokud uživatel zapne znovu aplikaci, (berte jako znovu otevře), očekává stav, v jakém ji před tím opustil. Právě proto máme oněch 10 sekund, abychom uložili veškerý stav aplikace. To platí pro probuzení ze Suspend režimu, pokud byla aplikace v režimu Terminate, uživateli bychom měli nabídnout nové spuštění. Celá tato problematika by dala na celý článek, proto zatím takto jednoduše.
To je přátelé zatím vše. Dnes to bylo velmi stručné, obecné a pouze teoretické. Doufám, že článek alespoň trochu zaujal a v příští lekci, Programujeme pro Windows 8 - První aplikace, se již koukneme na základní šablony aplikací. Měli bychom si vytvořit kompletní aplikaci, kde se naučíme spravovat pohledy, cyklus aplikace, vyzkoušíme synchronizaci přes SkyDrive a mnoho dalšího. V kurzu se také budeme věnovat požadavkům Microsoftu na aplikace, certifikaci a jejím umístěním na Windows Store, tedy obchod s aplikacemi. Sám teprve objevuji všechny taje vývoje, ale i tak se pokusím poradit, nebo alespoň odkázat na nějakou pomoc.
Pro ty z vás co jsem zaujal. Pro vývoj budete potřebovat Windows 8 a nainstalovaný Visual Studio 2012. Expres verze postačí, ale má některá omezení, která by pro vyzkoušení vadit neměla.
V další lekci, Programujeme pro Windows 8 - První aplikace, si vytvoříme první aplikaci ve stylu Hello World.