0

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?

Boris Yankov
  • 1,530
  • 14
  • 21

2 Answers2

1

I think if you are looking at the part of what system best fit. I would go with a latest release of MVC4 since it has an option to create a views that will be specifically used for the mobile devices which uses java-script to perfectly render components but it would be a web app that would look and feel like a mobile app. Choosing between mono and phone gap I would probably go with monotouch since it has a lot more features and it would probably be easier to implement it in you app.

COLD TOLD
  • 13,513
  • 3
  • 35
  • 52
  • MVC4 does not really help with the thin-client-ness at all. And using Mono I will really need to support at lest 4 distinct platforms (Win + OS X + Andrid + iOS). – Boris Yankov Nov 09 '11 at 11:23
1

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)

Community
  • 1
  • 1
poupou
  • 43,413
  • 6
  • 77
  • 174