![Page 1: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/1.jpg)
Windows PhoneApp Developmentfrom Z to A
26/04/2012
@WiPhug
![Page 2: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/2.jpg)
• sharing is caring• developers for developers
26/04/2012
about WiPhug
@depechie @johanpeters @modul8com @nicovermeir @bartlannoeye @goofys_friend @miscoriadennis
![Page 3: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/3.jpg)
26/04/2012
thank you sponsors
![Page 4: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/4.jpg)
26/04/2012
community request• Belgian Apps• are a Windows Phone developer ?• can’t find your app in this app ?• mail your ApplicationId to :
![Page 5: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/5.jpg)
speakers of today
26/04/2012
Bart Lannoeye@bartlannoeye
Glenn Versweyveld@depechie
Michael Bruyninckx@modul8com
tweet#wiphug
![Page 6: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/6.jpg)
Marketplace submission processMVVMLight 4.0MS SQL Server CEAgFxCimbalinoHubTilesJeffWilcox.Maps & Bing Mapsmtiks for Windows Phone
agenda
26/04/2012
![Page 7: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/7.jpg)
Marketplace submission
submit a new app
download statisticsdaily vs total
status ongoing
submissions
26/04/2012
![Page 8: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/8.jpg)
Marketplace submissionupload page
give your app a nameselect XAPselect if it’s a beta or notgive a version number
beta submission
give your app to max 50 testers and let them evaluate it during max 90 days26/04/20
12
![Page 9: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/9.jpg)
Marketplace submissiondescribe your App
the xap is uploaded and analyzed
in case of multi language support, several “detail pages” have to be filled out, short description, detailed description, keywords, even artwork and screenshots, etc. – a lot of work!
add multi language support directly in project file<project name>.csproj
<SupportedCultures>nl,fr,de,en</SupportedCultures>
26/04/2012
![Page 10: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/10.jpg)
Marketplace submission
set your priceand select the availability per country
26/04/2012
![Page 11: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/11.jpg)
Marketplace submissiontest information
the most important setting of the publishing process, i.e. “the publish options”
26/04/2012
![Page 12: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/12.jpg)
Approval process = +- 5 working daysIf rejected, perfect explanation why• pdf document that details problems• step by step reproduction of problem
Test your app with the Marketplace Test kit
Marketplace submission
Bart Demo26/04/2012
![Page 13: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/13.jpg)
what is MVVM ?• architectural design pattern• targeted to modern UI development
• Windows Presentation Foundation (WPF)• Silverlight• Windows Phone• HTML5 (KnockOut.js for example)• Windows 8
MVVMLight 4.0
26/04/2012
![Page 14: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/14.jpg)
why MVVM ?• collaboration (designers and developers)• maintainability
• model never changes when view changes• viewmodel rarely changes when view changes• code is easier to find
• flexible UI changes• separation of concerns
• single responsibility
• unit testability• reusability of components
MVVMLight 4.0
26/04/2012
![Page 15: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/15.jpg)
MVVM’s how ?• INotifyPropertyChanged• bindings• commanding
MVVMLight 4.0
26/04/2012
![Page 16: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/16.jpg)
the Model• as good as all possible data sources• expose data as collections• one Model can serve several ViewModels• use Interfaces to provide data
• allows database mocking• Eliminate tight coupling of services with
Model
MVVMLight 4.0
26/04/2012
![Page 17: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/17.jpg)
the View• represent the user interface• contains no testable logic• keep as simple as possible
• designers playground
MVVMLight 4.0
26/04/2012
![Page 18: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/18.jpg)
the ViewModel• abstraction of the view• glue between view and model• keeps the View’s state
MVVMLight 4.0
26/04/2012
![Page 19: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/19.jpg)
why MVVMLight 4.0 ?• developed by Laurent Bugnion (MVP)• same framework for Silverlight, WPF,
Windows Phone 7 and Windows 8• emphasis on “blend-ability”• easy to learn, lots of examples online
MVVMLight 4.0
26/04/2012
![Page 20: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/20.jpg)
How does it work ?• uses a locator pattern via ViewModelLocator• uses ICommand for Commanding
• bind with Buttons• bind with Event Triggers for Events
• Or with MVVM Light RelayCommands
• uses Event Aggregator / mediator / messenger• ViewModels communicate with each other
MVVMLight 4.0
Glenn Demo26/04/2012
![Page 21: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/21.jpg)
• build in database support since WP 7.5
• database SQL Server CE (.sdf file)• uses isolated storage• DB server runs only when app is
active • code first approach• Linq to SQL to query
MS SQL Server CE
26/04/2012
![Page 22: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/22.jpg)
create POCO’s• classes = tables • properties = columns (& indexes)• create associations between tables
create DataContext classes• expose tables
MS SQL Server CE
Bart Demo26/04/2012
![Page 23: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/23.jpg)
what is it ?• framework for fetching and caching
data• keeps the work off the UI thread• optimizes network usage
• automatically determines if cache is valid
• MVVM support
AgFx
26/04/2012
![Page 24: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/24.jpg)
how ?• describe how to fetch data• tell it how to deserialize that data• say when the data expires, so fresh
data can be fetched
• then all the rest happens automagically
AgFx
Glenn Demo26/04/2012
![Page 25: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/25.jpg)
what is it ?a set of useful and powerful elements:
• an ApplicationBar behaviour to make it bindable• MVVM navigation service• MVVM compatible services for camera access• and a few other sevices• converters, helper classes and extension
methods
Cimbalino
26/04/2012
![Page 26: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/26.jpg)
how ?• NavigationService
• constructor injects the NavigationService in your ViewModels
• ApplicationBar Behaviour• add a namespace reference in XAML to
Cimbalino.Phone.Toolkit.Behaviors
Cimbalino
Glenn Demo26/04/2012
![Page 27: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/27.jpg)
what is it ?• in-app ‘live tiles’• makes the app more vivid• control available in the Silverlight Toolkit for WP
HubTiles
26/04/2012 Bart Demo
![Page 28: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/28.jpg)
how to use the map ?• register at http://www.bingmapsportal.com
• use your Windows (Live) Account
• generate a “mobile” key• 1 key for all your mobile apps !
• use key in app• BingMaps Control : CredentialsProvider
property• JeffWilcox.Maps : Application.Resources
Bing Maps
26/04/2012
![Page 29: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/29.jpg)
what is it ?• performance optimisation• image button• image = Bing or Google Map • only 1 – non templated pushpin• click event shows Bing Maps• Bing Maps key via Application.Resources
JeffWilcox.Maps
Glenn Demo26/04/2012
![Page 30: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/30.jpg)
allows analyticsreal time app usage statistics
anti piracy protection
super easy implementation
mtiks for Windows Phone
26/04/2012
![Page 31: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/31.jpg)
mtiks for Windows Phone
26/04/2012
![Page 32: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/32.jpg)
mtiks for Windows Phone
26/04/2012
![Page 33: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/33.jpg)
mtiks for Windows Phone
26/04/2012
![Page 34: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/34.jpg)
mtiks for Windows Phone
26/04/2012
![Page 35: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/35.jpg)
mtiks for Windows Phone
Microsoft Marketplace+ out of box - delay 1 week
Distimo+ rich data- 3 to 4 days delay
Flurry+ fast results- incorrect results
Google Analytics+ feature rich- lots of code
why mtiks and not another ?
26/04/2012
![Page 36: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/36.jpg)
mtiks for Windows Phonehow to implement ?
1. register at http://www.mtiks.com/signup
2. nuget mtiksor download SDK = zip containing a DLL and reference it
3. in App.XAMLusing System.Reflection;
using com.mtiks.winmobile;
4. in Application_Launching and Application_Activatedmtiks.Instance.Start(“YourKey", Assembly.GetExecutingAssembly());
5. In Application_Deactivated and Application_Closingmtiks.Instance.Stop();
Bart Demo26/04/2012
![Page 37: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/37.jpg)
mtiks for Windows Phone
anti piracy ?protection against illegal downloads
how ?- silent piracy tracking- automatic message box
Demo26/04/2012
![Page 38: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/38.jpg)
MVVMLight• http://mvvmlight.codeplex.com/releases• http://nuget.org/packages/MvvmLightPreview
AgFx• http://agfx.codeplex.com/• http://nuget.org/packages/AgFx
Cimbalino• https://github.com/PedroLamas/Cimbalino-Phone-Toolkit• http://nuget.org/packages/Cimbalino.Phone.Toolkit
used tools
26/04/2012
![Page 39: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/39.jpg)
JeffWilcox.Maps• http://www.jeff.wilcox.name/2012/01/jeffwilcox-maps/• https://github.com/jeffwilcox/wp-maps• http://nuget.org/packages/JeffWilcox.Maps
mtiks• http://www.mtiks.com • http://nuget.org/packages/mtiks
SQL Compact Edition• http://www.microsoft.com/download/en/details.aspx?id=17876
used tools
26/04/2012
![Page 40: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/40.jpg)
more planned in november & december !
planned events
26/04/2012
24/05 Advanced data access strategiesKevin Dockx
21/06 Community Day
June 3 speakers, 3 sessions
20/09 MVVMLight & Bing MapsJoost Van Schaik (MVP NL)
25/10 Application lifecycle, isolated Storage & local databaseKevin Dockx
![Page 41: Wi phug windows phone development from z to a](https://reader034.vdocument.in/reader034/viewer/2022052621/5587900dd8b42a365d8b46fb/html5/thumbnails/41.jpg)
?q & a
26/04/2012