WP8 Critical Developer Practices for Delivering Outstanding Apps
description
Transcript of WP8 Critical Developer Practices for Delivering Outstanding Apps
WP8 Critical Developer Practices for Delivering Outstanding AppsStefan WickPrincipal Test ManagerWindows Phone Developer Platform
Crash AnalysisUnit TestingMemory & PerformanceWorld ReadyWP7 WP8 Upgrade
Agenda
App Crash Analysis
Ways to track your crashes:Dev Center crash reports3rd party analytics productsRoll your own “Little Watson”
Common reasons for crashes:WebExceptionOutOfMemoryExceptionFormatException
App Crash Analysis
DevCenter Crash ReportsDemo
Unit Testing
Test Framework now in the ToolkitAvailable for WP7 and WP8Why automated tests?Structured quality controlPrevent regressionsTest more configurations in less time
Build a “suite of pain” for your app
Unit Test Framework
Unit TestingFocus on:• Overview of the framework• Write a new regression test
Demo
Memory & Performance
Make your good app GREATProfile for memory and executionLeverage Store Test Kit
Attend Oren Nachman’s perf talk (WPH312)
Profiling Tools
Memory & Performance
Monitor your apps mem usageMemory caps are enforced!Test with real world dataMonitor your heavy objects
A single UI control leak can cause the entire visual tree to be leaked !
Design with memory in mind!
Memory Considerations
Memory ProfilerFocus on:• Finding and fixing memory
leaks
Demo
Building World Ready Apps
Test for common coding mistakesRun tests on various localesTest with international input
Consider localizing your app contentWP8 & VS 2012 Tools make this easier
Increase reach and rating for your app!
World Ready Apps
World ReadyFocus on:• Globalization testing• Localization development
Demo
Upgrading from WP7 to WP8
WP7 apps run on WP8 as is“quirks mode” shim is enabled
Feature light-upLate-bind to enable WP8 light-up scenarios
Upgrade app version to 8.0Take full advantage of all new features and improvements
Find the upgrade path that is right for your app
Moving from WP7 to WP8
Upgrade guidance on MSDNBreaking changesDifferent screen sizesNew visuals for controls
Retest all code after upgradeInvestment in Unit Tests will pay off
Upgrading the source project to 8.0 disables the app compat shim
Binary vs. Source compat
Different approachesone app project with two configurationstwo app projects with shared librariestwo branches of the same app project
Maintain both 7.1 and 8.0 versions of your app, from shared code
Code Sharing
Upgrading to WP8Focus on:• Upgrade process & breaking
changes• Code sharing
Demo
Crashes are fixedUnit tests for regression controlMemory/performance improvedApp ready for the worldApp ready for Windows Phone 8
Recap
Ratings & Reviews after this talk
Recap
“Works great as advertised. Smooth and reliable. Only thing missing is feature xyz ….”
“Thanks for localizing to my native language”
“It’s even better now on my new Lumia 920”
ResourcesWP8 Performance & OptimizationThu 10:15 – 11:15| 92 Magellan
Windows Phone Toolkithttp://silverlight.codeplex.com
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.