热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:使C#/Winform应用程序跨平台–我应该使用AIR,Mono还是其他东西?分享

使C#Winform应用程序跨平台–我应该使用AIR,Mono还是其他东西?我有一个用C#WinForms(我的小应用程序)编写的应用程序。为了使它跨平台,我正在考虑在

使C#/ Winform应用程序跨平台 – 我应该使用AIR,Mono还是其他东西?

我有一个用C#/ WinForms( 我的小应用程序 )编写的应用程序 。 为了使它跨平台,我正在考虑在Adobe AIR中重做它。 有没有任何论据支持WinForms作为跨平台应用程序? Winforms是否存在跨平台的未来(例如,Mono等)? 跨平台UI开发的建议?

跨平台我的意思是,目前,Mac OSX,Windows和Linux。

这个问题再次被问到并得到了更好的回答 。

我正在考虑在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#中。

就我在Flex / AIR / Flash actionscripting中的经验而言,Adobe AIR开发环境和编码/调试工具集目前远不如Visual Studio和.NET SDK。 UI工具集虽然优越。

但是,由于您已经有了一个可用的C#代码 ,将其移植到ActionScript可能需要重新设计,因为ActionScript具有不同的思维/编程方式,它们使用不同的原始数据类型,例如,它们只使用Number而不是int float double与VS IMO相比,调试工具很安静。

我听说Mono的GtkSharp是一个不错的平台。

但是如果你不介意编码/调试工具问题,那么AIR就是一个很好的平台。 我喜欢Adobe如何将Flash体验集成到其中,例如,您可以通过Flash动画片段中的按钮单击开始安装AIR应用程序,这种集成。

Mono完全支持WinForms,因此它们是跨平台的。

你为什么选择Air?

使用GTK# ,你有一个跨平台表单引擎,你可以保留你的C#代码。

我认为使用C#可靠地实现跨平台的唯一方法是Microsoft Silverlight ,但实际上不是WinForms,而是基于浏览器。 除此之外,是Mono是一个机会。

如果您想使用.net Framework,Microsoft Silverlight是一个很好的(唯一的?)选择。 浏览器作为shell做得很好,但您也可以为它编写自己的应用程序shell。 例如,斯科特·汉德尔曼( Scott Handelman) 提到在Silverlight上写的纽约时报读者和在Mac上的Cocoa上的hostet。

我认为WinForms根本没有未来。 因为即使在MSFT世界(Win32的一个非常薄的包装器),它似乎也是一个止损解决方案。 几乎没有对.NET 3.0和3.5中的System.Windows.Forms进行任何更改

  

我会使用Java或Air。

我认为,只要你确保你编写的业务逻辑代码是跨平台的(即在路径中使用反斜杠只能在Windows上运行 – 正斜杠适用于所有操作系统),那么Mono应该没有运行未经修改的主要问题WinForms程序。 只需确保测试图形故障。

上周我问了一个类似的问题。 我一直在使用Mono,并且没有运行我编译为IL的应用程序在SuSE linux(我通常运行KDE)或Windows上运行的问题,但是,我没有出去并且还没有测试到Mac它在。 不过,我很快就会在几周内完成。 但Mono的所有开发都非常擅长创建可在多个平台上运行的应用程序。

上述就是C#学习教程:使C#/ Winform应用程序跨平台 – 我应该使用AIR,Mono还是其他东西?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • Visual C# TabControl中TabPage分离成若干个Form的小办法
    写Visual的同学们都会用到这个TabControl的控件,然后会分好几页的TabPage,每页都有很多控件和业务逻辑,但是每页的关系也 ... [详细]
  • Pylance有哪些特性
    这篇文章给大家分享的是有关Pylance有哪些特性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Pylance安装和其他VSC ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
author-avatar
孤鹰与战狼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有