2012 Jolt Awards: Mobile Tools

After achieving a great deal of success with its iOS product, MonoTouch, Xamarin turned its language and mobile platform expertise to the other big fish in the mobile platform pond. However, unlike MonoTouch, with its C# versus Objective-C argument, Mono for Android is a harder sell. First, unlike Apple-only iOS development, Android's SDK and tools already run on Windows. Also, there's not as much of a language difference between C# and Android's Java as there is between C# and Objective-C — and they both support garbage collection equally well. Finally, whether statically linking Mono for Android's runtime into the compiled app bundle or dynamically linking to it via a shared, separate library install, the resources needed by a Mono for Android app for something as simple as a 'Hello, World' app far exceed that of a native Java-constructed Android app.

That said, there are reasons why Mono for Android is a keeper in the eyes of .NET developers. First, it's easier to make the leap to Android using Mono for Android than the Eclipse+Android SDK combination. Second, unlike MonoTouch for iOS, which is a standalone IDE, Mono for Android lives as an add-on within the Microsoft Visual Studio IDE. That means that .NET developers who have built up an arsenal of optimal .NET editing tools and muscle-memory shortcuts don't have to relearn a whole new development environment for creating Android apps. Finally, if C# developers plan in advance and effectively separate their business-logic layers from their presentation layers, they should be able to reuse a great deal of code between Mono for Android and MonoTouch applications (especially because Mono for Android can use many existing .NET libraries without difficulty). Now if Xamarin can figure out a way to take C# code assets from the Windows Phone platform and allow them to be spun into and out of Mono for Android and MonoTouch products, they would be able to cover most of the mobile platforms!

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.