Search code examples
c#asp.net-mvccordovaxamarin.iosmultiplatform

Cross platform framework for thin-client to a .net backend?


A system is to have an ASP.Net MVC back-end. Part of the UI will be simple HTML5 + JavaScript.

There is another part that will be a thin client. The goal is to have it natively implemented for the several most popular consumer platforms - Windows, OSX, iOS, Android and possibly WP7. (and why not Windows 8 Metro App?)

What is the best choice of development tool to use for this purpose?

The two that come in mind are:

  1. Mono + MonoTouch + MonoDroid. Code in C#, user interface in... what?
  2. HTML5/JS + PhoneGap. A concern will be how can this behave as a native app on Windows and OS X.

Am I missing a good alternative? Am I missing some caveats and hidden traps?

What would be the most 'future-proof' framework? Are there any examples of other people doing this very concrete scenario?


Solution

  • That's a lot of questions and I won't try to answer all of them. There are already several similar (and good) questions and answers on the those subjects here in stackoverflow. I suggest you to look at the most popular questions in each tag and you're likely to find opinions (best choice), alternatives, caveats...

    Here's one (less recent): Targeting/Developing for multiple mobile platforms with one programming language (C#)? Cost-Benefit?

    Now specifically about:

    Mono + MonoTouch + MonoDroid. Code in C#, user interface in... what?

    With that approach you can get the real native UI on each platform and user experience on each of them. This might look like a lot of work (and it could be depending on your application) but it does not have to be (again a lot of code can be shared, same MVC pattern). See this answer from a customer case.

    Disclaimer: I work for Xamarin (maker of both MonoTouch and Mono for Android)