Vývoj univerzálnych aplikácií pre Windows 8 a Windows Phone 8.1

Page 1

E

N

C

Y

K

L

O

P

E

D

I

E

Z

O

N

E

R

P

R

E

S

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Luboslav Lacko

S


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1 Luboslav Lacko

Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována nebo předávána žádnou formou nebo způsobem, elektronicky ani mechanicky, včetně fotokopií, natáčení ani žádnými jinými systémy pro ukládání bez výslovného svolení vydavatele ZONER software, a. s.

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1 Autor: Luboslav Lacko Copyright © ZONER software, a.s. Vydání první, v roce 2014. Všechna práva vyhrazena. Zoner Press Katalogové číslo: ZRK1413 ZONER software, a.s. Nové sady 18, 602 00 Brno Odpovědný redaktor: Miroslav Kučera Šéfredaktor: Ing. Pavel Kristián DTP: Miroslav Kučera

Informace, které jsou v této knize zveřejněny, mohou byt chráněny jako patent. Jména produktů byla uvedena bez záruky jejich volného použití. Při tvorbě textů a vyobrazení bylo sice postupováno s maximální péčí, ale přesto nelze zcela vyloučit možnost výskytu chyb. Vydavatelé a autoři nepřebírají právní odpovědnost ani žádnou jinou záruku za použití chybných údajů a z toho vyplývajících důsledků. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována ani distribuována žádným způsobem ani prostředkem, ani reprodukována v databázi či na jiném záznamovém prostředku či v jiném systému bez výslovného svolení vydavatele, s výjimkou zveřejnění krátkých částí textu pro potřeby recenzí.

Veškeré dotazy týkající se distribuce směřujte na: Zoner Press ZONER software, a.s Nové sady 18, 602 00 Brno tel.: 532 190 883 e-mail: knihy@zoner.cz www.zonerpress.cz

slevy, akce,

novinky

Nechejte nám kontakt na novinky.zonerpress.cz a získáte další bonusy, slevy a jiné výhody.

ISBN 978-80-7413-282-7


Obsah Úvod

4

Od úplnej nekompatibility k vývoju univerzálnych aplikácií

4

Predstavenie platforiem

5

Návrh používateľského rozhrania univerzálnych aplikácií

12

Čo budete potrebovať na vývoj

16

Projekt univerzálnej aplikácie – praktický príklad

19

Používateľské rozhranie pre Windows 8.1

31

Používateľské rozhranie pre Windows Phone 8.1

40

Upgrade existujúceho projektu na univerzálnu aplikáciu

46

Ladenie výkonu aplikácie

50

Asynchrónne programovanie

52

Využitie mapových služieb vo Windows 8.1 a Windows Phone 8.1 aplikáciách

53

Posielanie notifikácie do Windows 8 aplikácie

57

Windows Azure Mobile Services

67

Príprava Windows 8.1 aplikácie na publikovanie

76

Publikovanie Windows 8.1 aplikácie do aplikačného obchodu

82

Príprava Windows Phone 8.1 aplikácie na publikovanie

86

Publikovanie Windows Phone 8.1 aplikácie do aplikačného obchodu

90

Ako získať certifikát vekovej vhodnosti pre hru

91

Ako profitovať z mobilných aplikácií

93


4

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Úvod Publikácia je určená vývojárom moderných aplikácií pre tablety, konvertibilné zariadenia a v neposlednej rade aj pre klasické desktopy a notebooky s operačným systémom Windows 8.1 a aplikácií pre mobilné platformy Windows Phone 8.1. Obidve sesterské platformy, teda Windows 8.1 aj Windows Phone 8.1 majú za sebou už nejakú históriu, ktorá je spojená s kompatibilitou, aj nekompatibilitou aplikácií. Predchodcom Windows 8.1 bol Windows 8 – prvý operačný systém Microsoftu, ktorý dokázal naplno využiť možnosti nových zariadení hlavne tabletov s multidotykovým ovládaním. História Windows Phone sa začala písať verziou 7.0, ktorá priniesla nové používateľské rozhranie pre chytré telefóny s multidotykovým displejom. Neskôr prišla verzia Windows Phone 8, ktorá priniesla veľa vylepšení a v súčasnosti sa prístroje s Windows Phone 8 postupne upgradujú na verziu 8.1. Pre vývojárov je táto verzia dostupná od apríla 2014. POZNÁMKA S príchodom Windows Phone 8.1 pribudla možnosť vytvárania univerzálnych aplikácií, kde vám pre obidve platformy stačí jeden projekt.

Námetom publikácie je vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1 a niektoré funkcie spoločne využiteľné pre obidve platformy, napríklad posielanie notifikácií. POZNÁMKA

Publikácia nerieši základné princípy vývoja a dizajnu pre jednotlivé platformy.

Základy vývoja a dizajnu môžete naštudovať napríklad z knihy Vývoj aplikací pro Windows 8.1 a Windows Phone od autora tejto publikácie.

Od úplnej nekompatibility k vývoju univerzálnych aplikácií Aby ste pochopili súčasný trend, bude dobré nahliadnuť nielen do histórie sesterských platforiem Windows, ale aj stručne priblížiť situáciu u konkurenčných mobilných platforiem.

