There Will Be No Metro UI for Mono
Miguel de Icaza said that Xamarin won’t port Metro to other platforms, one of the reasons being Linux’ failure on the desktop. .NET developers interested in writing cross platform apps will be able to do so using Mono for the business code and rewriting the UI code for each platform.
To make sure there is no misunderstanding regarding Xamarin’s plans for Mono and Windows Runtime (WinRT) UI (Metro), Miguel de Icaza announced on his blog that they “are not working on a WinRT UI stack for Linux, and do not have plans to.” De Icaza mentioned the possibility to bring the Metro UI to Mono by using some of the Moonlight code, but he does not seem to consider it a worthy endeavor, expressing his doubts about Linux which might not be able to keep up with “the growth of other consumer environments”.
In a parallel post, Tim Anderson posted some remarks made by de Icaza during a private conversation at BUILD 2011, the Mono founder expressing his sadness on the current state of desktop Linux, with direct implications on Mono for Linux:
To be honest, with Linux on the desktop, the benefits of open source have really played against Linux on the desktop in that we keep breaking things. It is not only incompatibilities between Red Hat, Unbuntu, Suse, but even between the same distribution. Ubuntu from this week is incompatible with the one nine months ago. And then there are multiple editions, the KDE version, the Gnome edition, the one that is the new launching system.
When you count how many great desktop apps there are on Linux, you can probably name 10. You work really hard, you can probably name 20. We’ve managed to piss off developers every step of the way, breaking APIs all the time.
I’m heartbroken, that’s the bottom line. …
I think that Linux has a tough time on the desktop. And the desktop is starting to not matter any more.
So, it is clear that we won’t be seeing a cross-platform Metro UI. And that is consistent with Mono’s approach which did not attempt to port WPF to other platforms, since it required too much funding and effort. But what UIs are Mono applications going to use if they are going to be cross-platform? De Icaza suggests the following:
- Windows: WinRT, Winforms, WPF (fallbacks: Gtk#, Silverlight)
- MacOS: MonoMac (fallback: Gtk#, Silverlight)
- Linux: Gtk#
- Android: MonoDroid APIs
- iOS: MonoTouch
- Windows Phone 7: Silverlight
- XBox360: XNA-based UI
Having to use many separate UIs for all these different platforms in order to be able to write cross-platform applications makes one wonder if Mono is going to be an attractive choice any longer. De Icaza sees value in having a clear separation between the business code of the application and its UI, and the Mono business code will run on all those platforms, developers having to rewrite only the UI part. And that is actually better because having native UI code makes the application look better than one using a cross-platform UI.
But the rise of web development frameworks, such as jQuery/jQuery UI/jQuery Mobile, PhoneGap or Sencha, and the overall tendency towards HTML5 and web technologies, emphasized lately by the direction taken by Metro and Windows 8, makes one wonder how much room there will be left for Mono and how many developers will choose it for their cross-platform solutions. Mono is attractive for cross-platform developers with investments in .NET, but will that be enough?
RE: There will be no Metro UI for Mono
by
jean-simon Larochelle
Re: RE: There will be no Metro UI for Mono
by
N T
Re: RE: There will be no Metro UI for Mono
by
m c
At least Mono can run on all those platforms to start with.
Re: RE: There will be no Metro UI for Mono
by
Sergio Navarro
Mono will not invest on new UIs for Linux Desktop but it is a very good solution for Linux servers in order to develop Mono + HTML5 web apps. Indeed, it is a very interesting alternative specially because IN MY OPINION currently C# is a more advanced language than Java.
The decission for selecting C# or Java for multiplatform apps is not a black or white answer. It depends on the amount of platforms you need to cover and the quality of the UI you need to provide.
Re: Does Java run on WP7 ?
by
jean-simon Larochelle
Educational Content
Writing Usable APIs in Practice
Giovanni Asproni May 19, 2013
Concurrency in Clojure
Stuart Halloway May 17, 2013





Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think