如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

因公司有国产化(主要兼容麒麟操作系统 armV8架构的处理器)的项目的需求,为桌面应用程序,根据公司资源情况,在技术层面进行了一些选型调研。

一般来说,开发语言本身都是有跨平台能力的,比如javajvm),c#(.net core),python(python解释器),c 等等,所以要调研选型的方向主要是gui的跨平台能力。

框架

语言

界面语言

性能

开发成本

文档

qt

C ,python等

Qml => xml

Eto

C#

1. xaml => xml
2. Code => C#
3. json => Json

一般

一般

Electron

nodejs

vue,html

较差

一般

较多

Cef

java,python等

html,vue,js等

较高

较少

如上所示:

如果对性能没什么要求,而且要界面绚丽,能加载html,与底层交互少,那么electron为最佳选择,而且electron开发简单,上手快;

如果单纯要求性能,那就是c 和qt了;

如果对性能要求不是很高,而且又要兼顾成本,还是建议eto c#。虽然eto的资料不是很多,但有官方demo和基于eto的一些开源项目,自己跑一下,学习一下发现还是很简单的,业务逻辑使用c#,快速开发也不会有什么坑;

至于最后一种方案cef,这个是基于google的开源浏览器内核项目cef,业务端语言可以是python、java、c#、go语言等,界面交互直接用html js方案,实现了开发C/S程序的前后端分离,前端调用业务端使用jsbridge方式,业务端渲染界面使用websocket,保证实时高效。

根据公司资源情况,我选择了c# eto技术方案。

eto的github地址:https://github.com/picoe/Eto,学习一下demo部分足够上手开发了。

根据官方描述:此框架(Eto)可用于使用本地工具包(native toolkit)和简单的API构建跨多个平台运行的应用程序,说白了就是eto支持多种GUI渲染。基于此,我选用gtk作为gui库。

如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

图1 Eto Demo示例

Windows下Eto C#开发环境的搭建:

1.安装GTK3。https://www.gtk.org/docs/installations/windows/,我这里使用了 MSYS2方式 安装,简单快速;

  • 2.vs2019 安装拓展 。下载扩展插件,下载地址:https://marketplace.visualstudio.com/items?itemName=CurtisWensley.EtoFormsVisualStudioAddin,下载完成后双击安装即可;
  • 3. 安装完成后重启vs2019;
  • 4.创建项目,选择Eto.Forms.Application,下一步创建项目,如下图所示。
  • 如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

    图2

  • 如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

    图3

  • 如上面所说,界面展示有三种实现方式:json,code,xaml,这里我选择的是code方式,主要是为了尽量保持与开发winform程序一致的代码结构和体验,更容易上手。
  • 如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

    图4 Eto代码结构

  • 如图4所示,是不是感觉很熟悉,运行/发布程序,程序运行结果如下图所示。
  • 如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

    图5

  • 麒麟系统 arm处理器上运行,程序发布的时候,目标运行时选择对应的平台,点击“确定”,“发布”即可,等待发布成功。
  • 如何快速简单开发跨平台桌面应用程序(适配麒麟系统+armv8)

    图5 程序发布

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    (0)
    上一篇 2023年4月22日 上午9:10
    下一篇 2023年4月22日 上午9:27

    相关推荐

    • reserchgate

      reserchgatereserchgate“我想做咨询”,有人说“像我一样的家长,不能被人骗”。这种说法很有意思。如果孩子真的被骗了,也不要慌,有些家长会为了安慰孩子,和孩子说“…

      科研百科 2024年11月18日
      0
    • 档案管理系统设计与实现

      档案管理系统设计与实现 随着现代社会的不断发展,人们对于档案管理的需求也越来越高。档案管理系统是一个重要的信息化工具,可以帮助人们管理大量的文件和资料,提高工作效率。本文将介绍档案…

      科研百科 2024年8月20日
      33
    • 西藏自治区科技项目数据库系统完成建设并投入运行(西藏自治区科技项目管理系统)

      近日,记者从自治区科技信息研究所了解到,目前,“西藏自治区科技项目数据库系统建设与数据分析”项目已完成建设并投入运行。该项目的建成,系统整理了西藏自治区成立以来的科技项目档案、获奖…

      科研百科 2024年1月17日
      106
    • 亿利资源总部(亿利资源oa协同办公)

      亿利资源oa协同办公:提升企业效率与协同力 随着企业规模的扩大和业务的增长,协同办公的重要性越来越凸显。亿利资源作为一家大型企业,深知协同办公对于企业的重要性,因此他们采用了oa协…

      科研百科 2024年8月26日
      44
    • 沈阳606所是国企还是央企

      沈阳606所是国企还是央企? 沈阳606所是中国航空航天工业部旗下的一个国企,成立于1958年,是中国航空航天工业的基础力量之一。该所主要从事航空航天材料的研究、开发和制造,是航空…

      科研百科 2024年10月11日
      45
    • 防PPP异化泛化 财政部划8条红线规范项目管理

      新华社北京11月17日电(郁琼源、杨学嘉)新项目3种情形不得入库、已入库项目5种情形予以清退,财政部日前下发通知,为政府和社会资本合作(PPP)项目规范运作划8条红线,严防PPP异…

      科研百科 2022年10月26日
      124
    • 2019项目管理师

      2019项目管理师:一场变革的参与者 2019项目管理师考试已经结束,这是项目管理领域一次重要的考试,它标志着项目管理师职业标准的更新和升级。作为这场变革的参与者,项目管理师需要具…

      科研百科 2024年8月15日
      53
    • 内控管理包括哪些方面?如何加强内控管理?(内控管理包括哪些方面-如何加强内控管理工作)

      内控管理是现代单位管理中至关重要的一环,它涵盖了许多方面,能够帮助单位保障资产安全、提高采购效率、规范经营行为。本文将介绍内控管理的主要方面以及如何加强内控管理。 内控管理是指单位…

      科研百科 2024年1月21日
      112
    • 项目市场化什么意思(科研项目市场化管理制度)

      科研项目市场化管理制度 随着市场经济的发展和科技竞争的加剧,科研项目市场化已成为项目管理的必要手段。本文将介绍一种科研项目市场化管理制度,以帮助企业更好地利用市场机制管理科研项目。…

      科研百科 2024年8月5日
      49
    • 低代码开发平台ipad

      低代码开发平台是一种新兴的软件开发工具,它可以帮助开发人员快速构建应用程序,而无需编写大量的代码。随着移动设备的普及,iPad成为了许多人的首选工具。因此,将低代码开发平台与iPa…

      科研百科 2024年3月1日
      99