Wi phug windows phone development from z to a

@WiPhug


            Windows Phone
            App Development
            from Z to A

26/04/201
2
about WiPhug
                • sharing is caring
                • developers for developers


    @depechie   @johanpeters   @modul8com   @nicovermeir   @bartlannoeye   @goofys_friend   @miscoriadennis




26/04/201
2
thank you sponsors




26/04/201
2
community request
            • Belgian Apps
              • are a Windows Phone developer ?
              • can‟t find your app in this app ?
              • mail your ApplicationId to :


                       johan.p@live.be
26/04/201
2
speakers of today
                Michael Bruyninckx
                @modul8com


                Bart Lannoeye
                @bartlannoeye


                Glenn Versweyveld      tweet
                @depechie            #wiphug
26/04/201
2
agenda
            Marketplace submission process
            MVVMLight 4.0
            MS SQL Server CE
            AgFx
            Cimbalino
            HubTiles
            JeffWilcox.Maps & Bing Maps
            mtiks for Windows Phone
26/04/201
2
Marketplace submission

                               submit a new app


                               status ongoing
                                submissions

    download statistics
    daily vs total




26/04/201
2
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
                            days
26/04/201
2
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/201
2
Marketplace submission



                         set your price
                         and select the availability per country




26/04/201
2
Marketplace submission
                        test information

                        the most important setting of the
                        publishing process, i.e. “the publish
                        options”




26/04/201
2
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 kit

26/04/201
2                                Bart Demo
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 8

26/04/201
2
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 components

26/04/201
2
MVVMLight 4.0
            MVVM’s how ?
              • INotifyPropertyChanged
              • bindings
              • commanding




26/04/201
2
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 Model

26/04/201
2
MVVMLight 4.0
            the View
            • represent the user interface
            • contains no testable logic
            • keep as simple as possible

            • designers playground

26/04/201
2
MVVMLight 4.0
            the ViewModel
            • abstraction of the view
            • glue between view and model
            • keeps the View‟s state




26/04/201
2
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 online

26/04/201
2
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 other
26/04/201
2                                          Glenn Demo
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 query

26/04/201
2
MS SQL Server CE

            create POCO‟s
              • classes = tables
              • properties = columns (& indexes)
              • create associations between tables
            create DataContext classes
              • expose tables
26/04/201
2                                 Bart Demo
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 support


26/04/201
2
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 automagically
26/04/201
2                                Glenn Demo
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 methods

26/04/201
2
Cimbalino
            how ?
            •   NavigationService
                •   constructor injects the NavigationService in your
                    ViewModels
            •   ApplicationBar Behaviour
                •   add a namespace reference in XAML to
                    Cimbalino.Phone.Toolkit.Behaviors



26/04/201
2                                         Glenn Demo
HubTiles
            what is it ?
            •   in-app „live tiles‟
            •   makes the app more vivid
            •   control available in the Silverlight Toolkit for WP




26/04/201
2                                           Bart Demo
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.Resources
26/04/201
2
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.Resources
26/04/201
2                               Glenn Demo
mtiks for Windows Phone
            allows analytics
                   real time app usage statistics
            anti piracy protection



            super easy implementation

26/04/201
2
mtiks for Windows Phone




26/04/201
2
mtiks for Windows Phone




26/04/201
2
mtiks for Windows Phone




26/04/201
2
mtiks for Windows Phone




26/04/201
2
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 code
26/04/201
2
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/201
2                                             Bart Demo
mtiks for Windows Phone
            anti piracy ?
            protection against illegal downloads

            how ?
            - silent piracy tracking
            - automatic message box
26/04/201
2                            Demo
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.Toolkit

26/04/201
2
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=17876

26/04/201
2
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/201
2
q&a




26/04/201
2
1 of 41

Recommended

IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8 by
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
3.9K views66 slides
Ad106 - XPages Just Keep Getting Better by
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Betterddrschiw
1.1K views33 slides
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1 by
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1ICS User Group
1.6K views47 slides
WebWorks Development for BlackBerry PlayBook and Smartphones by
WebWorks Development for BlackBerry PlayBook and SmartphonesWebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and SmartphonesKyle McInnes
2.9K views97 slides
The Notes/Domino Application Development Competitive Advantage - IamLUG by
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
1.3K views94 slides
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive! by
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
5.2K views34 slides

More Related Content

What's hot

