SlideShare une entreprise Scribd logo
1  sur  41
@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

Contenu connexe

Tendances

Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
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!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Howard Greenberg
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
Dr. Strangelove, or how I learned to love plugin development
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
 
bccon-2014 dev04 domino_apps_reaching_up&out
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
 
Show110 | Using the XPages Extension Library for the Real World
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 Worldpdhannan
 

Tendances (7)

Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
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!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
Dr. Strangelove, or how I learned to love plugin development
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
 
bccon-2014 dev04 domino_apps_reaching_up&out
bccon-2014 dev04 domino_apps_reaching_up&outbccon-2014 dev04 domino_apps_reaching_up&out
bccon-2014 dev04 domino_apps_reaching_up&out
 
Show110 | Using the XPages Extension Library for the Real World
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
 

En vedette

2011 poster sociedad española de diabetes málaga
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
 
La Web Social (2010)
La Web Social (2010)La Web Social (2010)
La Web Social (2010)Miriam Ruiz
 
Noticip 07 de febrero de 2013
Noticip 07 de febrero de 2013Noticip 07 de febrero de 2013
Noticip 07 de febrero de 2013CámaraCIP
 
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...
Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti...EAE Business School
 
Un nuevo canal, una nueva cultura #ecommerce #venca
Un nuevo canal, una nueva cultura #ecommerce #vencaUn nuevo canal, una nueva cultura #ecommerce #venca
Un nuevo canal, una nueva cultura #ecommerce #vencaSylvain Loubradou
 
Revista ayupsih 1_feb_2012
Revista ayupsih 1_feb_2012Revista ayupsih 1_feb_2012
Revista ayupsih 1_feb_2012A.Yu.Psi.H
 
Native Mobile Monthly Report - November 2012
Native Mobile Monthly Report -  November 2012Native Mobile Monthly Report -  November 2012
Native Mobile Monthly Report - November 2012VML South Africa
 
Get on the Map: Local Search Optimization
Get on the Map: Local Search OptimizationGet on the Map: Local Search Optimization
Get on the Map: Local Search Optimizationpointit
 
Acta Consejo de Federacion 01-03-2012
Acta Consejo de Federacion 01-03-2012Acta Consejo de Federacion 01-03-2012
Acta Consejo de Federacion 01-03-2012cee_info_2012
 

En vedette (20)

II concurso de cuentos "La hilandera"
II concurso de cuentos "La hilandera"II concurso de cuentos "La hilandera"
II concurso de cuentos "La hilandera"
 
Juguetes para lonky
Juguetes para lonkyJuguetes para lonky
Juguetes para lonky
 
Lubricantes
LubricantesLubricantes
Lubricantes
 
Póster pop art
Póster pop artPóster pop art
Póster pop art
 
2011 poster sociedad española de diabetes málaga
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
 
La Web Social (2010)
La Web Social (2010)La Web Social (2010)
La Web Social (2010)
 
Noticip 07 de febrero de 2013
Noticip 07 de febrero de 2013Noticip 07 de febrero de 2013
Noticip 07 de febrero de 2013
 
Presentación r&b
Presentación r&bPresentación r&b
Presentación r&b
 
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...
Entrevista a Rodrigo de la Fuente, codirector del Máster en Dirección Deporti...
 
Un nuevo canal, una nueva cultura #ecommerce #venca
Un nuevo canal, una nueva cultura #ecommerce #vencaUn nuevo canal, una nueva cultura #ecommerce #venca
Un nuevo canal, una nueva cultura #ecommerce #venca
 
Aumento de pecho: tamaño grande?
Aumento de pecho: tamaño grande?Aumento de pecho: tamaño grande?
Aumento de pecho: tamaño grande?
 
Les réseaux sociaux intro - Facebook
Les réseaux sociaux intro - FacebookLes réseaux sociaux intro - Facebook
Les réseaux sociaux intro - Facebook
 
Revista ayupsih 1_feb_2012
Revista ayupsih 1_feb_2012Revista ayupsih 1_feb_2012
Revista ayupsih 1_feb_2012
 
