It's been a bit since I've done a "learning resource" post and given the amount of dev goodness coming in the Mango release for Windows Phone 7 I thought it time. Today's post highlight two such resources, one from Microsoft and one from the one and only Michael Crump.
Michael's post, The Busy Developers Guide to Mango, provides not only a quick glimpse (i.e. perfect for the busy developer... funny that given the post's title... but also a nice roundup of Mango links too. What was also nice was how he focused on a area that's not gotten too much discussion, using Mango's new performance analysis feature.
You’re a busy developer and you have read article after article of “What’s new in WP7 Mango” but you are only interested in knowing “What does this mean for me as a developer ?”. This is where I step in and give you the “need to know” with a quick blog post.
The next version of Windows Phone (codenamed “Mango”) will ship later this year. Mango offers a lot of new capabilities for developers to create even better, more immersive user experiences on Windows Phone. This course will give you hands-on experience with important developer features in Mango.
After completing this course, you will be able to:
- Get more out of the hardware with new APIs for compass, gyro, camera and a virtual motion sensor
- Take advantage of the new multi-tasking capabilities such as fast app switching, background agents, alerts and reminders
- Improve integration with the phone by using live tiles, Bing search extras, Bing maps, and the new calendar and contacts APIs
This an offline, except for the videos, which having them online saves a great deal of drive space, Training Kit (80 MB, installed) which includes a number of Hands on Labs. Each Lab starts you off with a project and then walks you through, step by step, enhancing that project, introducing you to the given feature. If you're inpatient and just want to see the finished code, that's there too.
Discovering Windows Phone 7 Device Capabilities
All Windows Phone devices meet a common hardware specification, but some provide additional features. It is possible for an application to examine the device's capabilities in order to alter its behavior to provide the best user experience. This hands-on-lab shows you how to query a device’s capabilities for networking, hardware, and general device information such as manufacturer and firmware.
This hands-on-lab walks you through the new camera APIs in the Windows Phone "Mango" release. You will learn how to capture and preview the live camera stream, integrate with the hardware buttons, and even how to apply effects to the live stream.
Using local database in To-do application
This hands-on-lab will show you how to use SQL Compact Edition (SQL CE) to build a task management (Tidy) application. You will first learn how to apply the right attributes to an existing object model so that the DataContext class can create a relational database with keys and constraints. You will also learn how to query the database using LINQ-to-SQL.
Background Transfer Service in To-do application
Windows Phone codenamed “Mango” introduces the new BackgroundTransferService multitasking feature to transfer files even when your application is not running. This hands-on-lab will show you how to use BackgroundTransferService to transfer (upload and download) data between your Windows Phone application and a server on the Internet. It will also show you how to schedule transfers, query their progress, and manage your download queue.
Fast Application Switching in To-do application
Fast Application Switching (FAS) allows applications to stay dormant (in memory) after deactivation. By detecting whether your application is being activated from a dormant state instead of a tombstoned state, you can optimize it to have quicker resume times. This lab will show you how to use the ActivatedEventArgs parameter in the application life-cycle events to the test if your application instance was preserved using FAS.
Creating Reminders in the To-do application
Scheduling notifications that trigger even when your application is not in the foreground is a critical multi-tasking task for some apps -like alarm clocks, calendaring, and birthday apps-. This lab uses the new ScheduledActionService to create and manage reminders to a To-do application. The application will also show you how deep linking works when the user clicks on a reminder and that launches your application to an actionable page with context from the reminder.
Adding Multitasking to Your Application
The Windows Phone codenamed “Mango” release introduces agents that let applications run tasks in the background periodically or when the phone is idle. Mango also introduces APIs to manipulate the tiles in the start menu locally without requiring push notifications. This hands-on-lab will show you how to add a Background Service Agent to your application and use this agent to update the secondary tiles for a “to-do” application that enables the tiles to display a count of overdue tasks.
XNA 3D Model Viewer
The new Shared Graphics model in Windows Phone codenamed “Mango” allows an application to seamlessly integrate Silverlight and XNA graphics in a single application. This hands-on-lab will show you how to leverage the SharedGraphicsDeviceManager APIs to display 3D models in a Silverlight application. The lab will also use the new BackgroundTransferService APIs to download the models in the background.
Weather Service Push notifications
The Microsoft Push Notification Service in Windows Phone offers third-party developers a resilient, dedicated, and persistent channel to send information and updates to a mobile application from a web service. This hands-on-lab will show you how to build an end-to-end push notification service, including subscribing to push on your phone and building the server-side code to send push notifications to the phone.
Launchers and Choosers
The choosers and launchers APIs allow an application to integrate with common operating system tasks such as taking a picture, finding an address or a contact, making a call, or saving a ring tone. This hands-on lab walks you through the launchers and choosers available on Windows Phone, including the new choosers and launchers in the “Mango” release.
These two resources should help you get quickly moving down the Mango development road...
Here’s a few more links you might find interesting:
- Download the Web Installer to get Mango Dev Tools Beta
- ISO Image of the Mango Dev Tools
- Code Samples for Windows Phone
- New APIs in Silverlight for Windows Phone OS 7.1
- App Hub