Nekompatibilita sedmičiek K zjednoteniu číslovania a dokonca aj k časovej synchronizácii verzií klientskych operačných systémov Windows došlo už vo verziách Windows 7 a Windows Phone 7. Bohužiaľ, zhoda sa týkala len číselného označenia. Windows 7 bol operačný systém pre klasické počítače a notebooky, ktoré sa ovládali pomocou klávesnice a myši. Naproti tomu Windows Phone 7 bol operačný systém Microsoftu novej generácie navrhnutý pre mobilné telefóny. Microsoft sa vzdal akejkoľvek kompatibility so staršími platformami Windows Mobile a Windows CE a vytvoril nový operačný systém, ktorý ako prvý využíval domovskú obrazovku s dynamickými dlaždicami. Toto používateľské rozhranie malo v etape vývoja kódové označenie "Metro". Z používateľského hľadiska nielenže nemali "sedmičkové" desktopové Windows nič spoločné z operačným systémom WP7 pre chytré telefóny, ale Windows 7 dokonca neumožňoval ani priame kopírovanie obrázkov a multimediálnych súborov z desktopu do mobilného telefónu pripojeného cez USB. Na kopírovanie


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

5

spomínaného obsahu bolo potrebné použiť aplikáciu Zune určenú pre rovnomenné prehrávače od Microsoftu, ktoré sa v Európe nikdy nepredávali. Paradoxne lepšia bola situácia z hľadiska kompatibility pre vývojárov. O prenose aplikácií medzi W7 a WP7 samozrejme nemohlo byť ani reči, ale pokiaľ vývojár vytvoril aplikáciu, alebo hru s využitím technológie WPF (Windows Presentation Foundation) a programovacieho jazyka C# alebo Visual Basic mohol prenášať do nového projektu pre sesterskú platformu nielen bloky kódu aplikačnej logiky, ale niekedy aj časti návrhu používateľského rozhrania v jazyku XAML, samozrejme s ohľadom na iné rozmery obrazovky

...medzitým u konkurencie... Hlavnou konkurenciou mobilnej platformy Windows Phone 7 boli prístroje s operačným systémom Android a Apple iOS. Obidve konkurenčné platformy sú k dispozícii v dvoch variantoch – pre tablety a chytré telefóny, pričom aplikácie určené pre telefóny je možné spúšťať aj na tabletoch. Takže napríklad aplikáciu pre iPhone je možné spustiť nielen na prehrávači iPod Touch, ale aj na populárnych tabletoch iPad. Aplikácie pre Android od verzie 4.0 sa navrhujú tak, že aplikácia zistí akú veľkosť obrazovky má k dispozícii a podľa toho sa rozmiestnia prvky používateľského rozhrania.

Lepšia kompatibilita osmičiek Obidve platformy sa zblížili jednak z hľadiska filozofie používateľského rozhrania a jednak z hľadiska architektúry. Windows 8 predpokladá pre plnohodnotné využívanie nových Modern UI aplikácií zariadenie s multidotykovým ovládaním, aj keď to nie je nutná podmienka a aj tieto aplikácie sa dajú dobre ovládať pomocou klávesnice a myši. Ak má používateľ tablet, prípadne smartfón, jediným signifikantným rozdielom je veľkosť displeja a možnosti pripájania externých zariadení. Z hľadiska architektúry je Windows Phone 8 založený na rovnakých "core" technológiách ako Windows 8. Z toho vyplýva relatívne jednoduché portovanie aplikácií medzi Windows 8 a Windows Phone 8. Aplikácie nie sú kompatibilné na úrovni distribučných balíčkov, len využívajú rovnaké runtime jadro, preto aplikáciu je nutné pre sesterskú platformu adaptovať, upraviť a znovu zostaviť. Windows Phone 8 umožňuje spúšťať aplikácie vytvorené pre staršiu platformu Windows Phone 7, opačne sa to nedá.

Konvergencia Windows 8.1 a Windows Phone 8.1 Windows Phone 8.1 ide v integrácii ešte ďalej, má rovnakú vrstvu WinRT ako Windows 8.1. V praxi to znamená, že vývojári môžu vytvoriť v jednom projekte aplikáciu pre Windows 8.1 aj pre Windows Phone 8.1, pričom viac než 90 percent kódu bude spoločné, rozdiely budú len v používateľskom rozhraní a vo filozofii ovládania.

Predstavenie platforiem Prečo v publikácii venovanej vývoju aplikácií predstavujeme nové črty operačného systému? Pretože ich okrem operačného systému môžu využívať aj aplikácie. A mali by ich využívať čo v najširšom možnom rozsahu. Pre úspech aplikácie je veľmi dôležité, aby dizajnom a filozofiou používania dobre zapadla do operačného systému. Len tak používateľ získa z vašej aplikácie konzistentný zážitok. Keďže sa aplikácia bude ovládať na podobných princípoch ako operačný systém a iné aplikácie, používateľ nemusí čítať žiadny manuál a v ovládaní vašej aplikácie sa veľmi rýchlo zorientuje.


6

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Windows 8.1 Relatívne včasné uvedenie "veľkého" upgrade Windows 8 je operatívnou reakciou Microsoftu na spätnú väzbu od svojich zákazníkov. Ako prvé pravdepodobne postrehnete dizajnové aj funkčné zmeny na domovskej obrazovke s dynamickými dlaždicami. K pôvodnej štvorcovej a obdĺžnikovej dlaždici pribudli dve nové veľkosti. Pre aplikácie, ktoré potrebujú na dlaždici zobraziť veľa informácií, či už sa jedná o zoznam správ, podrobnejšiu predpoveď počasia a podobne sa ideálne hodí veľká štvorcová dlaždica (s dĺžkou strany pôvodnej obdĺžnikovej dlaždice). Malú štvorcovú dlaždicu (s polovičnou dĺžkou strany pôvodnej štvorcovej dlaždice) zas použijete pre aplikácie, ktoré na dlaždiciach nezobrazujú žiadne informácie.