Extension Library - Viagra for XPages by
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
5K views71 slides
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today! by
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Howard Greenberg
1.6K views43 slides
Presenting Data – An Alternative to the View Control by
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
1.9K views33 slides
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition by
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
1.5K views37 slides
Dr. Strangelove, or how I learned to love plugin development by
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
1.6K views80 slides
bccon-2014 dev04 domino_apps_reaching_up&out by
bccon-2014 dev04 domino_apps_reaching_up&outbccon-2014 dev04 domino_apps_reaching_up&out
bccon-2014 dev04 domino_apps_reaching_up&outICS User Group
1.4K views43 slides

What's hot(7)

Extension Library - Viagra for XPages by Ulrich Krause
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
Ulrich Krause5K views
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today! by Howard Greenberg
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Howard Greenberg1.6K views
Presenting Data – An Alternative to the View Control by Teamstudio
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
Teamstudio1.9K views
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition by ddrschiw
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
ddrschiw1.5K views
Dr. Strangelove, or how I learned to love plugin development by Ulrich Krause
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
Ulrich Krause1.6K views
bccon-2014 dev04 domino_apps_reaching_up&out by ICS User Group
bccon-2014 dev04 domino_apps_reaching_up&outbccon-2014 dev04 domino_apps_reaching_up&out
bccon-2014 dev04 domino_apps_reaching_up&out
ICS User Group1.4K views
Show110 | Using the XPages Extension Library for the Real World by pdhannan
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
pdhannan9.1K views

Viewers also liked

II concurso de cuentos "La hilandera" by
II concurso de cuentos "La hilandera"II concurso de cuentos "La hilandera"
II concurso de cuentos "La hilandera"Biblioteca del IES de Pravia
505 views7 slides
Juguetes para lonky by
Juguetes para lonkyJuguetes para lonky
Juguetes para lonkyhermesdepaula
662 views82 slides
Lubricantes by
LubricantesLubricantes
LubricantesAlberto Carrión
1.1K views15 slides
Póster pop art by
Póster pop artPóster pop art
Póster pop artMiriam Queralt Guasch
277 views1 slide
2011 poster sociedad española de diabetes málaga by
2011 poster sociedad española de diabetes málaga2011 poster sociedad española de diabetes málaga
2011 poster sociedad española de diabetes málagaalceal
230 views1 slide
La Web Social (2010) by
La Web Social (2010)La Web Social (2010)
La Web Social (2010)Miriam Ruiz
765 views183 slides

Viewers also liked(20)

2011 poster sociedad española de diabetes málaga by alceal
2011 poster sociedad española de diabetes málaga2011 poster sociedad española de diabetes málaga
2011 poster sociedad española de diabetes málaga
alceal230 views
La Web Social (2010) by Miriam Ruiz
La Web Social (2010)La Web Social (2010)
La Web Social (2010)
Miriam Ruiz765 views
Noticip 07 de febrero de 2013 by CámaraCIP
Noticip 07 de febrero de 2013Noticip 07 de febrero de 2013
Noticip 07 de febrero de 2013
CámaraCIP175 views
Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti... by EAE Business School
Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti...Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti...
Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti...
Un nuevo canal, una nueva cultura #ecommerce #venca by Sylvain Loubradou
Un nuevo canal, una nueva cultura #ecommerce #vencaUn nuevo canal, una nueva cultura #ecommerce #venca
Un nuevo canal, una nueva cultura #ecommerce #venca
Sylvain Loubradou1.1K views
Revista ayupsih 1_feb_2012 by A.Yu.Psi.H
Revista ayupsih 1_feb_2012Revista ayupsih 1_feb_2012
Revista ayupsih 1_feb_2012
A.Yu.Psi.H1.4K views
Native Mobile Monthly Report - November 2012 by VML South Africa
Native Mobile Monthly Report -  November 2012Native Mobile Monthly Report -  November 2012
Native Mobile Monthly Report - November 2012
VML South Africa1.4K views
Get on the Map: Local Search Optimization by pointit
Get on the Map: Local Search OptimizationGet on the Map: Local Search Optimization
Get on the Map: Local Search Optimization
pointit467 views
Acta Consejo de Federacion 01-03-2012 by cee_info_2012
Acta Consejo de Federacion 01-03-2012Acta Consejo de Federacion 01-03-2012
Acta Consejo de Federacion 01-03-2012
cee_info_2012442 views

Similar to Wi phug windows phone development from z to a

