Creating a cross-platform C # / Winform application - should I use AIR, Mono, or something else?

I have an application that I wrote in C # / WinForms ( my small application ). To make it cross-platform, I am considering remaking it in Adobe AIR. Are there any arguments in favor of WinForms as a cross-platform application? Is there a cross-platform future for Winforms (e.g. Mono, etc.)? Suggestions for developing cross-platform interfaces?

By cross-platform, I mean now Mac OSX, Windows, and Linux.

This question was asked again and answered with great success .

+6
c # cross-platform winforms
source share
9 answers

I am considering remaking it in Adobe AIR

Without spending much time on AIR, my personal opinion is that it is best to bring webapp to the desktop and provide it with a shell or run an existing flash / flex project on the desktop.

Btw, if you do not know ActionScript, I mean its details, quirks, etc., do not forget to specify the time during which it will respond to requests.

Are there any arguments in favor of WinForms as a cross-platform application? Is there a cross-platform future for Winforms (e.g. Mono, etc.)?

It is always difficult to predict what will happen, but there is at least one project (Plastic SCM) that I know of that uses Mono Winforms on Win, Mac, and Linux, so this is certainly doable. However, they say that they built most of their controls from the very beginning (and say they want to release them as open source, but are not sure when and when), so you’ll need to do some work to make it look " nice",

I played with Winforms on platforms other than Windows, and, unfortunately, it is not quite “mature” (especially on Mac). So what you get out of the box may or may not be enough for your needs.

If you decide that a desktop application is not the best way to provide a cross-platform solution, you can always take your business logic written in C # and create either a full-featured webapp using ASP.NET or go to Silverlight, so there are many others options with c #.

+5
source share

As far as I remember in the Flex / AIR / Flash scripts, the Adobe AIR development environment and coding / debugging tools are far behind Visual Studio and the .NET SDK at the moment. The UI toolkit is superior though.

But since you already have working C # code, porting it to ActionScript may require redesign because ActionScript has a different way of thinking / programming, they use different primitive data types, for example, they use only Number instead of int float double and etc., and there are no debugging tools compared to VS IMO.

And I heard that Mono GtkSharp is a quiet decent platform.

But if you don't mind coding / debugging issues, then AIR is a great platform. I like the way Adobe integrates the Flash experience into it, for example. you can start the installation of the AIR application by clicking the button in the flash movie clip, such integration.

+6
source share

WinForms is fully supported by Mono, so they are cross-platform.

+3
source share

Why are you going with the air?

Use GTK # , and you have a cross-platform form engine, and you get C # code.

+3
source share

I think that the only way for cross-platform reliability with C # is Microsoft Silverlight , but in fact it is not WinForms, based on. Also, yes, Mono is a chance.

+1
source share

If you want to use the .net Framework, Microsoft Silverlight is a good (only?) Choice. The browser works fine as a shell, but you can also write your own application shell. For example, Scott Handelman mentions the NY Times Reader, written in Silverlight and hostet on Cocoa on Mac.

+1
source share

I do not think there is a future for WinForms. Since this, apparently, was a stop-gap solution even in the MSFT world (a very thin shell around Win32). And almost no changes to System.Windows.Forms in .NET 3.0 and 3.5

 </speculation> 

I would use Java or Air.

0
source share

I think as long as you make sure that the business logic code you write is cross-platform (i.e., using backslashes in paths only works on Windows - slashes work on all OSs), then Mono should not have serious problems starting an unmodified WinForms program. Just make sure you check for graphic glitches.

0
source share

I asked a similar question last week. I use Mono all the time, and I had no problems running the applications that I compiled for IL, to run on SuSE linux (I usually run KDE) or Windows, however I have not left yet and got a Mac, but for testing it is on . Soon I will soon, perhaps in a couple of weeks. But all the developments in Mono were very good at creating an application that would run on multiple platforms.

0
source share

All Articles