Nové veľkosti dynamických dlaždíc. Pribudla možnosť personalizácie domovskej obrazovky. Môžete si vybrať z ponuky grafických pozadí, ktoré sú animované, pričom animácia motívu pozadia je synchronizovaná s posunom dlaždíc doprava, alebo doľava. Došlo aj k tesnejšiemu aj keď len vizuálnemu zblíženiu klasického desktop rozhrania a tzv. Modern UI optimalizovaného pre dotykové ovládanie. Vo Windows 8 pôsobili dojmom, že každé z nich prezentuje samostatný operačný systém. Vo verzii 8.1 si napríklad môžete preniesť pozadie z desktopu do Modern UI.

Prehľadnejší zoznam aplikácií K pozitívnym zmenám došlo aj na obrazovke so zoznamom aplikácií. Predtým ste sa na ňu z domovskej obrazovky prepli po napísaní prvého písmena z názvu aplikácie, ktorú ste chceli spustiť, prípadne po aktivovaní vyhľadávania v aplikáciách. V 8.1 stačí jednoduché gesto na dotykovom displeju – zvislý pohyb prsta smerom nahor vyroluje zospodu obrazovku aplikácií. Opačným gestom, teda pohybom nadol sa vrátite na domovskú obrazovku. Na zariadeniach s klasickým displejom sa prepínanie realizuje kliknutím na malú šípku v krúžku v ľavom dolnom okraji obrazovky. Zoznam aplikácií je oveľa prehľadnejší. Dá sa utriediť podľa rôznych kritérií, napríklad podľa názvu, kategórie, dátumu inštalovania, prípadne je možné na vrchole zoznamu zobraziť najviac používané aplikácie. Ikony aplikácií tvoriacich balík sú pri utriedení podľa názvov prehľadne zoskupené. Zmenila sa vizuálna reakcia po nainštalovaní aplikácie. Vo Windows 8.1 sa ikona novej aplikácie pridá len do zoznamu aplikácií, bez ohľadu na to či sa jedná o desktop, alebo Modern UI aplikáciu. Na domovskú obrazovku si ju v prípade záujmu musíte pripnúť sami a zvoliť si primeranú veľkosť dlaždice z ponúkaných možností (Large, Wide, Medium, Small).


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

7

Flexibilné rozdelenie obrazovky medzi Modern UI aplikácie Vo Windows 8 ste mohli mať na jednej obrazovke maximálne dve aplikácie súbežne, pričom jedna z nich bola v takzvanom pripnutom móde, teda bežala v 320 pixelov širokom páse pri ľavom, alebo pravom okraji obrazovky. Windows 8.1 umožňuje rozdeliť obrazovku medzi aplikácie v ľubovoľnom pomere, pričom počet súčasne zobrazených aplikácií závisí od rozlíšenia monitora. Pre každú aplikáciu je potrebná šírka 500 pixelov vodorovne, takže ak máte rozlíšenie HD (1366 x 768) môžete spustiť dve aplikácie, na obrazovke s rozlíšením FullHD (1920 x 1080) môžete súčasne spustiť tri aplikácie. Ak je na obrazovke dosť miesta, aplikácie môžu pri spustení ďalšej aplikácie zostať otvorené na popredí. Windows 8.1 poskytuje oveľa sofistikovanejšie možnosti zobrazovania na dvoch monitoroch. Ak presuniete okno aplikácie z malej obrazovky tabletu na monitor s vyšším rozlíšením, veľkosť okna sa automaticky prispôsobí zobrazovacím možnostiam monitora.

Flexibilné rozdelenie obrazovky medzi viacero aplikácií.

Obrazovka uzamknutia Predpokladaný rozmach tabletov a rôznych zariadení typu All in one s veľkoplošným displejom dáva tušiť ich umiestnenie a používanie v obývačkách, konferenčných miestnostiach firiem a podobne. Aby zariadenie, na ktorom je zobrazená obrazovka uzamknutia, nebolo v tomto režime len neživým "kusom nábytku", pribudla vo Windows 8.1 možnosť zobrazovania fotografií z vybraných priečinkov kolekcie. Z obrazovky uzamknutia môžete prijať prichádzajúci audio alebo video hovor cez Skype, prípadne gestom "posun prstom nadol" aktivovať vstavaný fotoaparát bez nutnosti odomykania zariadenia.

Komplexné vyhľadávanie Windows 8.1 je oveľa tesnejšie integrovaný s vyhľadávačom Bing. Našinec to príliš neocení, no v USA je Bing veľmi konkurencieschopná platforma. Vo Windows 8.1 po napísaní prvého písmena zobrazí panel vyhľadávania v pravej časti obrazovky a na ňom relevantné výsledky v komplexnej podobe nielen zo zoznamu aplikácií, ale aj z dokumentov, súborov a cloudových lokalít. Namiesto rozdelenia výsledkov podľa jednotlivých aplikácií alebo typu obsahu sa vo Windows 8.1 zobrazia nájdené položky vo forme komplexného hubu (vodorovne rolovateľnej virtuálnej obrazovky). Navyše výsledky vyhľadávania sú naviazané na relevantné služby podľa vašej konkrétnej polohy. Napríklad ak hľadáte námet na večerné kultúrne vyžitie, zobrazia sa vám programy divadiel, kín, koncertov a podobne vo vašom okolí a následne si môžete priamo rezervovať, alebo zakúpiť lístok.


