Fun is... using the same code on three different platforms. XAMLFinance shows us how.
Today's project provides one example of how you can target three different platforms, Windows Phone 7, Web/Silverlight and Windows Desktop/WPF while sharing much of the same for all three, while taking advantages of the features each platform provides.
This article describes the development of XAML Finance, a cross-platform application which works on the desktop, using Windows Presentation Foundation (WPF), on the web, using Silverlight and on Windows Phone 7 (WP7). My aim in writing this article is to highlight how the XAML based technologies used for desktop, web and mobile allow you to share large quantities of code and cost-effectively distribute your application on a range of devices.
- Introduction – Why cross-platform?
- Cross-platform XAML development
- Cross-platform, a Practical Approach
- WPF / Silverlight Framework Differences
- Broad differences
- API level differences
- Resolution Techniques
- Conditional compilation (#if)
- Partial classes
- Design Patterns
- Missing Framework Features
- Missing Controls
- Common pitfalls
- The Unexpected
- Adapting to each Platform
- XAML Finance
- DataSource Library
- XAML Finance Application
- The MVVM pattern
- Adapting for the web
- Adapting for the desktop
- Adapting for Windows Phone 7
What I also liked about the project was how it compared and contrasted the features available in the different forms of XAML.
And how these differences were dealt with;
Here's a snap of the WPF Solution;
This clip provides an example of how the code is shared between the different projects (Note the linked/shortcut icon on some of the files)
And all the above only lightly touches on the project's content.
If you're thinking about cross platform development, or just interested in a cool Silverlight, WPF or Windows Phone 7 app, this project might be just what you are looking for...