我有一个用C#/ WinForms(我的小应用程序)编写的应用程序.为了使它跨平台,我正在考虑在Adobe AIR中重做它.有没有任何论据支持WinForms作为跨平台应用程序?Winforms是否存在跨平台的未来(例如,Mono等)?跨平台UI开发的建议?
通过跨平台我的意思是,目前,Mac OSX,Windows和Linux.
这个问题再次被问到并取得了更好的成功.
就我在Flex/AIR/Flash actionscripting中的经验而言,Adobe AIR开发环境和编码/调试工具集目前远不如Visual Studio和.NET SDK.UI工具集虽然优越.
但是,由于您已经有了一个有效的C#代码,将它移植到ActionScript可能需要重新设计,因为ActionScript具有不同的思维/编程方式,它们使用不同的原始数据类型,例如,它们只使用a Number
而不是int float double
等等.与VS IMO相比,调试工具很安静.
我听说Mono的GtkSharp很安静,是一个不错的平台.
但是如果你不介意编码/调试工具问题,那么AIR就是一个很好的平台.我喜欢Adobe如何将Flash体验集成到其中,例如,您可以通过Flash动画片段中的按钮单击开始安装AIR应用程序,这种集成.
我正在考虑在Adobe AIR中重做它
我没有花太多时间使用AIR,我个人认为最好将webapp引入桌面并为其提供shell或在桌面上运行现有的flash/flex项目.
顺便说一句,如果你不了解ActionScript,我的意思是它的细节,怪癖等,不要忘记考虑谷歌搜索答案的时间.
有没有任何论据支持WinForms作为跨平台应用程序?Winforms是否存在跨平台的未来(例如,Mono等)?
总是很难预测会发生什么,但我知道至少有一个项目(塑料SCM)在Win,Mac和Linux上使用Mono Winforms,所以它肯定是可行的.然而,他们说他们从头开始构建他们的大多数控件(并声称他们希望将它们作为开源发布,但不确定是否或何时),所以你需要投入一些工作来让事情看起来"漂亮" .
我在非Windows平台上玩Winforms,不幸的是,它并不完全"成熟"(特别是在Mac上).所以你开箱即用可能或不足以满足你的需求.
如果您认为桌面应用程序不是提供跨平台解决方案的最佳方式,那么您始终可以使用C#编写业务逻辑并使用ASP.NET创建完整的Web应用程序,或者使用Silverlight,还有很多其他选项存在于C#中.