8

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

(Ne)kompatibilita aplikácií a inovovaný Windows Obchod Microsoft deklaruje stopercentnú spätnú kompatibilitu Modern UI aplikácií, čo v praxi znamená, že všetky aplikácie pre Windows 8 pobežia aj v 8.1. API Windows 8.1 však prináša množstvo nových atraktívnych funkcií a veľa vylepšení existujúcej funkcionality. Preto sa používateľom Windows 8 vo Windows obchode zobrazia iba aplikácie určené pre tento OS.

Windows Phone 8.1 V dobe písania tejto publikácie bola k dispozícii developer preview novej verzie operačného systému Windows Phone 8.1. Finálna verzia bude postupne v priebehu mesiacov uvoľnená formou automatického upgrade prístrojov s Windows Phone 8. POZNÁMKA Developer preview v praxi znamená, že túto verziu si môžu nainštalovať všetci zaregistrovaní vývojári pre WP8. Ročný poplatok za reálny vývojársky účet pre Windows 8 a Windows Phone je 14 EUR, no môžete sa zaregistrovať aj zdarma na http://appstudio.windowsphone.com. Následne si z obchodu stiahnete aplikáciu "Preview for Developers" a v nastavení telefónu inicializujete vyhľadávanie aktualizácií.

Vylepšené používateľské rozhranie Novinkou v dizajne používateľského rozhrania rozpoznateľnou na prvý pohľad je možnosť pridania ďalšieho stĺpca dlaždíc na domovskú obrazovku aj u prístrojov s menším displejom. Táto funkcionalita bola dosiaľ k dispozícii len na prístrojoch so 6 palcovým displejom, tzv. phabletoch, napríklad Lumia 1520 a 1320. Pribudla aj možnosť pridania pozadia na dlaždiciach. Pri posune dlaždíc sa pomocou efektu paralaxy navodzuje dojem, že popredie je vzdialené od pozadia. Pozadie bude zobrazené len na dlaždiciach nových aplikácií pre Windows 8.1, ktoré akceptujú dizajnové pravidlá a využívajú priesvitný ikonický motív. Aplikácie môžu využiť celú plochu obrazovky uzamknutia, napríklad na výpis správ z aplikácie Facebook, či Twitter.

Windows Phone 8.1 umožňuje zapnúť tretí stĺpec dlaždíc na domovskej obrazovke aj na malých displejoch.


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

9

Dosiaľ museli mať telefóny pod displejom tri hardvérové spravidla dotykové tlačidlá. WP8.1 umožní konštruovať telefóny bez týchto tlačidiel. Nahradí ich lišta v spodnej časti displeja, ktorá sa zobrazí v prípade potreby. To umožní použiť väčšie displeje bez zväčšenia rozmerov telefónu.

Akčné centrum na zobrazenie notifikácií Ak používateľ nestihol, alebo nemohol reagovať na niektoré upozornenia pri ich zobrazení, môže tak urobiť kedykoľvek prostredníctvom lišty notifikačného centra, kde sa dajú zobraziť všetky upozornenia na jednom mieste. Lištu notifikačného centra zobrazíte intuitívnym gestom – posunom prsta od horného okna displeja do stredu. Ťuknutím na oznámenie aktivujete aplikáciu, ktorá oznámenie poslala. V hornej časti panelu notifikačného centra sú tlačidlá na zapnutie WiFi, Bluetooth, režimu v lietadle, zámku otáčania a nastavenie jasu. Zvyšok panelu tvoria oznámenia, napríklad z klientov elektronickej pošty, z aplikácie Facebook, SMS, a ak je to vzhľadom na charakter aplikácie užitočné, tak aj z vašich aplikácií. Notifikačné centrum rozširuje možnosti notifikácií posielaných aplikáciám z cloudu. V staršej verzii sa zobrazili nastavenú dobu maximálne niekoľko desiatok sekúnd a potom sa už používateľ k nim nedostal. Za všetky jeden príklad – alarm vášho inteligentného domu pošle príslušnej aplikácii notifikačnú správu o narušení. V staršej verzii sa to riešilo zobrazením textu na dlaždici, no táto nemusí byť pripnutá na obrazovku.

Notifikačné centrum.

Virtuálna asistentka Cortana Najatraktívnejšou novinkou je virtuálna asistentka Cortana schopná rozpoznať otázky a príkazy v prirodzenom jazyku, ktorá je zatiaľ k dispozícii len pre USA, preto ak ju chcete vyskúšať, musíte v telefóne zmeniť jazyk a región. Cortana je napojená na vyhľadávač Bing.

Nové funkcie Aplikácia Facebook od Microsoftu je súčasťou operačného systému a je do neho tesne integrovaná. Bol vylepšený dizajn aplikácie Kalendár, v ktorom týždenný a mesačný prehľad obsahujú plochu na podrobné zobrazenie udalostí dnešného dňa.


22

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

