240 likes | 340 Views
WP8 Critical Developer Practices for Delivering Outstanding Apps. Stefan Wick Principal Test Manager Windows Phone Developer Platform. Agenda. Crash Analysis Unit Testing Memory & Performance World Ready WP7 WP8 Upgrade. App Crash Analysis. App Crash Analysis.
E N D
WP8 Critical Developer Practices for Delivering Outstanding Apps Stefan Wick Principal Test Manager Windows Phone Developer Platform
Agenda • Crash Analysis • Unit Testing • Memory & Performance • World Ready • WP7 WP8 Upgrade
App Crash Analysis • Ways to track your crashes: • Dev Center crash reports • 3rd party analytics products • Roll your own “Little Watson” • Common reasons for crashes: • WebException • OutOfMemoryException • FormatException
Demo • DevCenter Crash Reports
Unit Test Framework • Build a “suite of pain” for your app • Test Framework now in the Toolkit • Available for WP7 and WP8 • Why automated tests? • Structured quality control • Prevent regressions • Test more configurations in less time
Demo • Unit Testing • Focus on: • Overview of the framework • Write a new regression test
Memory & Performance • Profiling Tools • Make your good app GREAT • Profile for memory and execution • Leverage Store Test Kit • Attend Oren Nachman’sperf talk (WPH312)
Memory Considerations • Design with memory in mind! • Monitor your apps mem usage • Memory caps are enforced! • Test with real world data • Monitor your heavy objects • A single UI control leak can cause the entire visual tree to be leaked !
Demo • Memory Profiler • Focus on: • Finding and fixing memory leaks
World Ready Apps • Increase reach and rating for your app! • Test for common coding mistakes • Run tests on various locales • Test with international input • Consider localizing your app content • WP8 & VS 2012 Tools make this easier
Demo • World Ready • Focus on: • Globalization testing • Localization development
Moving from WP7 to WP8 • Find the upgrade path that is right for your app • WP7 apps run on WP8 as is • “quirks mode” shim is enabled • Feature light-up • Late-bind to enable WP8 light-up scenarios • Upgrade app version to 8.0 • Take full advantage of all new features and improvements
Binary vs. Source compat • Upgrading the source project to 8.0 disables the app compat shim • Upgrade guidance on MSDN • Breaking changes • Different screen sizes • New visuals for controls • Retest all code after upgrade • Investment in Unit Tests will pay off
Code Sharing • Maintain both 7.1 and 8.0 versions of your app, from shared code • Different approaches • one app project with two configurations • two app projects with shared libraries • two branches of the same app project
Demo • Upgrading to WP8 • Focus on: • Upgrade process & breaking changes • Code sharing
Recap • Crashes are fixed • Unit tests for regression control • Memory/performance improved • App ready for the world • App ready for Windows Phone 8
Recap • Ratings & Reviews after this talk • “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”
Resources WP8 Performance & Optimization Thu 10:15 – 11:15| 92 Magellan Windows Phone Toolkithttp://silverlight.codeplex.com