Upload
dustin-hodge
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Essentials of Developing Windows
Phone AppsChinthaka Dissanayake
Tech Lead Exilesoft
Is it difficult to become a WP Developer??
Web Developers
Windows Developers
Runtime APIs
One Windows for All
Development Platform
Core Platform
90%+• More skillset Reuse• More code reuse• More seamless app experiences
• Shared Dev registration• Shared Entitlement
• Proximity and Location Frameworks• Security and Identity• Task Scheduler
Windows Developer Platform
WinJS(HTML + JS)
Windows XAML
(C#/VB/C++)
Windows Phone Silverlight (C#/VB)
DirectX (C++)
Windows Runtime (WinRT) .NET CLR
Navigation
Packaging
Contracts
Background
App Model Services
Store
Push
Roaming
App Data Backup
Windows Kernel
Graphics Audio Media Commerce
Networking File System Input Sensors
Windows Runtime API Set
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
Development Choices
WP 7.0Silverlight
WP 7.5Silverlight
WP 8.0Silverlight
WP 8.1Silverlight
WP 8.1 WinRT
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
ViewModel
ModelView
Binding
Commands
• Stands for Model-View-ViewModel• Architectural Pattern that employs Data binding and strict
Separation of Concerns
See : http://msdn.microsoft.com/en-us/library/hh821028.aspx
Let’s Develop a Real App
How data binding Works
<TextBlock Text={Binding ItemName}
ToDoItemsPage.XAML
<ToDoItemsPage DataContext=ToDoItemsViewModel>
View
Property : ItemName: Value = “Meetup”
ToDoItemsViewModel : INotifyPropertyChanged
ViewModel
Subscribes to
PropertyChanged
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
Request app in foreground
Use Suspending and OnLaunched States to save and restore state
Save State during Suspending
App activated (User or contract)
OS Preserves the Status
Suspended
Running App sent to background
Not running
OS reclaims system resources
Activated
Resuming 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
What's Next ?
Questions ?
Summary
Development Choices Data Binding
Lifecycle Packaging
Testing
Architecture and Design
UI Design
Store Submission Monetization
Universal Apps