Download - Strasti a slasti vývoje wp7 aplikací
![Page 1: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/1.jpg)
STRASTI A SLASTI VÝVOJE WP7 APLIKACÍ. I MANGO CHUTNÁ HOŘKOSLADCE.
René Steinhttp://blog.renestein.nethttp://www.twitter.com/renestein
![Page 2: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/2.jpg)
Windows Phone 7 Mango
Ať teď budu říkat cokoli, vězte, že technologie Microsoftu mám rád.
…Ale každý vztah projde krizí.
![Page 3: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/3.jpg)
Jak nejlépe popsat Windows Phone 7? Windows Phone 7 jsou
jako vstupenka do luxusně vybaveného exkluzivního bordelu, kterou jste zakoupili na podřadném slevovém serveru, a teprve na místě jste zjistili, že služby vám poskytne jen vrátný nebo tlustá kuchařka (ta ale až po výronu releasu Mango).
![Page 4: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/4.jpg)
Windows Phone 7
Je něco, co vám při vývoji ve Windows Phone chybí?
Silverlight/XNA Windows Phone 7 nahrazují Compact .Net Framework ve WM. Nahrazují?
Já jsem si vždy myslel, že slovo pokrok (i COOL pokrok plný nadšených dlaždic s rozkošnými animacemi všude, kam se podíváte) znamená pro vývojáře progres , a ne v mnoha případech regres…
![Page 5: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/5.jpg)
Dlaždice ve Windows Phone 7 si vývojář zamiluje
![Page 6: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/6.jpg)
Bajka o nativním kódu a důslednosti Microsoftu Microsoft nedovoluje programovat
aplikace nativním kódu. Náročné hry Rychlé portování jádra navigace na WP7
Na konferenci Build se ale mluví o renesanci C++ a nativního kódu na desktopu, přesto na WP je vývojářům nativní kód upírán.
![Page 7: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/7.jpg)
Nativní kód nepotřebujeme - SygicZdroj: http://www.pocketgpsworld.com/
Sygic-Mobile-Maps-Becomes-Aura-and-loses-POI-support-8645.php
![Page 8: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/8.jpg)
Nativní kód nikdo ve WP nepožaduje - TomTom
Zdroj: http://wmpoweruser.com/ifa-2011-tomtom-for-windows-phone-7/
![Page 9: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/9.jpg)
![Page 10: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/10.jpg)
Velký útěk z „managed kódu“ do nativního kódu
• COM Bridge•Zpět k Windows CE
•Ale do market place nám potom nelez….
![Page 11: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/11.jpg)
Jedno z pravidel vývoje na WP7 Dostanete nápad na skvělou aplikaci,
Uživatelé by z aplikace hýkali nadšením, jste si jisti UI máte rozmyšleno Řvete „startup“ i ze spaní Píšete si tiskové zprávy „nanečisto“ Bankovní konto připraveno na nadstandardní
příjem
…A poté zjistíte, že není k dispozici potřebné API
![Page 12: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/12.jpg)
API pro zjištění detailního stavu baterie
WP7 nám nabízí jen tohle volání:
PowerSource.Text = DeviceStatus.PowerSource.ToString();
![Page 13: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/13.jpg)
Hlas lidu vývojářského…
Zdroj: http://forums.create.msdn.com/forums/p/75863/542348.aspx
Also there are many completely useless apps in Marketplace (countless converters, "flashlights", calculators and other BS), so what? Streaming video player, unfortunately, "eating" battery too quickly. MS didn't provide a good system status bar with info (which can be displayed as overlay on top in landscape mode, semitransparent etc.), just an ugly hardcoded portrait mode status bar, what ruins the full screen layout! But if you in full screen mode, and watching a long movie, it's very important to know how much battery you have (for example, you've expecting an important call). I'm telling that from my own experience from my own working solution, not from usual forum's blah-blah-blah...
![Page 14: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/14.jpg)
Jak je na tom Android?•Gauge Battery Widget
•Autor: Tomáš Hubálek
https://market.android.com/details?id=net.hubalek.android.gaugebattwidget
![Page 15: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/15.jpg)
API pro práci s WIFI
![Page 16: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/16.jpg)
Co nám nabízejí WP7?
ConnectionSettingsTask connectionSettingsTask = new ConnectionSettingsTask();
connectionSettingsTask.ConnectionSettingsType = ConnectionSettingsType.WiFi;
connectionSettingsTask.Show();
![Page 17: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/17.jpg)
API pro práci s bluetooth – hlas lidu
Zdroj: http://forums.create.msdn.com/forums/t/77644.aspx
Zdroj: http://stackoverflow.com/questions/6067669/api-to-support-bluetooth-in-mango
![Page 18: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/18.jpg)
Co umí Windows CE? Winsock Extensions socket (Bluetooth) bind (Bluetooth) getsockname (Bluetooth) getpeername (Bluetooth) connect (Bluetooth) accept (Bluetooth) getsockopt (Bluetooth) setsockopt (Bluetooth) ……
![Page 19: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/19.jpg)
Služby, které se spustí po startu počítače?
PeriodicTask periodicTask = new PeriodicTask(„MyAppTask");
periodicTask.Description = „Moje služba";periodicTask.ExpirationTime = DateTime.Now.AddDays(10);
if (ScheduledActionService.Find(periodicTask.Name) != null){ StopBackgroundTask();}
ScheduledActionService.Add(periodicTask);
![Page 20: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/20.jpg)
Databáze a Linq2Sql
![Page 21: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/21.jpg)
Výběr dalších věcí, na které můžete zapomenout RIL TAPI RAPI Multitasking
![Page 22: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/22.jpg)
A existující API – chyby jsou všude, ale:
Když vám přestane skrolovat listbox, máte přiliš složitý layout stránky.
AdControl shodí aplikacihttp://community.microsoftadvertising.com/forums/p/70419/103698.aspx
Ukázka nepříjemného API – WebBrowser.NavigateToString(html)
![Page 23: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/23.jpg)
Tipnete si, co dělá tento kód?
![Page 24: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/24.jpg)
Sdílení kódu mezi Silverlightem, WP7.x a NF? Sdílení soborů přes Add as link v
samostatných projektech pro každou platformu
#if !SILVERLIGHT #if WP #if !WP #if SILVERLIGHT
![Page 25: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/25.jpg)
#if SILVERLIGHT
using System.Threading;using System.Windows;using System.Windows.Threading;
namespace RStein.Posterous.API{ public static class SilverlightSpecificHelper { public static bool IsUiThread() { return Deployment.Current.CheckAccess(); } } }#endif
![Page 26: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/26.jpg)
Ukázka třídy WebRequest – pouze asynchronní volání v Silverlightu a WP7!
![Page 27: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/27.jpg)
Abych jen nepomlouval-ve WP7 je dostupný RX Framework
![Page 28: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/28.jpg)
RX Framework v akci
![Page 29: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/29.jpg)
ELOPOCALYPSE NOW?
![Page 30: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/30.jpg)
![Page 31: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/31.jpg)
![Page 32: Strasti a slasti vývoje wp7 aplikací](https://reader036.vdocuments.net/reader036/viewer/2022062513/557034a1d8b42a611e8b4a31/html5/thumbnails/32.jpg)
DOTAZY?A MOŽNÁ ODPOVĚDI?
René Stein
Vývoj aplikací, veřejné a inhouse kurzyhttp://www.renestein.net/nabidka.aspxhttp://blog.renestein.nethttp://www.twitter.com/renestein