Building applications for multiple mobile platforms can be challenging and costly. You have to deal with multiple languages, different sets of APIs, and different device form factors.
What if you could write a custom library that handles the majority of your applications functionality and then use it across all of the platforms? What if you only had to learn one language and use a common set of developer tools?
Meet MonoDroid and MonoTouch. These two development stacks allow you to accomplish that task! The promise of these development stacks is to allow developers to create applications using C# and .NET and allow reuse of other libraries that have been built for .NET. This means that you can write a single common set of core functionality for an application and use it across all of the platforms. Developers can then focus on create custom UIs for the specific device or form factor instead of porting base code.
If you are interested in seeing a sample of how this works, check out a sample Twitter search application writing using C# that runs on Windows Phone 7, iPhone and Android.
I have not yet had an opportunity to try either MonoDroid or MonoTouch. I would be interested in hearing feedback from anyone who has experience with these products.