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

前端 未结 9 1897
旧巷少年郎
旧巷少年郎 2021-01-05 14:31

I have an app that I\'ve written in C#/WinForms (my little app). To make it cross-platform, I\'m thinking of redoing it in Adobe AIR. Are there any arguments in favor of Win

相关标签:
9条回答
  • 2021-01-05 15:11

    I asked a similar question last week. I've been using Mono all along, and have had no issues running the applications I compile to IL to run on SuSE linux (I usually run KDE) or windows, however, I've not gone out and got a mac yet to test it on. I will be soon, though, probably with in a couple weeks. But all and all development in Mono has been very good at creating application that will run on multiple platforms.

    0 讨论(0)
  • 2021-01-05 15:13

    Why would you go with Air?

    Use GTK#, and you have a cross platform forms engine and you get to keep your C# code.

    0 讨论(0)
  • 2021-01-05 15:19

    I don't think there is a future for WinForms at all. Since it appears to have been a stop-gap solution even in MSFT world ( a very thin wrapper around Win32). And virtually no changes seem to have been made to System.Windows.Forms in both .NET 3.0 and 3.5

    </speculation>
    

    I would use Java or Air.

    0 讨论(0)
  • 2021-01-05 15:20

    I think that 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 - forward slashes works on all OS's), then Mono shouldn't have major problems running an unmodified WinForms program. Just make sure you test for graphical glitches.

    0 讨论(0)
  • 2021-01-05 15:21

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

    0 讨论(0)
  • 2021-01-05 15:30

    As far as my experience in Flex/AIR/Flash actionscripting goes, Adobe AIR development environment and coding/debugging toolsets are far inferior to the Visual Studio and .NET SDK as of the moment. The UI toolsets are superior though.

    But as you already have a working C# code, porting it to ActionScript might requires a redesign due to ActionScript having a different way of thinking/programming, they use different primitive data types, for example, they use just a Number instead of int float double etc. and the debugging tools are quiet lacking compared to VS IMO.

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

    But if you don't mind the coding/debugging tooling problems, then AIR is a great platform. I like how Adobe integrates the Flash experience into it e.g. you can start an installation of AIR application via a button click in a flash movieclip, that kind of integration.

    0 讨论(0)
提交回复
热议问题