Developers: Planning a Cross-Platform Solution
"I recently blogged about Flashcards.Show Version 2 for WPF, Silverlight, and Windows Phone, which features the Flashcards.Show application. I'm not going to (again) review the app, but I do want to talk about how we developed the application and the design the code base to support multiple clients.
The first version of Flashcards.Show was a Windows (WPF) application. This app was originally designed by IdentityMine, and used a few Windows 7 features such as multi-touch and taskbar integration. While the first version was great, we wanted to increase its value by enabling users to share the decks that they are creating. Therefore, when we set to work on version 2, we sought both functional and technological solutions to enable ease of use for the deck-sharing scenarios, as well as ease of development and maintenance of the code."
Yochay Kiriaty gives a good tutorial on some of the things to plan for if you are looking to bring your application to many different platforms, such as Windows Phone, Silverlight, and Windows Applications. This is the vision that Microsoft has been touting for a few years now (3 screens and the cloud). Development tools are getting better and better at providing this functionality, but it still takes some planning up front to ensure the code that will be portable and compatible accross the different platforms.