Úvod do platformy Windows Phone 7

Mobilný operačný systém Windows Phone 7 začína byť po problémoch Blackberry označovaný za tretiu mobilnú platformu, aj keď jeho trhový podiel sa odhaduje len na niečo cez 2 %. Čo tento mobilný operačný systém od Microsoftu ponúka?

Od Windows Mobile k Windows Phone 7

Microsoft je na trhu mobilných operačných systémov už dlhý čas so svojím systémom Windows Mobile uvedeným v roku 2000. Tento systém nebol nikdy primárne určený pre bežných používateľov a jeho zameranie na enterprise sféru bolo vždy vidno. V poslednej verzii 6.5 z roku 2010 sa síce Microsoft snažil priblížiť tento mobilný operačný systém aj bežným koncovým používateľom, avšak bez väčšieho úspechu. V Microsofte pochopili, že takto to ďalej nepôjde a prišli s novým operačným systémom nazvaným Windows Phone 7.

Windows Phone 7 je nový mobilný operačný systém od Microsoftu, na rozdiel od Windows Mobile mierený na bežných používateľov uvedený na trh na jeseň 2010. Windows Phone 7 beží rovnako ako Windows Mobile na jadre Windows CE. Jeho hlavnými charakteristikami sú Metro UI, nové mobilné zariadenia a Windows Phone Marketplace.

Metro UI

Metro UI je nový dizajnový jazyk od Microsoftu. Ako už názov napovedá, je inšpirovaný informačnými ceduľami zo staníc metra a letiskových terminálov. Zakladá si na prehľadnosti, jednoduchosti a typografii. Najdôležitejší prvok tohto dizajnového jazyka je typografia doplnená o jednoduché farby a štvorcové rohy. Ikonky a celkovo obrázky slúžia len na doplnenie textu a nehrajú hlavnú úlohu ako na iných platformách. Slúžia prevažne na uľahčenie navigácie používateľa.

Windows Phone 7 zariadenia

V prístupe k zariadeniam zvolil Microsoft v podstate strednú cestu medzi prístupmi Apple a Google. Neexistuje jediný výhradný výrobca, ktorý by Windows Phone 7 zariadenia vyrábal, ale zároveň ich nemôže vyrábať úplne ktokoľvek. Všetky zariadenia musia spĺňať nasledujúce minimálne požiadavky, aby bol zabezpečený dobrý používateľský zážitok:

Multi-touch displej s uhlopriečkou 3.6“, rozlíšením 480×800 schopný rozpoznať 4 súčasné dotyky

  • 1 GHz CPU
  • 512 MB RAM
  • 8 GB diskového priestoru
  • WiFi, akcelerometer, fotoaparát…
  • 3 hardvérové tlačidlá (back, start, search)

V súčasnosti sa dostávajú na trh aj tzv. low-end zariadenia (napríklad Nokia Lumia 610), pri ktorých sú tieto požiadavky nižšie, a to 800 Mhz CPU, 256 MB RAM a 4 GB diskového priestoru.

Windows Phone Marketplace

Spolu s Windows Phone 7 Microsoft uviedol aj Windows Phone Marketplace ako jediný spôsob získavania aplikácií na tejto platforme. Používatelia tak majú jednoduchý a rýchly spôsob sťahovania a nakupovania aplikácií ako na ostatných platformách.

Pre vývojárov znamená Windows Phone Marketplace nutnosť registrácie a zaplatenia poplatku $99 na rok. Študenti žiadne poplatky neplatia. Na jeden vývojársky účet je možné publikovať neobmedzené množstvo platených aplikácií a odomknúť 3 zariadenia. S bezplatnými aplikáciami je to trochu komplikovanejšie, každý vývojár ma na rok 100 tokenov.  Každý submit bezplatnej aplikácie stojí 1 token, a to vrátane aktualizácií danej aplikácie. Predajom aplikácie vývojár získava 70% z jej ceny.

Windows Phone Marketplace umožňuje aplikáciám implementovať trial mód. Ako ho aplikácia implementuje je čisto na autorovi, ktorý má prostredníctvom API informáciu o tom, či je aplikácia zakúpená alebo beží v trial móde. Zaujímavosťou je tzv. private beta program. V private beta je možné submitnúť aplikáciu a určiť až 100 testerov (zadaním  ich Live ID). Títo testeri získajú prístup k aplikácií priamo cez Marketplace v telefóne a môžu ju testovať a hodnotiť.  Nikto okrem nich však aplikáciu neuvidí a nezíska k nej prístup.

Základné UI prvky

Dominantnými UI prvkami platformy Windows Phone 7 sú pivot, panorama a live tiles. Práve live tiles sú tým, čím sa Windows Phone 7 najviac odlišuje od iných mobilných platform. Live tiles sú ikony aplikácií na hlavne obrazovke, ktoré sú interaktívne. Každá live tile má dve strany; prednú a zadnú, ktoré môžu obsahovať obrázok, text a číslo. Emailová aplikácia môže pomocou live tile ukazovať počet neprečítaných emailov alebo vďaka live tile aplikácie s počasím vidíte aktuálnu teplotu priamo na hlavnej obrazovke bez toho, aby ste museli aplikáciu spúšťať.  Live tiles môžu byť updatované priamo z aplikácie, push notifikáciou alebo pomocou periodického agenta.

Push notifikácie

Windows Phone 7 podporuje tri druhy push notifikácií, a to toast, tile a raw. Toast notifikácia zobrazí upozornenie na vrchu obrazovky s definovaným názvom a textom obmedzenej dĺžky. Po kliknutí na toto upozornenie je používateľ presmerovaný do aplikácie (voliteľne s parametrom). Ak aplikácia beží, upozornenie sa nezobrazí, ale je možné push notifikáciu reagovať v kóde. Tile notifikácia slúži na update obsahu live tile, je  v nej možné predefinovať všetky jej vizuálne vlastnosti. Raw notifikácia umožňuje poslať aplikácii ľubovoľné dáta. Podmienkou je spustená aplikácia, inak je celá push notifikácia zahodená.

