15
votes

i am right now exploring the capabilities of Monotouch (by Xamarin) with other solution such as Monocross?

So can any one explain when to use Monotouch and when to Monocross.

What is the advantage & disadvantage of these framework w.r.t native app development?

2
The second part of this question is not appropriate.borrrden
@borrrden edited the questionuser1227928

2 Answers

27
votes

Just to try to add visually to Stephane's answer, here's a diagram slightly adapted from one of my presentations:

Diagram


Note that you don't have to use a shared library like MonoCross, MvvmCross, etc. You can always write your own architecture. This is like in web apps - you don't have to use WebForms, ASP.Net Mvx, FubuMvc, etc - you can just use Request and Response and talk more directly with the web server.

So, you can just write your own code to adapt your app to each platform like:

Diagram


Which approach you should take - depends on the requirements of you and your app... and on personal opinion too.

10
votes

Monocross is a cross platform MVC framework. As a framework, it's open source. But you need either monotouch or mono for android in order to deploy on the devices.

Those 2 stuffs doesn't compare. They sum up.

With tools like Monocross or MvvmCross, you really get a crossplatform code sharing framework, and that's your advantage over coding in native languages.