220 likes | 425 Views
Essentials of Developing Windows Phone Apps. Chinthaka Dissanayake Tech Lead Exilesoft. Is it difficult to become a WP Developer??. Runtime APIs. Web Developers. Windows Developers. One Windows for All. Shared Dev registration Shared Entitlement. Core Platform. Development Platform.
E N D
Essentials of Developing Windows Phone Apps Chinthaka Dissanayake Tech Lead Exilesoft
Is it difficult to become a WP Developer?? Runtime APIs Web Developers Windows Developers
One Windows for All • Shared Dev registration • Shared Entitlement Core Platform Development Platform • More skillset Reuse • More code reuse • More seamless app experiences • Proximity and Location Frameworks • Security and Identity • Task Scheduler 90%+
Windows Developer Platform Windows Phone Silverlight (C#/VB) WinJS (HTML + JS) Windows XAML (C#/VB/C++) DirectX (C++) Services App Model Store Navigation Push Windows Runtime API Set Packaging Commerce Media Audio Graphics Roaming Contracts App Data Backup Sensors Input File System Networking Background Windows Runtime (WinRT) .NET CLR Windows Kernel
Getting Windows Phone 8.1 • New Devices sold into market from July 2014 will have Windows Phone 8.1 pre-installed • All devices running Windows Phone 8.0 are capable of being upgraded to Windows Phone 8.1 • Availability of upgrades for devices is under the control of the Mobile Operator • Registered developers can upgrade their phone through the “Preview for Developers” Program • http://dev.windowsphone.com • http://appstudio.windowsphone.com https://dev.windowsphone.com/en-us/develop/devpreview
Development PC requirements • Supported Operating Systems • Windows 8.1 (X86 or X64) • Hardware • 4GB of Disk Space • 1.5GB of RAM • 64 bit Motherboard • To use Windows Phone Emulators • Windows 8.1 Pro or Higher (for Hyper-V) • Second Level Address Translation • Min 4GB RAM
Design Principles • Content, NOT Chrome • Alive and in Motion • Clean, Light, Open and Fast • Celebrate Typography • Windows 8 UI Guidelines http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx
MVVM • Stands for Model-View-ViewModel • Architectural Pattern that employs Data binding and strict Separation of Concerns ViewModel Commands Binding View Model See : http://msdn.microsoft.com/en-us/library/hh821028.aspx
How data binding Works ViewModel View Property : ItemName: Value = “Meetup” <TextBlock Text={Binding ItemName} ToDoItemsPage.XAML ToDoItemsViewModel : INotifyPropertyChanged <ToDoItemsPage DataContext= ToDoItemsViewModel> PropertyChanged Subscribesto
Application Lifecycle, Why ? • Phone Resources are scarce • OS Runs one foreground app at a time • Other apps are suspended and/or terminated • OS has many mechanisms for an app to appear ‘alive’ • OS has controlled mechanisms for background code
Application Lifecycle Use Suspending and OnLaunched States to save and restore state Activated App sent to background App activated (User or contract) Running OS Preserves the Status Suspending Resuming Suspended Request app in foreground Not running OS reclaims system resources Save State during Suspending Can we debug these State Transitions ?
Manifest, Device Capabilities and App Packaging • Describes your Application • Display Name • Entry Point / Navigation Page • App Icon/Images tiles and Logos • Capabilities • Requirements • Demo
Testing – Windows App Certification Kit (WACK) • Create App Package via Visual Studio • Run WACK and selected the created AppX • Select tests to be run • Output is an XML file that can be opened in a browser to analyze result • Demo
Windows Phone Store • Only way you can put executable content into Windows Phone • Users can buy applications and deploy them onto their devices • Developers can unlock their own devices for testing
Joining the Store • How to become a Publisher • $19/Year for individual registrations • $99/Year for companies • Options for Students • DreamSpark • MSDN Benefits • Join at • http://dev.windowsphone.com • http://dev.windows.com
Monetization Options • Paid App • Paid App with free trial • Time limited Trial • Feature limited Trial • Paid/Free App with in-app purchase • Free App with Ads • Microsoft Ads SDK • Third party ad SDKs or Product Rotators • Free App
Developer Portal and App Submission • Shared Identity Apps • Customer gets app and Entitlements across Windows and Phone • Roaming data enabled across Windows and Phone • Single Push Notification Channel
Summary Development Choices Data Binding Architecture and Design UI Design Packaging Lifecycle Store Submission Monetization Testing Universal Apps