I am wanting to write an application for 3 platforms (iPhone, Android, and WPF). I am looking at using monotouch and monodriod to achieve this so I can keep all development in .net
Now I want to be able to reuse as much code as possible so I need a little advise on how I should do this as I don’t really have a clue where to start.
How should I separate the project out to allow the most amount of code reuse between the 3 different platforms?
Any suggestions would be appreciated.
I can see code divisions along the lines of Model-View-Controller (MVC) working pretty well here. You can maybe have your Model & Controllers live in a single common project and just have separate projects for the “View” of each different platforms.
This way, you can keep your data model and logic separate from how its displayed to the user. Moreover, you’ll be able to re-use your Model/Controller project easily amongst various mobile apps, web apps and desktop apps