byť odomknutý, čiže musíte vysunúť obrazovú roletu nahor. Na vývojárskom počítači nástroj Windows Phone Developer Registration. Tlačidlom Register telefón zaregistrujete k svojmu vývojárskemu kontu.

Registrácia telefónu do vývojárskeho konta.

Používateľské rozhranie projektu pre Windows 8.1 Po spustení aplikácie sa zobrazí hlavná obrazovka aplikácie rozdelená do viacerých sekcii. Všimnite si podrobnejšie sekciu 3, ktorú použijeme na zobrazovanie údajov. Vedľa názvu sekcie je ikona šípky smerujúcej vpravo, ktorá naznačuje, že kliknutím na záhlavie sa zobrazí obrazovka s detailným zobrazením údajov.

Hlavná obrazovka aplikácie pre Windows 8.1.


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

23

Podrobné zobrazenie údajov v Sekcii 3.

Používateľské rozhranie projektu pre Windows Phone 8.1 Po spustení projektu pre platformu Windows Phone 8.1, či už na emulátore, alebo na reálnom zariadení, môžete postupným rolovaním preskúmať všetky sekcie Hub aplikácie. Ak ste postupne spustili projekt v tomto úvodnom štádiu pre obidve platformy, získali ste názor o možnostiach a spôsobe zobrazovania informácií.

Obrazovky aplikácie pre Windows Phone 8.1.

Anatómia projektu V okne Solution Explorer zistíte, že projekt univerzálnej aplikácie (solution) vlastne pozostáva z troch čiastkových projektov: Windows projekt


24

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Windows Phone projekt Shared projekt

Typ čiastkového projektu je v názve jeho zložky za bodkou, napríklad PrisadyPotraviny.WindowsPhone.

Projekt univerzálnej aplikácie vo Visual Studiu 2013.

Čiastkové projekty sú v samostatných zložkách. Súbor App.xaml je spoločný pre obidva platformové projekty: <Application x:Class="PrisadyPotraviny.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:PrisadyPotraviny" RequestedTheme="Light"> </Application>

Zaujímavý je atribút RequestedTheme, pomocou ktorého určíte motív pre Windows 8.1 – či bude zobrazený tmavý text na svetlom pozadí, alebo naopak. Rovnako aj súbor App.xaml.cs je spoločný pre obidva platformové projekty. Sekcie kódu pre konkrétnu platformu sú riešené pomocou direktívy #if a preddefinovaných konštánt WINDOWS_APP a WINDOWS_PHONE_APP. #if WINDOWS_PHONE_APP ... #endif #if WINDOWS_APP ... #endif


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

25

Aby vývojové prostredie mohlo ponúkať interaktívnu nápoveď počas tvorby kódu – Intellisense, je potrebné nastaviť, pre ktorú platformu momentálne píšete kód v súbore App.xaml.cs, prípadne v ďalších súboroch s kódom spoločných pre obidve platformy.

Výber platformy pre editor kódu a Intellisense. Spoločné pre obidva platformové zapuzdrené projekty sú aj zložky Assets, Common, DataModel a Strings.

Grafika a multimédia v zložke Assets Predovšetkým je potrebné rozlišovať zložku Assets umiestnenú v zložke <nazov projektu>.Shared a v zložkách projektov pre Windows 8.1 a Windows Phone 8.1. Assets zložka v spoločnej sekcii obsahuje obrázky a iné multimediálne súbory, ktoré využíva aplikácia pre obidve platformy. Napríklad aplikácia s kuchárskymi receptami má v spoločnej zložke obrázky jedál a ingrediencie, ktoré zobrazuje tak aplikácia pre W8.1, ako aj pre WP8.1, aplikácia s testami pre autoškolu má v tejto zložke obrázky dopravných značiek a križovatiek. Projekt univerzálnej aplikácie vytvorenej podľa šablóny HubApp má v tejto zložke obrázky DarkGray.png, MediumGray.png a LightGray.png, ktoré sa zobrazujú ako ilustračné obrázky položkám cvičných údajov.

Zložky Assets vnorené v zložkách pre Windows 8.1 a Windows Phone 8.1 obsahujú platformovo závislú grafiku, teda obrázky dlaždíc, splash screen a podobne. Projekt pre Windows 8.1 vytvorený podľa šablóny HubApp obsahuje v zložke pre Windows 8.1 súbory: Logo.scale-100.png (150 × 150 pixelov) SmallLogo.scale-100.png (30 × 30 pixelov) StoreLogo.scale-100.png (50 × 50 pixelov) WideLogo.scale-100.png (150 × 150 pixelov) SplashScreen.scale-100.png (620 × 300 pixelov).

Aby sa aplikácia dokázala prispôsobiť rôznym rozmerom a rozlíšeniam, môžu byť obrázky v zložke Assets v rôznych veľkostiach, ktorých mierka je vyjadrená percentuálne. Môžete použiť obrázky v mierke 80, 100, 140 a 180 percent základného rozmeru. Projekt pre Windows Phone 8.1 obsahuje v zložke Assets dva súbory s obrázkami pozadia: HubBackground.theme-dark.png HubBackground.theme-light.png