Princíp fungovnia push notifikácií je celkom jednoduchý. Základom je služba Microsoft Push Notificiation Service (MPNS). Zariadenie sa najprv zaregistruje u MPNS a dostane identifikátor komunikačného kanálu (ChannerlUri). Tento identifikátor následne poskytne vášmu serveru, z ktorého budete push notifikácie posielať. Ak chce následne váš server odoslať notifikáciu na zariadenie, odošle ju na MPNS so získaným identifikátorom a MPNS sa postará o doručenie push notifikácie na zariadenie.

Periodické agenty

Windows Phone 7 nepodporuje klasický multitasking, umožňuje však beh kódu na pozadí za špeciálnych podmienok v rámci tzv. periodických agentov. Základný periodic agent je spúšťaný každých približne 30 minút, resource intensive agent je spúšťaný iba ak je zariadenie pripojené na napájanie a WiFi a môže spotrebovať viac pamäti a bežať dlhšie. Ani jeden z týchto periodických agentov však nie je dostupný na tzv. low-end zariadeniach, tam je dostupný len audio agent, ktorý umožňuje prehrávanie audia aj keď aplikácia práve nebeží.

Launchers a choosers

Všetky Windows Phone 7 aplikácie bežia v sanboxe a majú obmedzené možnosti interakcie so systémom a inými aplikáciami. Jediným spôsobom, ako sa zo sandboxu aplikácie dostať je použitie predpripravených komponent označovaných ako launchers a choosers. Rozdiel medzi launcherom a chooserom je v tom, že launcher po spustení neposkytuje žiadnu odpoveď. Launcher je možné použiť napríklad na otvorenie prehliadača s nejakou URL (neočakáva sa žiadna odpoveď) a chooser napríklad na výber kontaktu z adresára.

Životný cyklus aplikácie

Ako už bolo spomínané, Windows Phone 7 nepodporuje klasický multitasking, podporuje však tzv. fast app switching. Ak používateľ spustí aplikáciu, aplikácia sa dostane do stavu running, je teda umiestnená v pamäti a beží. Ak sa používateľ prepne do inej aplikácie alebo na hlavnú obrazovku, aplikácia je zo stavu running presunutá do stavu dormant. Ostáva v pamäti ale všetky jej vlákna sa zastavia, nebeží. Ak sa používateľ prepne späť do aplikácie, ktorá je v stave dormant, jej vlákna sú znovu rozbehnuté a aplikácia pokračuje v behu tam, kde skončila. 

Ak systému začnú dochádzať prostriedky (je spustené veľké množstvo aplikácií), môže presunúť aplikáciu zo stavu dormant do stavu tombstoned. Stavové informácie aplikácie sú uložené a aplikácie je odstránená z pamäte. Ak sa používateľ prepne naspäť do aplikácie, ktorá je v stave tombstoned, tá je znovu spustená s použitím uložených stavových informácií. Je na programátorovi, aby obnovil dáta do stavu, v ktorom bola aplikácie pred jej opustením používateľom.

Vývojové nástroje

Vývoj pre Windows Phone 7 prebieha na platforme .NET a je možné programovať v jazykoch C# a Visual Basic. Vývoje je možné rozdeliť na dve vetvi, a to vývoj klasických aplikácií v upravenej verzii Silverlightu a vývoj hier v XNA. Oba tieto prístupy je možné kombinovať a vytvoriť tak napríklad hru so Silverlight menu. Výhodou XNA je väčší prístup k hardvéru a vyšší výkon pri vykresľovaní grafiky, preto sa hodí práve na hry.

Čo sa týka vývojových nástrojov, na programovanie sa používa Visual Studio 2010, ktoré existuje aj v bezplatnej verzii Express for Windows Phone. Bezplatnú verziu je možné plnohodnotne používať na vývoj Windows Phone 7 aplikácií, a to aj na komerčné účely. Visual Studio obsahuje vizuálny dizajnér, na návrh UI sa však viac hodí Expression Blend 4, ktorý má tiež bezplatnú Express verziu s rovnakými podmienkami ako Visual Studio.

Keďže celé UI je vytváraná v XAML (XML jazyk na zápis UI), je možné, aby ho vytvoril dizajnér v Expression Blende a funkcionalitu v podobe kódu doplnil programátor vo Visual Studiu. Ďalšou prednosťou platformy Windows Phone 7 je rýchly vývoj aplikácií, daný hlavne Metro UI a spomínanými kvalitnými vývojovými nástrojmi.

Ďalšie informácie

Autor je absolventom softvérového inžinierstva na Univerzite Karlovej v Prahe, pracuje ako Windows Azure a Windows Phone vývojár v Inmite, občas publikuje a prednáša.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 10

Přehled komentářů

mekele Jsa zmaten
blizz Re: Úvod do platformy Windows Phone 7
Aleš Roubíček Re: Úvod do platformy Windows Phone 7
igorkulman Re: Úvod do platformy Windows Phone 7
marek Re: Úvod do platformy Windows Phone 7
igorkulman Re: Úvod do platformy Windows Phone 7
mp Re: Úvod do platformy Windows Phone 7
Honza77 Umela omezeni
Necroman Re: Umela omezeni
čibes C# výstup dekódování QR kódu požít v klauzuli WHERE SQL dotazu na nelokální DB
Zdroj: https://www.zdrojak.cz/?p=3685