首页 / 知识
关于使C#/ Winform应用程序跨平台:使C#/ Winform应用程序跨平台-我应该使用AIR,Mono还是其他工具?
2023-04-15 22:44:00

Making a C#/Winform application cross-platform - should I use AIR, Mono, or something else?我有一个用C#/ WinForms编写的应用程序(我的小应用程序)。 为了使其跨平台,我正在考虑在Adobe AIR中重做它。 是否有支持WinForms作为跨平台应用程序的论点? Winforms是否有跨平台的未来(例如Mono等)? 有关跨平台UI开发的建议? 目前,跨平台的意思是Mac OSX,Windows和Linux。 再次提出该问题,并获得了较好的答复。 就我在Flex / AIR / Flash动作脚本方面的经验来看,目前Adobe AIR开发环境和编码/调试工具集远不及Visual Studio和.NET SDK。 UI工具集虽然很出色。
但是,由于您已经有了可以正常工作的C#代码,由于ActionScript具有不同的思维/编程方式,将其移植到ActionScript可能需要重新设计,它们使用不同的原始数据类型,例如,它们仅使用 我听说Mono的GtkSharp很安静,是一个不错的平台。 但是,如果您不介意编码/调试工具问题,那么AIR是一个不错的平台。我喜欢Adobe如何将Flash体验整合到其中,例如您可以通过单击Flash Movieclip中的按钮(这种集成)来开始安装AIR应用程序。
我没花太多时间在AIR上,我个人认为这是将Web应用程序带到桌面并为其提供外壳程序或在桌面上运行现有Flash / flex项目的最佳选择。 顺便说一句,如果您不了解ActionScript,我的意思是它的详细信息,怪癖等等,请不要忘记考虑使用Google搜索答案的时间。
总是很难预测会发生什么,但是我知道至少有一个项目(塑料SCM)在Win,Mac和Linux上使用Mono Winforms,因此它肯定是可行的。但是,他们说他们从头开始构建了大多数控件(并声称他们想将它们作为开源发布,但不确定是否或何时发布),因此您将需要进行一些工作以使事情看起来"漂亮"。 。 我在非Windows平台上使用Winforms玩,不幸的是,它并不完全"成熟"(尤其是在Mac上)。因此,开箱即用的产品可能无法满足您的需求。 如果您认为台式机应用程序不是提供跨平台解决方案的最佳方法,则始终可以采用C#编写业务逻辑,并使用ASP.NET创建成熟的Web应用程序或使用Silverlight,还有许多其他选择与C#存在。 你为什么要选择Air? 使用GTK#,您将拥有一个跨平台的表单引擎,并且可以保留C#代码。 Mono完全支持WinForms,因此它们是跨平台的。 如果要使用.net Framework,Microsoft Silverlight是一个不错的选择(唯一?)。浏览器作为shell很好,但是您也可以为其编写自己的应用程序shell。例如,斯科特·汉德尔曼(Scott Handelman)提到了用Silverlight编写的《纽约时报》阅读器,并在Mac的Cocoa上编写了Hostet。 好吧,我认为使用C#可靠地跨平台的唯一方法是Microsoft Silverlight,但实际上不是WinForms和基于浏览器的方法。除此之外,是的,Mono是一个机会。 我上周问过类似的问题。我一直都在使用Mono,并且在运行我编译为IL的应用程序以在SuSE linux(我通常运行KDE)或Windows上运行时没有问题,但是,我还没有离开过市场,没有Mac可以测试它在。不过,我很快就会有几个星期的时间。但是Mono的所有开发都非常擅长创建可在多个平台上运行的应用程序。 我认为,只要确保您编写的业务逻辑代码是跨平台的(即,在路径中使用反斜杠仅在Windows上有效-正斜杠在所有OS上均有效),那么Mono在运行未修改的程序时就不会有大问题WinForms程序。只需确保测试图形毛刺即可。 我认为WinForms根本没有未来。因为即使在MSFT世界中,它似乎也是一个权宜之计(围绕Win32的非常薄的包装器)。实际上,.NET 3.0和3.5中的System.Windows.Forms似乎都没有进行任何更改。
我会使用Java或Air。 |
最新内容
相关内容
linux命令下载工具?
linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文件,Linux下多线程下载工具MWget和Axel使用介绍1、wget是linux下一linux好用的命令工具?
linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,Linux系统中进行磁盘管理的常用命令有哪些?分别有什么功能Linux磁linux常用命令行工具?
linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作linux命令行专业工具?
linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命linux命令行执行工具?
linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,shell编程(掌握Linux命令行工具)1、在开始Shell编程之前,我们需要开发linux命令工具?
开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标准,Linux界面开发工具有哪些?1、大多数Linux发放版本,自身捆绑了诸linux命令行工具大全?
linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,linux常用的命令有哪些linux系统常用操作命令如下:ls:全拼list,功能linux命令联想工具?
linux命令联想工具?,地址,工作,系统,工具,状态,标准,信息,命令,目录,左下角,Linux:Python编写Linux自定义命令工具首先我们先认识一下cat指令linux命令工具怎么用?
linux命令工具怎么用?,地址,系统,工作,单位,工具,密码,服务,命令,处分,基础,怎样在Win10中使用Linux命令推荐:win10系统下载中文具体如下:首先,点linux命令行截图工具?
linux命令行截图工具?,工具,电脑,软件,系统,截图,网站,工作,环境,暂停,命令,Linux图形化界面下使用命令进行截图的方法1、以前在LINUX里面截图linux命令工具教程?
linux命令工具教程?,系统,工具,信息,基础,基础知识,代码,在线,地址,项目,服务,Linux系统中的curl命令使用教程1、首先,连接相应linux主机,进入到linux命令行渗透工具?
linux命令行渗透工具?,系统,发行,网络,工具,信息,地址,管理,数据,工程,中国,有什么linux渗透系统?kali linux是一个典型啊,内置的工具非常多的