Cross Platform Development with Mono
stephenhaunts.com
stephenhaunts.com
So, what should you use instead? Qt is better, but not great. It's still bad enough that TeamTalk, a voice chat app that's popular among blind people, has a cross-platform Qt app but also a "classic" MFC app for Windows. The latter used to be the official Windows client, but is now maintained just for blind users.
wxWidgets is better in some ways, because it uses native controls on each platform. Except where it doesn't; for example, the data view control is non-native on Windows, whereas the list view control is non-native in the Mac and GTK ports. and wxHTML is non-native across the board. Still, with some pain, wxWidgets can be made to work for cross-platform accessible apps.
SWT might be a good choice, if you can make it work for .NET/Mono using IKVM.NET. SWT is better than wx in that where it has to use non-native controls, it implements the platform accessibility APIs; it helps that SWT is backed by IBM, which has the resources to put into this kind of thing, and the incentive to do so in the form of sales to government agencies and the like.
Some potentially interesting blog posts: http://blog.qt.digia.com/blog/category/accessibility/ I wonder what came out of the major upgrade in Qt 5, from looking around the web it seems to support MSAA fully and also I2A in some form.
Edit: When I said "native code", I meant that Mono allows you to wrap native libraries with greater ease than anything else I've ever encountered.
1) http://docs.xamarin.com/guides/ios/advanced_topics/limitatio...
https://bugzilla.xamarin.com/show_bug.cgi?id=3106
--
Steps to reproduce the problem:
1. Copy some text in any non-mono application
2. Paste it to mono application.
Actual Results:
Copy&Paste doesn't work.
Expected Results:
Working clipboard.
How often does this happen?
Always.
--
Wow. So by cross platform they mean "unusable GUI apps on Macs"
-Build a GUI app in C# -Run in on both my Windows dev machine (Windows 7), and my main desktop (OS X)
That's it. I don't care even what I have to use to build the app (Windows Forms, Stetic, etc).
Any advice?
This is not my case, but I really do find value in learning a technology that helps you build cross-platform solution. I seriously considered using it.
"Thankfully, there is the Mono .NET implementation that I can use and it is really well supported."
But it's kind of unsupported and most of the time it lags behind. Currently on my brand new ubuntu system, it's version 3.2, on my "stable" ubuntu its 2.10. The current version is 3.4.
" As well as being open source, Mono also has a company, Xamarin, sponsoring its development as they use the mono system for their IOS and Android ..."
You cannot develop iOS nor Android application on Linux with Xamarin, You need Windows or OS X.
This is old bug still accurate. https://bugzilla.xamarin.com/show_bug.cgi?id=142
This is an actual deal breaker for us. Haft of the team is using OS X and the other haft Ubuntu.
Isn't that more of a problem with Debian/Ubuntu than it is Mono? You're not comparing what Mono's released to Microsoft's .NET runtime, you're comparing what Ubuntu ships to what Mono themselves have released.
If it's a couch-developed app for your own use, this is not an issue.
And until you actually have cross platform development tools that don't suck, .NET is not a viable option.
I think it matters a lot. That's why a lot of people don't care about .NET/C# actually, because they can't stand Windows.
Source: I'm using async/await in Xamarin.Android
Maybe it's because Linux Mint doesn't have the latest version of Mono in the package repository?