Staying connected: An Overview of Announcements from Microsoft’s Connect(); by
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
402 views39 slides
Build business applications with visual studio light switch by
Build business applications with visual studio light switchBuild business applications with visual studio light switch
Build business applications with visual studio light switchNuchit Atjanawat
794 views20 slides
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ... by
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Ken Cenerelli
1.5K views30 slides
Openbar 12 - Leuven - From reactive programming to reactive architecture by
Openbar 12 - Leuven - From reactive programming to reactive architectureOpenbar 12 - Leuven - From reactive programming to reactive architecture
Openbar 12 - Leuven - From reactive programming to reactive architectureOpenbar
57 views27 slides
2012Technology Preview by
2012Technology Preview2012Technology Preview
2012Technology Previewdcpsweb
210 views27 slides
Cross platform dotnet development using dotnet core by
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
538 views15 slides

Similar to Wi phug windows phone development from z to a(20)

Staying connected: An Overview of Announcements from Microsoft’s Connect(); by dotNet Miami
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
dotNet Miami402 views
Build business applications with visual studio light switch by Nuchit Atjanawat
Build business applications with visual studio light switchBuild business applications with visual studio light switch
Build business applications with visual studio light switch
Nuchit Atjanawat794 views
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ... by Ken Cenerelli
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Ken Cenerelli1.5K views
Openbar 12 - Leuven - From reactive programming to reactive architecture by Openbar
Openbar 12 - Leuven - From reactive programming to reactive architectureOpenbar 12 - Leuven - From reactive programming to reactive architecture
Openbar 12 - Leuven - From reactive programming to reactive architecture
Openbar57 views
2012Technology Preview by dcpsweb
2012Technology Preview2012Technology Preview
2012Technology Preview
dcpsweb210 views
Cross platform dotnet development using dotnet core by Swaminathan Vetri
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
Swaminathan Vetri538 views
Appcelerator’s Cocoafish Acquisition and the Future of the Mobile Cloud by Axway Appcelerator
Appcelerator’s Cocoafish Acquisition and the  Future of the Mobile Cloud Appcelerator’s Cocoafish Acquisition and the  Future of the Mobile Cloud
Appcelerator’s Cocoafish Acquisition and the Future of the Mobile Cloud
Axway Appcelerator692 views
ThatConference 2016 - Highly Available Node.js by Brad Williams
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
Brad Williams234 views
Mavenizing your Liferay project by mimacom
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
mimacom4.3K views
PuppetCamp Verona 2013 - Razor, Puppet & VMware by gguglie
PuppetCamp Verona 2013 - Razor, Puppet & VMwarePuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMware
gguglie568 views
OVF 1.0 Whitepaper by guest2f52730
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaper
guest2f527301.1K views
OVF 1.0 Whitepaper by ikewu83
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaper
ikewu83966 views
JCON_15FactorWorkshop.pptx by Grace Jansen
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
Grace Jansen45 views
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa... by Micro Focus
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
Micro Focus 682 views
Continuous Integration as a Development Team’s Way of Life by TechWell
Continuous Integration as a Development Team’s Way of LifeContinuous Integration as a Development Team’s Way of Life
Continuous Integration as a Development Team’s Way of Life
TechWell201 views

More from bartlannoeye

Dev day serverless from a devs perspective by
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspectivebartlannoeye
212 views32 slides
Run your app on every Windows Phone 8.1 device in the world by
Run your app on every Windows Phone 8.1 device in the worldRun your app on every Windows Phone 8.1 device in the world
Run your app on every Windows Phone 8.1 device in the worldbartlannoeye
1.2K views23 slides
Windows Azure Services by
Windows Azure ServicesWindows Azure Services
Windows Azure Servicesbartlannoeye
280 views15 slides
Live mesh & live framework by
Live mesh & live frameworkLive mesh & live framework
Live mesh & live frameworkbartlannoeye
342 views14 slides
Building the windows 8 community app by
Building the windows 8 community appBuilding the windows 8 community app
Building the windows 8 community appbartlannoeye
474 views33 slides
Who’s using my apps by
Who’s using my appsWho’s using my apps
Who’s using my appsbartlannoeye
267 views12 slides

More from bartlannoeye(6)

