1. díl - Programujeme pro Windows 8 - Úvod do nového prostředí

C# .NET Windows Store Aplikace Programujeme pro Windows 8 - Úvod do nového prostředí

Vítám vás u nového seriálu „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

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ů

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

Ž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 příště 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 seriálu 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.


 

  Aktivity (1)

Článek pro vás napsal Petr Nymsa
Avatar
Autor se věnuje programování v C# a celkově se zajímá o .NET technologie. Působí jako Microsoft Student Partner.

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


 


Miniatura
Všechny články v sekci
C# Windows Store aplikace

 

 

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

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Tak jsem se k tomu konečně dostal a musím říci, že článek jsi napsal velmi zajímavě. Aktuálně nemám k Windows 8 přístup, čili budu zatím pasivní čtenář.

Chci se zeptat, ten XAML je ten samý XAML, jako se používá ve WPF? Nebo je to zas něco jiného?

Odpovědět 20.2.2013 10:07
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
Petr Nymsa
Redaktor
Avatar
Odpovídá na David Čápka
Petr Nymsa:

WPF jsem nedělal, každopádně jedná se o ten samý XAML. Samozřejmě přibyli nějaké nové komponenty, resp. je to novější verze XAML. Ale pokud někdo pracoval ve WPF má velkou výhodu.

Odpovědět 20.2.2013 10:43
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Michal Žůrek (misaz):

Jen taková poznámky: Skype není C# + HTML/CSS, ale C++ a HTML/CSS. Alespoň tak to někdo z microsoftu prohlašoval.

Odpovědět  -1 1.7.2013 14:04
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

Já mám zas zato co jsem mluvil s člověkem z Microsoftu že to je C# + HTML/CSS :) Nevím :)

Odpovědět 1.7.2013 14:30
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kafac
Člen
Avatar
Kafac:

Je tahle sekce důležitá pro další sekce,nebo že vím hodně lidí si na windows 8 stěžuje (aspon z mých známých),a někdy v dubnu má vyjít windows 9,která bude jako 7.A proto se ptám jestli tahle sekce je jako zajímavost nebo to navazuje na předchozí a i na další sekce?

Odpovědět  -1 1.8.2014 12:29
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Matýsek
Člen
Avatar
Matýsek:

Funguje to tak i na Windows 10 ?

Odpovědět 1. března 15:29
Nezapomínej na středníky! ;
Avatar
Michal Pipal
Člen
Avatar
Odpovídá na Matýsek
Michal Pipal:

V necem se z WinRT vychazi, neco je uplne jine. Pokud te to vic zajima, zkus si nekde najit neco o UWP. Takovy hodne strucny uvod, z ktereho se lze proklikat dal, mas treba tu:
https://msdn.microsoft.com/…n975273.aspx

 
Odpovědět 1. března 16:53
Avatar
Martin5001
Člen
Avatar
Martin5001:

Bylo by možné udělat návody i na Windows 10? (vím, že to je podobné ale w10 má některé nové funkce)

 
Odpovědět 8. června 17:03
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Martin5001
Petr Nymsa:

Nějakou dobu uvažuju nad přepsáním,ale nemohu nic slíbit.

Odpovědět  +1 9. června 10:34
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Martin5001
Člen
Avatar
Odpovídá na Petr Nymsa
Martin5001:

Ocenil bych například návod na nějakého klienta pro web (např. Wikipedii). Klientů je spousta ale většina je anglicky.

 
Odpovědět 11. června 11:01
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 13. Zobrazit vše