52

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Asynchrónne programovanie Pre Windows 8.1 aplikácie vo všeobecnosti platí, že každá operácia, ktorá môže trvať dlhšie než 50 ms, je realizovaná ako asynchrónna. Cieľom je zabrániť spomaleniu, či dokonca prerušeniu odozvy na povely od používateľa, bez ohľadu na to, či sú zadávané dotykovými gestami, pomocou myši či klávesnice. Typickým príkladom sú aplikácie, ktoré potrebujú hoc i niekoľko málo sekúnd na načítanie údajov z internetu, aplikácie pracujúce zo súbormi a podobne. Tieto operácie sú realizované ako asynchrónne, kde aplikácia, zatiaľ čo čaká na dokončenie asynchrónnej operácie, ďalej beží a reaguje na užívateľské rozhranie. Ako príklad asynchrónnej operácie uvedieme načítanie údajov zo súboru. Asynchrónna metóda openPicker.PickSingleFileAsync() je volaná s prefixom await: private async void btLoad_Click(object sender, RoutedEventArgs e) { FileOpenPicker openPicker = new FileOpenPicker(); openPicker.ViewMode = PickerViewMode.List; openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; openPicker.FileTypeFilter.Add(".csv"); StorageFile file = await openPicker.PickSingleFileAsync(); }

V asynchrónnej metóde musí byť aj zobrazenie oznamu pomocou prvku MessageDialog. Zatiaľ čo táto vetva čaká na reakciu používateľa, zvyšok aplikácie funguje ďalej: private async void Zobraz() { var dialog = new MessageDialog("Najskôr je potrebné vybrať položku"); dialog.Title = "Upozornenie"; await dialog.ShowAsync(); }

Niekedy je potrebné dej v aplikácii taktovať. Môžete s výhodou využiť časovače, no ak prerábate aplikácie zo starých platforiem (typickým príkladom sú osembitové herné konzoly), potrebujete riešiť oneskorenia, ktoré boli v pôvodnej aplikácii realizované zacyklením procesora na definovaný čas: private async Task<int> KresliLogoFlappy(bool blueStyle) { KresliObrazok(1, 0, VykreslovanieObjektov.logo1); await Task.Delay(TimeSpan.FromMilliseconds(100)); KresliObrazok(1, 0, VykreslovanieObjektov.logo2); await Task.Delay(TimeSpan.FromMilliseconds(100)); return 0; }


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

53

Využitie mapových služieb vo Windows 8.1 a Windows Phone 8.1 aplikáciách Jedným zo základných atribútov mobility je orientácia v prostredí, napríklad v cudzom meste. Potrebujete nájsť reštauráciu, dejisko kultúrneho, či športového podujatia, zaujímavú turistickú lokalitu... Mapové služby využijete aj v úlohách na koordináciu činností v priestore, prípadne aplikáciách pre zaznamenávanie vašej polohy, ale táto funkcionalita je vhodnejšia viac pre telefóny, než pre tablety. Samozrejmosťou je aj čoraz intenzívnejšie využívanie mapového zobrazenia v biznis aplikáciách, napríklad pri názornom prezentovaniu výsledkov analýz. Preto sa veľa mobilných aplikácií nezaobíde bez mapových služieb. Natívnou mapovou platformou pre Windows 8.1 a Windows Phone je Bing Maps, nakoľko táto platforma je tesne previazaná s operačným systémom.

Prípravná fáza Skôr než začnete s vývojom aplikácie využívajúcej službu Bing Maps, musíte realizovať nenáročnú technickú a administratívnu prípravnú fázu. Do Visual Studia je potrebné nainštalovať doplnok Bing Maps SDK for Windows Store apps. Musíte taktiež získať Bing Maps Key (www.microsoft.com/maps/create-a-bing-maps-key.aspx), ktorý slúži pre identifikáciu vašej aplikácie voči mapovej službe, a prípadné tarifovanie pri intenzívnom komerčnom využívaní. Pre väčšinu nekomerčných aplikácií vystačíte s Basic Key. Pre pokusy využívajte 90 dňový Trial Key.

Formulár pre získanie kľúča Bing Maps Key.

Projekt aplikácie V aplikácii využívajúcej mapové služby nemôžete vytvoriť spoločný projekt pre všetky hardvérové platformy, ale musíte založiť osobitné projekty pre x86, x64 a ARM a tieto publikovať pod spoločným názvom. Budúci používateľ aplikácie to nepostrehne, nainštaluje sa mu automaticky vhodná verzia. Najuniverzálnejšia je edícia pre x86, ktorá pobeží aj na x64. Budúcnosť platformy ARM je neistá, väčšina výrobcov sa prikláňa skôr k procesorom Atom novej generácie.


54

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Vytvorte projekt s využitím niektorej zo šablón Blank, Grid, Split, alebo Hub. S výhodou môžete využiť šablónu Hub, ktorá poskytuje variabilné možnosti prezentovania údajov a obsahuje aj cvičné údaje vo formáte JSON. Tieto údaje môžete ľahko upraviť podľa svojho námetu a prepísať statickými informáciami. V reálnej aplikácii po odladení budete využívať údaje z webu. Pomocou menu PROJECT > Add Reference pridajte do projektu referenciu na doplnok Bing Maps SDK.

Pridanie referencie na mapové služby. V súbore s XAML kódom stránky aplikácie, na ktorej budete zobrazovať mapu, je potrebné pridať do tagu <Page> definíciu menného priestoru: xmlns:bm="using:Bing.Maps"

Referenciu je potrebné pridať aj do súboru s aplikačným kódom, napríklad MainPageXaml.cs nakoľko určite budete zobrazenie mapy v kóde upravovať. using Bing.Maps;

