Wi phug windows phone development from z to a

633 views

Published on

The kickoff presentation of our Belgian Windows Phone User Group

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
633
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • eervollevernoemingCronos
  • eervollevernoemingCronos
  • Project -> Open Marketplace Test Kit
  • Model
  • Demo
  • Wi phug windows phone development from z to a

    1. 1. @WiPhug Windows Phone App Development from Z to A26/04/2012
    2. 2. about WiPhug • sharing is caring • developers for developers @depechie @johanpeters @modul8com @nicovermeir @bartlannoeye @goofys_friend @miscoriadennis26/04/2012
    3. 3. thank you sponsors26/04/2012
    4. 4. community request • Belgian Apps • are a Windows Phone developer ? • can‟t find your app in this app ? • mail your ApplicationId to : johan.p@live.be26/04/2012
    5. 5. speakers of today Michael Bruyninckx @modul8com Bart Lannoeye @bartlannoeye Glenn Versweyveld tweet @depechie #wiphug26/04/2012
    6. 6. agenda Marketplace submission process MVVMLight 4.0 MS SQL Server CE AgFx Cimbalino HubTiles JeffWilcox.Maps & Bing Maps mtiks for Windows Phone26/04/2012
    7. 7. Marketplace submission submit a new app status ongoing submissions download statistics daily vs total26/04/2012
    8. 8. Marketplace submission upload page give your app a name select XAP select if it‟s a beta or not give a version number beta submission give your app to max 50 testers and let them evaluate it during max 90 days26/04/2012
    9. 9. Marketplace submission describe 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
    10. 10. Marketplace submission set your price and select the availability per country26/04/2012
    11. 11. Marketplace submission test information the most important setting of the publishing process, i.e. “the publish options”26/04/2012
    12. 12. Marketplace submission Approval process = +- 5 working days If rejected, perfect explanation why • pdf document that details problems • step by step reproduction of problem Test your app with the Marketplace Test kit26/04/2012 Bart Demo
    13. 13. MVVMLight 4.0 what is MVVM ? • architectural design pattern • targeted to modern UI development • Windows Presentation Foundation (WPF) • Silverlight • Windows Phone • HTML5 (KnockOut.js for example) • Windows 826/04/2012
    14. 14. MVVMLight 4.0 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 components26/04/2012
    15. 15. MVVMLight 4.0 MVVM’s how ? • INotifyPropertyChanged • bindings • commanding26/04/2012
    16. 16. MVVMLight 4.0 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 Model26/04/2012
    17. 17. MVVMLight 4.0 the View • represent the user interface • contains no testable logic • keep as simple as possible • designers playground26/04/2012
    18. 18. MVVMLight 4.0 the ViewModel • abstraction of the view • glue between view and model • keeps the View‟s state26/04/2012
    19. 19. MVVMLight 4.0 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 online26/04/2012
    20. 20. MVVMLight 4.0 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 other26/04/2012 Glenn Demo
    21. 21. MS SQL Server CE • 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 query26/04/2012
    22. 22. MS SQL Server CE create POCO‟s • classes = tables • properties = columns (& indexes) • create associations between tables create DataContext classes • expose tables26/04/2012 Bart Demo
    23. 23. AgFx 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 support26/04/2012
    24. 24. AgFx 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 automagically26/04/2012 Glenn Demo
    25. 25. Cimbalino 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 methods26/04/2012
    26. 26. Cimbalino how ? • NavigationService • constructor injects the NavigationService in your ViewModels • ApplicationBar Behaviour • add a namespace reference in XAML to Cimbalino.Phone.Toolkit.Behaviors26/04/2012 Glenn Demo
    27. 27. HubTiles what is it ? • in-app „live tiles‟ • makes the app more vivid • control available in the Silverlight Toolkit for WP26/04/2012 Bart Demo
    28. 28. Bing Maps 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.Resources26/04/2012
    29. 29. JeffWilcox.Maps 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.Resources26/04/2012 Glenn Demo
    30. 30. mtiks for Windows Phone allows analytics real time app usage statistics anti piracy protection super easy implementation26/04/2012
    31. 31. mtiks for Windows Phone26/04/2012
    32. 32. mtiks for Windows Phone26/04/2012
    33. 33. mtiks for Windows Phone26/04/2012
    34. 34. mtiks for Windows Phone26/04/2012
    35. 35. mtiks for Windows Phone why mtiks and not another ? Microsoft Marketplace Flurry + out of box + fast results - delay 1 week - incorrect results Distimo Google Analytics + rich data + feature rich - 3 to 4 days delay - lots of code26/04/2012
    36. 36. mtiks for Windows Phone how to implement ? 1. register at http://www.mtiks.com/signup 2. nuget mtiks or download SDK = zip containing a DLL and reference it 3. in App.XAML using System.Reflection; using com.mtiks.winmobile; 4. in Application_Launching and Application_Activated mtiks.Instance.Start(“YourKey", Assembly.GetExecutingAssembly()); 5. In Application_Deactivated and Application_Closing mtiks.Instance.Stop();26/04/2012 Bart Demo
    37. 37. mtiks for Windows Phone anti piracy ? protection against illegal downloads how ? - silent piracy tracking - automatic message box26/04/2012 Demo
    38. 38. used tools 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.Toolkit26/04/2012
    39. 39. used tools 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=1787626/04/2012
    40. 40. planned events 24/05 Advanced data access strategies Kevin Dockx 21/06 Community Day June 3 speakers, 3 sessions 20/09 MVVMLight & Bing Maps Joost Van Schaik (MVP NL) 25/10 Application lifecycle, isolated Storage & local database Kevin Dockx more planned in november & december !26/04/2012
    41. 41. q&a26/04/2012

    ×