

Ask HN: is Mono for Android worth it? - ConstantineXVI

Been toying with doing an Android app on the side. I like the idea of writing it in C# (as far as "standard" languages go, I'm far more comfortable with it v. Java); but not really sure it's worth $400 when I'm not even sure I'll get $40 income from said app to begin with. Anyone that's used it, is it worth the money even if you aren't targeting WP or iOS also (via MonoTouch)? I'll pay if it's worth the money, but I don't want to be 6 weeks in and find some necessary API that Mono doesn't glue particularly well to.
======
migueldeicaza
We just blogged a case study from the PictureTHIS, an app from the guys that
did Draw a Stickman:

[http://blog.xamarin.com/2012/08/07/picturethis-fun-for-
both-...](http://blog.xamarin.com/2012/08/07/picturethis-fun-for-both-ios-and-
an_ro_d-users/)

They have a nice case study.

You do not have to pay before you try, the evaluation version lets you do all
your development on the simulator. If you like it, you can buy it and deploy
to device. And if you are unhappy, you can return it within 30 days.

That said, we will work hard to make sure you are delighted with our product,
and keep you as a user.

~~~
ConstantineXVI
Thanks for dropping in, Miguel. Liking what I'm seeing so far; sending a mail
to Xamarin's support line w/ a few notes shortly

------
duncan_bayne
Well, I don't know about Mono on Android, but my business partner and I tried
using Mono to port a simple .NET app to OSX and it was disastrous.

Layout was wrong, the application was ugly and non-native, and the final straw
was the printing API that flat out crashed whenever we tried to use it. We
ended up re-writing in Java, and achieving a relatively high level of quality
in a short period of time. Java was easy to pick up after C#, and the tooling
was much more mature than Mono.

~~~
migueldeicaza
If you want a cross-platform UI from the same codebase, you should use Gtk#,
not use Windows.Forms. But that requires a UI rewrite.

An alternative is to split your code along the business logic/presentation
layer boundary. Share the business logic and write a platform specific UI
using the native toolkit on each platform: WPF or Winforms on Windows, MonoMac
(Cocoa) on Mac and Gtk# on Linux.

The Winforms stack has not been maintained for about 5 years, and was never
particularly debugged nor maintained on Mac. We wanted to remove it, and just
tell people "Sorry, this API is useless", but there are a few type
dependencies that are needed elsewhere.

------
nvmc
While I've had a tinker with both Mono and Android, I haven't used Mono on
Android. I have however, had the displeasure of using it on GNU+Linux. I'd
sooner do a UI rewrite than touch Mono again.