Následne v XAML kóde umiestnite mapu. Napríklad do kontejnerového prvku Grid, či StackPanel podľa zamýšľaného dizajnu aplikácie v tvare. <bm:Map Credentials="VAS_BING_MAPS_KEY" x:Name="myMap"></bm:Map>

Príklad aplikácie využívajúcej mapové služby (databáza zákazníkov bola nahradená fiktívnymi údajmi).


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

55

Aby vaša aplikácia mohla využívať aktuálnu polohu zariadenia, musíte to deklarovať v aplikačnom manifeste. Zaškrtnite pole Location v záložke Capabilities. Po prvom spustení aplikácie si potom aplikácia vyžiada od používateľa povolenie prístupu k údajom o aktuálnej polohe.

Prispôsobenie zobrazenia mapy Podobne ako cez webový prístup, aj vo Windows 8.1 aplikácii je možné upraviť zobrazenie mapy, prípadne kombinácia mapového podkladu a satelitného snímku. Začneme spustením aplikácie. Pravdepodobne nebudete chcieť zobraziť mapu celého sveta, ale zamerať fokus na určitú oblasť, napríklad mesto. Na nastavenie vycentrovania mapy a jej mierku použijete príkaz SetView. Prvý parameter typu Location určuje zemepisné súradnice stredu zobrazenia mapy. Druhý parameter, v našom prípade 12, je požadovaný zoom zobrazenia mapy. Pre ilustráciu zoom 12 pokryje približne plochu väčšieho okresu, pri zoome 17 sa zobrazí mestská štvrť s niekoľkými ulicami. mapa.SetView(new Location(49.0835, 19.6153), 12);

Typ zobrazenia mapy môžete nastaviť pomocou atribútu MapType. map.MapType = MapType.Road; map.MapType = MapType.Aerial; map.MapType = MapType.Birdseye;

Zobrazenie typu Road. Pre tento účel môžete využiť vhodný prepínací prvok, napríklad ComboBox, alebo RadioButton. Ak ponecháte implicitné nastavenie ShowNavigationBar="True", zobrazí sa lišta na prepínanie typu mapy v ľavom hornom rohu a nemusíte nič programovať. Pri nastavení hodnoty Road sa zobrazí klasická mapa, Aerial zobrazí kombináciu mapy a satelitného zobrazenia. Birdseye inicializuje zobrazenie s perspektívou. Mapu môžete otáčať, či už jednoduchým nastavením parametrov: map.Heading += 90;

alebo vizuálne efektnejšie s využitím animácie. TimeSpan animationDuration = new TimeSpan(0, 0, 0, 0, 500); map.SetHeading(map.Heading – 90, animationDuration);


76

Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

Príprava Windows 8.1 aplikácie na publikovanie Aby ste mohli aplikáciu publikovať do aplikačného obchodu Windows Store, je potrebné správne nastaviť parametre v aplikačnom manifeste a doplniť aplikáciu o nevyhnutnú grafiku, teda o návrhy dynamických dlaždíc a úvodnej obrazovky.

Aplikačný manifest V aplikačnom manifeste (súbor Package.appxmanifest ) sú informácie potrebné pre zostavenie aplikácie, aby ju bolo možné distribuovať cez Windows Obchod. Manifest je fyzicky XML dokument, no údaje v ňom budete vo väčšine prípadov editovať pomocou vizuálneho nástroja.

Aplikačný manifest – záložka Application. Údaje v aplikačnom manifeste sú vo vizuálnom editore rozdelené do záložiek. V záložke Application je potrebné definovať jazyk používateľského rozhrania. Pre slovenčinu odporúčame nastaviť jazyk priamo v XML kóde. <Resources> <Resource Language="sk-sk" /> </Resources>

V záložke môžete taktiež označiť orientácie zariadenia, ktoré aplikácia podporuje, prípadne minimálnu šírku okna aplikácie, ak je menšia ako 500 pixelov. Windows 8.1 umožňuje pre aplikácie, u ktorých to má význam, nastaviť minimálnu šírku na 320 pixelov a v takomto úzkom páse vypisovať prijaté maily, tweety atd. Pozornosť venujte záložke Capabilities, ktorá zobrazuje zoznam funkcionalít, ktoré môže aplikácia využívať. Implicitne pri vytváraní projektu je označená voľba Internet, čo v praxi znamená, že aplikácia môže využívať údaje z webu. Niektoré funkcie, deklarované v tejto záložke, ktoré by mohli zasiahnuť do súkromia používateľa ako napríklad lokalizačné služby, mikrofón, či kamera, sa odblokujú až po súhlase používateľa.


Vývoj univerzálnych aplikácií pre Windows 8.1 a Windows Phone 8.1

77

Aplikačný manifest – záložka Capabilities.

Prvky grafického dizajnu

Obrázky pre dlaždice, ikony a splash screen pre aplikáciu Prísady v potravinách Ak chcete iba základnú mierku 100 %, potrebujete nasledovné obrázky: Úvodná obrazovka – SplashScreen.scale-100.png (620 × 300 pixelov) Malá štvorcová dlaždica – SmallSquareLogo70x70.scale-100.png Stredná štvorcová dlaždica – SquareLogo150x150.scale-100.png Veľká štvorcová dlaždica – BigSquareLogo310x310.scale-100.png Obdĺžniková dlaždica – WideLogo310x150.scale-100.png Malá ikona – SmalLogo.scale-100.png (30 × 30 pixelov) Logo pre obchod – StoreLogo.scale-100.png (50 × 50 pixelov)

