如何快速简单开发跨平台桌面应用程序(适配麒麟系统+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)
    上一篇 2024年5月19日 下午11:26
    下一篇 2024年5月19日 下午11:38

    相关推荐

    • [进度计划编制软件]

      进度计划编制软件 进度计划编制软件是一种用于帮助我们编制、跟踪和管理进度计划的工具。在商业、工程、研发等领域中,进度计划的重要性不言而喻。通过使用进度计划编制软件,我们可以轻松地创…

      科研百科 2024年5月24日
      80
    • 合同管理软件多少钱

      合同管理软件多少钱 合同管理软件是一种用于管理合同的软件,可以帮助企业更好地管理合同流程,提高效率,减少错误。随着企业合同管理需求的不断增长,合同管理软件的价格也成为了企业关注的话…

      科研百科 2024年8月26日
      31
    • 科研项目学科专业是什么

      科研项目学科专业是什么 科研项目学科专业是科学研究的一个重要领域,决定了一支科研团队在什么领域进行深入的探究和研究。在选择科研项目学科专业时,需要考虑到团队的研究方向、研究能力和资…

      科研百科 2025年5月10日
      1
    • 科研项目中标证明模板

      科研项目中标证明模板 尊敬的XXX项目组: 感谢对我们公司的推荐,我们荣幸地宣布,我们成功中标了贵公司的XXX项目。 我们代表公司,向贵公司表示最热烈的祝贺。我们非常欣赏贵公司对该…

      科研百科 2025年5月6日
      1
    • 办公楼项目管理系统费用

      办公楼项目管理系统费用:如何优化项目管理软件的使用 随着现代商业的发展,办公楼项目管理系统已经成为了项目管理中不可或缺的一部分。项目管理系统可以帮助企业更好地管理项目进度、成本和质…

      科研百科 2025年1月16日
      0
    • 科研项目申请注意事项

      科研项目申请注意事项 科研项目申请是一项非常重要的任务,它涉及到个人和机构的知识产权,也涉及到未来的研究和职业发展。在申请科研项目时,需要注意以下事项: 1. 选择合适的研究方向:…

      科研百科 2025年5月21日
      0
    • 这30项重点与你有关!2022成都教育这样干(成都教育新政)

      2022年是我国进入全面建设社会主义现代化国家、向第二个百年奋斗目标进军新征程的重要一年,我们党将召开二十大,四川省将召开第十二次党代会,成都市将召开第十四次党代会。 ★全市教育工…

      科研百科 2024年6月30日
      95
    • 视频播放有收益的平台有哪些

      视频播放平台是指专门提供视频内容的在线平台,这些平台允许用户上传和播放视频内容,并且可以与用户进行交互以获得收益。随着互联网的发展,越来越多的视频播放平台涌现出来,下面是一些目前比…

      科研百科 2024年10月29日
      8
    • 公司劳动合同管理规定

      第一条 为加强对劳动合同的管理,维护员工和公司双方的合法权益,根据《中华人民共和国劳动法》,制定本规定。 第二条 公司录用员工,必须签订劳动合同。根据不同工种,劳动合同分为: (一…

      科研百科 2022年11月20日
      235
    • 兰州牧药所以项目带动藏区牦牛藏羊养殖水平

          12月9日,中国农业科学院兰州畜牧与兽药研究所主持完成的甘肃省科技重大专项 “甘南牦牛藏羊良种繁育基地建设及健康养殖技术集成示范&…

      科研百科 2022年5月16日
      270