Ito Sales Presentation Circa 2004
Ito Sales Presentation Circa 2004Ito Sales Presentation Circa 2004
Ito Sales Presentation Circa 2004
 
Benidorm Funciona
Benidorm FuncionaBenidorm Funciona
Benidorm Funciona
 
Native Mobile Monthly Report - November 2012
Native Mobile Monthly Report -  November 2012Native Mobile Monthly Report -  November 2012
Native Mobile Monthly Report - November 2012
 
Get on the Map: Local Search Optimization
Get on the Map: Local Search OptimizationGet on the Map: Local Search Optimization
Get on the Map: Local Search Optimization
 
Acta Consejo de Federacion 01-03-2012
Acta Consejo de Federacion 01-03-2012Acta Consejo de Federacion 01-03-2012
Acta Consejo de Federacion 01-03-2012
 
High quality Cold room&freezing room
High quality Cold room&freezing roomHigh quality Cold room&freezing room
High quality Cold room&freezing room
 
Html1
Html1Html1
Html1
 

Similaire à Wi phug windows phone development from z to a

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();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
 
Build business applications with visual studio light switch
Build business applications with visual studio light switchBuild business applications with visual studio light switch
Build business applications with visual studio light switchNuchit Atjanawat
 
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 ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Ken Cenerelli
 
Openbar 12 - Leuven - From reactive programming to reactive architecture
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
 
2012Technology Preview
2012Technology Preview2012Technology Preview
2012Technology Previewdcpsweb
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
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
Appcelerator’s Cocoafish Acquisition and the Future of the Mobile Cloud Axway Appcelerator
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay projectmimacom
 
PuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwarePuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwaregguglie
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaperguest2f52730
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaperikewu83
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#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
 
Continuous Integration as a Development Team’s Way of Life
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 LifeTechWell
 

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

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();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
 
Build business applications with visual studio light switch
Build business applications with visual studio light switchBuild business applications with visual studio light switch
Build business applications with visual studio light switch
 
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 ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
 
Openbar 12 - Leuven - From reactive programming to reactive architecture
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
 
2012Technology Preview
2012Technology Preview2012Technology Preview
2012Technology Preview
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
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
Appcelerator’s Cocoafish Acquisition and the Future of the Mobile Cloud
 
VocBench 2.0: A Web Application for Collaborative Development of Multilingual...
VocBench 2.0: A Web Application for Collaborative Development of Multilingual...VocBench 2.0: A Web Application for Collaborative Development of Multilingual...
VocBench 2.0: A Web Application for Collaborative Development of Multilingual...
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
 
PuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwarePuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMware
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Build tool
Build toolBuild tool
Build tool
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaper
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaper
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Hitendra_Singh
Hitendra_SinghHitendra_Singh
Hitendra_Singh
 
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
 
Continuous Integration as a Development Team’s Way of Life
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
 

Plus de bartlannoeye

Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspectivebartlannoeye
 
Run your app on every Windows Phone 8.1 device in the world
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
 
Windows Azure Services
Windows Azure ServicesWindows Azure Services
Windows Azure Servicesbartlannoeye
 
Live mesh & live framework
Live mesh & live frameworkLive mesh & live framework
Live mesh & live frameworkbartlannoeye
 
Building the windows 8 community app
Building the windows 8 community appBuilding the windows 8 community app
Building the windows 8 community appbartlannoeye
 
Who’s using my apps
Who’s using my appsWho’s using my apps
Who’s using my appsbartlannoeye
 

Plus de bartlannoeye (6)

Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspective
 
Run your app on every Windows Phone 8.1 device in the world
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
 
Windows Azure Services
Windows Azure ServicesWindows Azure Services
Windows Azure Services
 
Live mesh & live framework
Live mesh & live frameworkLive mesh & live framework
Live mesh & live framework
 
Building the windows 8 community app
Building the windows 8 community appBuilding the windows 8 community app
Building the windows 8 community app
 
Who’s using my apps
Who’s using my appsWho’s using my apps
Who’s using my apps
 

Dernier

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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

Notes de l'éditeur

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