Jednotlivé grafické prvky umiestnené spravidla v zložke Assets, ktorá je vnorená v zložke Windows 8.1 projektu (nie v spoločnej zložke Assets, ktorá slúži pre grafiku vo vnútri aplikácie), sa priraďujú v aplikačnom manifeste. Vo vizuálnom editore aplikačného manifestu otvorte záložku Visual Assets.


Z nabídky Zoner Press:

Vývoj univerzálnych aplikácií

© iStockphoto (#4377580)

Profesionálně

Publikácia je určená vývojárom moderných aplikácií pre tablety, konvertibilné zariadenia a v neposlednej rade aj pre klasické desktopy a notebooky s operačným systémom Windows 8.1 a aplikácií pre mobilné platformy Windows Phone 8.1. Obidve sesterské platformy, teda Windows 8.1 aj Windows Phone 8.1 majú za sebou už nejakú históriu, ktorá je spojená s kompatibilitou, aj nekompatibilitou aplikácií.

Řízení životního cyklu aplikací www.zoner.cz

ve Visual Studiu 2010

Široká nabídka knih pro každého www.zonerpress.cz

Mickey Gousset, Brian Keller, Ajoy Krishnamoorthy, Martin Woodward

www.zonerpress.cz

Řízení životního cyklu aplikací ve Visual Studiu 2010

Predchodcom Windows 8.1 bol Windows 8 – prvý operačný systém Microsoftu, ktorý dokázal naplno využiť možnosti nových zariadení hlavne tabletov s multidotykovým ovládaním. História Windows Phone sa začala písať verziou 7.0, ktorá priniesla nové používateľské rozhranie pre chytré telefóny s multidotykovým displejom. Neskôr prišla verzia Windows Phone 8, ktorá priniesla veľa vylepšení a v súčasnosti sa prístroje s Windows Phone 8 postupne upgradujú na verziu 8.1. Pre vývojárov je táto verzia dostupná od apríla 2014.

ASP.NET 4 a C# 2010 ASP.NET 4 2 a C# 2010

E N C Y K L O P E D I E

Z O N E R

P R E S S

TVORBA DYNAMICKÝCH STRÁNEK PROFESIONÁLNĔ

KNIHA

Z obsahu knihy vyberáme: Od úplnej nekompatibility k vývoju univerzálnych aplikácií Predstavenie platforiem Návrh používateľského rozhrania univerzálnych aplikácií Čo budete potrebovať na vývoj Projekt univerzálnej aplikácie – praktický príklad Používateľské rozhranie pre Windows 8.1 Používateľské rozhranie pre Windows Phone 8.1 Upgrade existujúceho projektu na univerzálnu aplikáciu Ladenie výkonu aplikácie Asynchrónne programovanie Využitie mapových služieb vo Windows 8.1 a Windows Phone 8.1 aplikáciách Posielanie notifikácie do Windows 8 aplikácie Windows Azure Mobile Services Príprava Windows 8.1 aplikácie na publikovanie Publikovanie Windows 8.1 aplikácie do aplikačného obchodu Príprava Windows Phone 8.1 aplikácie na publikovanie Publikovanie Windows Phone 8.1 aplikácie do aplikačného obchodu Ako získať certifikát vekovej vhodnosti pre hru Ako profitovať z mobilných aplikácií

pište SPRÁVNĚ ČESKY

ZONER software, a.s. významný producent softwaru v oblasti digitální fotogra¿e, poþítaþové gra¿ky a multimédií, poskytovatel internetových služeb, souvisejících s prezentací na internetu a e-komercí, a nakladatelství odborné literatury.

pre Windows 8 a Windows Phone 8.1

• • • • • • • • • • • • • • • • • • •

Programmer to Programmer™

E N C Y K LO P E D I E ZO N E R P R E S S

Dalibor a Petr Behúnovi

Luboslav Lacko

TVORBA DYNAMICKÝCH STRÁNEK PROFESIONÁLNĔ

KNIHA 1

Matthew MacDonald Adam Freeman Mario Szpuszta

Matthew MacDonald Adam Freeman Mario Szpuszta

ASP.NET 4 a C# 2010 (1584 stran)

Kompletní seznam publikací najdete na

www.zonerpress.cz slevy, akce,

novinky Z O N E R

P R E S S

Pod tímto logem vycházejí publikace určené pro návrháře webových stránek a pro každého, kdo se zajímá o tvorbu aplikací. Od ryze praktických příruček a průvodců až po komplexní publikace o všem, co potřebuje programátor, vývojář nebo webdesignér při každodenní práci. Na vydavatelský plán a výhody, které můžete získat, se informujte na adrese vydavatelství.

Zoner Press tel.: 532 190 883 e-mail: knihy@zoner.cz www.zonerpress.cz ZONER software, a.s., Nové sady 18, 602 00 Brno

Nechejte nám kontakt na novinky.zonerpress.cz a získáte další bonusy, slevy a jiné výhody.

KATALOGOVÉ ČÍSLO: ZRK1413

Motiv na obálce: CreativeDreams s.r.o.

E N C Y K LO P E D I E

ISBN 978-80-7413-282-7

9 7 8 8 0 7 4 1 3 2 8 2 7


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.