pátek 3. prosince 2010

Vývoj pro WP7 - seminář

Tento týden jsem se zúčastnil semináře o vývoji aplikací pro Windows Phone 7. Chvilku jsem musel všechny ty informace vstřebat, protože prvotní reakce na některé věci byly u mě dost infarktové ;-) Nejvíc mě dostalo prohlášení od člověka z Microsoftu, když říkal jak je česká pobočka brána v potaz v centrále. Hned jsem si připadal jak člověk s kyjem žijící v jeskyni... škoda mluvit.
Během celého semináře bylo dost často slyšet, jak jsou jednotlivé možnosti inspirované ostatními platformami (iPhone, Android). Neříkám, že je to špatně, ale je to dobře? Např. taková nemožnost multitaskingu pro 3.stranu alá iPhone (dřívější verze) mi přijde dost zcestná a doufám, že to chlapci v Microsoftu přehodnotí. I když se přednášející snažil nás přesvědčit, jak se mu tento přístup líbí, jelikož prý jeho HD2 se často jen tak zamyslí a nic se na něm nedá dělat. Tento stav údajně způsobují aplikace na pozadí, které si žijí svým životem. Jenže jako příklad takovéto aplikace použil klienta pro MS Office Communicator, což je aplikace od Microsoftu. Zvláštní, že by Microsoft neuměl udělat správnou aplikaci pro WM :-D Já bych problém hledal spíš v kvalitě aplikace než v architektuře systému.
Každopádně na mě momentální verze Windows Phone 7 působí jako drahé zařízení s nadupaným HW, které však slouží jen jako terminál pro webové a cloudové aplikace. Toto jen podtrhuje neexistence MS SQL Compact, i když údajně tato databáze je uvnitř systému použita.

Co se mi líbilo
Vývoj je prakticky stejný jako vývoj kterékoliv Silverlight aplikace. Na jednu stranu jednoduché, ale na druhou i omezující.
Už vím, proč některé aplikace po návratu zachovají svůj předchozí obsah a některé ne. Samozřejmě je to opět o vývojářích. V této verzi OS je na vývojáři, jestli uloží aktuální stav aplikace při přechodu na jinou aplikaci a při návratu zase vrátí aplikaci do původního stavu. Existují na to události (OnActivate, OnDeactivate), ve kterých lze stav aplikace uložit buď do paměti a nebo do IsolatedStorage. Výhoda druhého je v persistentním uložení i pro další spuštění aplikace.
Líbí se mi ovládací prvky Pivot a Panorama, které jsou použity v hubech, sice vypadají dost podobně, ale mají trochu jinou logiku použití.

Co nelíbilo
To hlavní je nemožnost ukládání dat do nějaké databáze. V tuto chvíli je jediná možnost, pro persistentní uložení dat, IsolatedStorage, které lze nastavit buď do režimu ukládání key/value nebo file system, kdy lze ukládat xml soubory. No a pak samozřejmě kamkoli mimo WP7.
Momentálně nelze vytvářet záznamy pro jiné aplikace bez toho, aniž by tato aplikace byla spuštěna. Např. potřebuji vytvořit nový úkol automaticky, ale to nejde. Musím zavolat aplikaci, která slouží pro úkoly, a té tyto informace předat. Uživatel pak musí tento záznam uložit sám. Argumenty, že je to tak bezpečnější, neberu. Každopádně je to uživatelsky méně přívětivé. Jelikož uživatel musí stejně při instalaci aplikace souhlasit s tím, že aplikace bude využívat další služby (alá Android).

Ještě k systémovým službám
Údajně jsou nyní 2 možnosti, jak může aplikace v pravidelných intervalech provádět nějakou činnost:
1) aplikace musí být uživatelem vytažena na hlavní obrazovku jako Live Tile a pak může provádět v určité časové periodě něco. Existuje tu ale několik omezení ohledně max. času zpracování a reakce.
2) pomocí push notifikací, které jsou ale taky omezené

Seminář byl velmi povedený, dozvěděl jsem se na něm spousty zajímavých informací. Nejdůležitější byla ta, že zatím čeští vývojáři nemají možnost aplikace umisťovat na market a ani jim Microsoft neumožní odblokovat telefon pro vývoj. Takže nezbývá než čekat, prý do léta příštího roku, kdy by mohl být market vývojářům zpřístupněn. Snad bude pak i přístupný uživatelům v ČR.
Takže uvidíme...

Žádné komentáře:

Okomentovat