Dev day serverless from a devs perspective by bartlannoeye
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspective
bartlannoeye212 views
Run your app on every Windows Phone 8.1 device in the world by bartlannoeye
Run your app on every Windows Phone 8.1 device in the worldRun your app on every Windows Phone 8.1 device in the world
Run your app on every Windows Phone 8.1 device in the world
bartlannoeye1.2K views
Windows Azure Services by bartlannoeye
Windows Azure ServicesWindows Azure Services
Windows Azure Services
bartlannoeye280 views
Live mesh & live framework by bartlannoeye
Live mesh & live frameworkLive mesh & live framework
Live mesh & live framework
bartlannoeye342 views
Building the windows 8 community app by bartlannoeye
Building the windows 8 community appBuilding the windows 8 community app
Building the windows 8 community app
bartlannoeye474 views
Who’s using my apps by bartlannoeye
Who’s using my appsWho’s using my apps
Who’s using my apps
bartlannoeye267 views

Recently uploaded

STPI OctaNE CoE Brochure.pdf by
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
14 views1 slide
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
41 views73 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
18 views49 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
14 views1 slide

Recently uploaded(20)

STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada127 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views

Wi phug windows phone development from z to a

  • 1. @WiPhug Windows Phone App Development from Z to A 26/04/201 2
  • 2. about WiPhug • sharing is caring • developers for developers @depechie @johanpeters @modul8com @nicovermeir @bartlannoeye @goofys_friend @miscoriadennis 26/04/201 2
  • 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.be 26/04/201 2
  • 5. speakers of today Michael Bruyninckx @modul8com Bart Lannoeye @bartlannoeye Glenn Versweyveld tweet @depechie #wiphug 26/04/201 2
  • 6. agenda Marketplace submission process MVVMLight 4.0 MS SQL Server CE AgFx Cimbalino HubTiles JeffWilcox.Maps & Bing Maps mtiks for Windows Phone 26/04/201 2
  • 7. Marketplace submission submit a new app status ongoing submissions download statistics daily vs total 26/04/201 2
  • 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 days 26/04/201 2
  • 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/201 2
  • 10. Marketplace submission set your price and select the availability per country 26/04/201 2
  • 11. Marketplace submission test information the most important setting of the publishing process, i.e. “the publish options” 26/04/201 2
  • 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 kit 26/04/201 2 Bart Demo
  • 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 8 26/04/201 2
  • 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 components 26/04/201 2
  • 15. MVVMLight 4.0 MVVM’s how ? • INotifyPropertyChanged • bindings • commanding 26/04/201 2
  • 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 Model 26/04/201 2
  • 17. MVVMLight 4.0 the View • represent the user interface • contains no testable logic • keep as simple as possible • designers playground 26/04/201 2
  • 18. MVVMLight 4.0 the ViewModel • abstraction of the view • glue between view and model • keeps the View‟s state 26/04/201 2
  • 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 online 26/04/201 2
  • 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 other 26/04/201 2 Glenn Demo
  • 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 query 26/04/201 2
  • 22. MS SQL Server CE create POCO‟s • classes = tables • properties = columns (& indexes) • create associations between tables create DataContext classes • expose tables 26/04/201 2 Bart Demo
  • 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 support 26/04/201 2
  • 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 automagically 26/04/201 2 Glenn Demo
  • 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 methods 26/04/201 2
  • 26. Cimbalino how ? • NavigationService • constructor injects the NavigationService in your ViewModels • ApplicationBar Behaviour • add a namespace reference in XAML to Cimbalino.Phone.Toolkit.Behaviors 26/04/201 2 Glenn Demo
  • 27. HubTiles what is it ? • in-app „live tiles‟ • makes the app more vivid • control available in the Silverlight Toolkit for WP 26/04/201 2 Bart Demo
  • 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.Resources 26/04/201 2
  • 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.Resources 26/04/201 2 Glenn Demo
  • 30. mtiks for Windows Phone allows analytics real time app usage statistics anti piracy protection super easy implementation 26/04/201 2
  • 31. mtiks for Windows Phone 26/04/201 2
  • 32. mtiks for Windows Phone 26/04/201 2
  • 33. mtiks for Windows Phone 26/04/201 2
  • 34. mtiks for Windows Phone 26/04/201 2
  • 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 code 26/04/201 2
  • 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/201 2 Bart Demo
  • 37. mtiks for Windows Phone anti piracy ? protection against illegal downloads how ? - silent piracy tracking - automatic message box 26/04/201 2 Demo
  • 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.Toolkit 26/04/201 2
  • 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=17876 26/04/201 2
  • 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/201 2

Editor's Notes

  1. eervollevernoemingCronos
  2. eervollevernoemingCronos
  3. Project -&gt; Open Marketplace Test Kit
  4. Model
  5. Demo