Here is our latest guest post from the team at Matchbox Mobile. It’s another brilliant read, this time focusing on getting started with Windows Phone for the first time. Don’t forget to have a look at their other posts – The Journey to Windows Phone from iOS & Android and their Vegas Report – as well.
As always, let us know what you think by leaving a comment or getting in touch on twitter. Are there any tips you would give a developer about to start their first Windows Phone app?
For developers familiar with S40, Android, iOS and Blackberry, there are very good habits to bring with you into the world of Windows Phone; for example, we must still consider performance, memory constraints, and simplicity of UI. Then there are new ways of thinking that are unique to this platform: these spring mainly from the programming model, the design language, and the development tools.
If you are an experienced mobile dev but new to Windows Phone, here are three simple, but important things we think you should know:
The way users move from app to app, and within each app, is similar to web pages in a browser. Each page in your app has an address, and the system has a navigation controller that satisfies requests to go to specific pages. Crucially, it also takes care of a ‘back stack’ that works a lot like the page history in a browser. Although this may be a new concept to grasp, with some clear examples of good practice and an understanding of the quite simple mechanism, implementing navigation correctly is easy.
Unlike, say, Android, where multiple apps may be running at once, Windows Phone supports a single foreground app. When your app goes to the background, the system can suspend its operation and may even close it, depending on the resource situation. It is up to you to manage saving page and app state (although there are good mechanisms to help you do this). You can also implement a background agent or a scheduled task to do occasional auxiliary tasks. But be advised: there are many constraints (processor, memory, API access) that limit what a background agent may do. If your app relies on a service running constantly in the background, you’re going to have to re-think how it can work and what it can do on Windows Phone.
The Model View View-Model design pattern is at the heart of Windows Phone app development. It is a simple pattern to understand, especially if you are already familiar with MVP and other patterns that attempt to separate the data model from the view. XAML for user-interface definition, C# for program logic, and data-binding supported by the application framework are incredibly useful tools for helping you implement responsive, elegant apps with MVVM.
That’s it for now. We’ll come back soon with some thoughts on the pre-submission test kit, typographical UI and live tiles. In the meantime, good luck and enjoy!
Image by twicepix.