This time as a part of cross platform development I’d like to make a short review of Mono project’s implementations/frameworks – MonoTouch and Monodroidthat allow creating applications using .NET framework and languages.
MonoTouch is a framework that allows developers create iPhone applications using the compilation of C# and reusing the existing .NET source code, libraries and skills.
The MonoTouch includes:
• Mono for the iPhone, iPad and iPod Touch
• C# and .NET compilers – on the iPhone you will need to compile the existing C# code and tools with the help of MonoTouch compiler to make sure that all the assemblies are referenced.
• .NET Bindings to Native APIs – MonoTouch compiler turns to compile the .NET libraries and base assemblies to create native iPhone applications.
• Mac oriPhoneSDK -includes the Xcode IDE, iPhone Simulator, and a suite of additional tools for developing applications for iPhone, iPad and iPod Touch.
• MonoDevelop Integrationhelps developers to integrate all features/toolsets from the integrating.NET platform to the target iPhoneenvironment from zero in no time
• Libraries that bind the native CocoaTouch APIs – toolsets that help to create native application interfaces for iPhone, iPad and iPod Touch
Mono for Android (MonoDroid)is a software development environment kit that allows to create the applications that run on Android phones and tablets.
Mono for Android consists of the core Mono runtime, the Mono for Android bindings to the native Android APIs, a Visual Studio 2010 plug-in to develop Android applications and an SDK that contains the tools to build, debug and deploy your applications. The Visual Studio 2010 plug-in allows developers to use Visual Studio 2010 to develop, debug and deploy their applications to an Android simulator, an Android device, or the Android Application Store.
Being the customer of Mono product you get one-year subscription to its product updates. The updates engaged the bug fixes and API changes. You could check the latest updates for Mono on the website called Xamarian Developer Center following this linkhttp://docs.xamarin.com/.
One of the latest upgrades released in May of 2012 by Xamarian Mono for Android is considered the research project called XobotOS.
XobotOS – the attempt to put C# code in the place of removed Java code in Android operating system. The idea is to write native code using C# instead of Java seems to extend the opportunities of Mono project. As the developers say the transition from Dalvik to Mono virtual machine performed good results like high-performance and low-battery consuming. Sharpen was chosen as the tool convertor for porting million lines of Java code to C#. It was upgraded for XobotOs and presented as its part release. The next goal of the company isto provide the direct access to the graphics library Skia for building applications.
What is the pricing?
Monotouch/MonoDroidare available in Professional Edition and Enterprise Editions: Monotouch/MonoDroid costs $399 for the entry level Professional edition and $999 and $2,499 for the Enterprise and Enterprise Priority version. A trial version is available which isn’t time limited but only allows deployment to an iPhone simulator.
The development of applications using cross platforms development approach seems to give the right idea for the developers how to manage with different environments and languages. Having reviewed the Mono project frameworks the advantages both of them may be summed up as follows:
– Applications written in C# for Android (MonoDroid) could be easily ported to iOS (MonoTouch);
-The source code written on C#, could be reused in MonoDroid and MonoTouch;
– The full support of C#: Language Integrated Query (LINQ), delegates, lambdas, events, garbage collection and many other features
– The support of Visual Studio and XCodefor bothMonoDroid and MonoTouch
– New challenges and updates guides
If you know something about programming with MonoTouch/ModoDroid and you have anything to add to my review, please, feel free to share your thoughts and experience on this point.