桌面应用开发技术对比,你明白了吗?(桌面应用开发前景)-尊龙游戏旗舰厅官网

作者:ayuliao

因个人兴趣,想着开发一个桌面应用软件,其具体定位是:rpa,相关的商业软件有很多,我了解使用过的几个:uipath、uibot、影刀 rpa。

什么是 rpa?其全称为 robotic process automation(机器人流程自动化),简单而言就是让计算机帮助我们执行各种重复性高的工作,对于行政、金融、政府等人力密集型部门,rpa 是很好的助力。

最近几年,rpa 相关赛道的公司融资都很猛,通常都是亿级的融资,因为我之前在公司负责过自动化工具相关的工作,所以一直有关注自动化相关的各种技术,其中 rpa 是我关注的重点,观察下来,各种 rpa 商业应用其技术实现难度不算特别大,虽然其功能很多,但感觉慢慢从基础功能搞,还可以够得着,所以一直有打算开发一个的想法。

这篇文章是第一步,对比一下目前桌面端技术栈,做技术选型。

ps: 熟悉我的朋友知道我之前使用 electron vue 开发过抖直播这个应用,但 rpa 软件需要更多系统层的支持,我在调研前,会疑惑 electron 对系统 api 的兼容情况以及是否有更好的方案,所以还是花时间调研了一下。

当然,做事情前先明确目标:

  • 我希望可以构建出一个跨平台的 rpa 桌面应用,目前多数商业 rpa 软件都局限在 windows 平台(即只有 exe 安装包)。
  • 因为 rpa 需要很多系统级的功能,所以我希望可以比较轻松的试验系统 api。
  • 因为时间、精力和能力的问题,我希望可以基于自己已有技术栈之上来开发。

桌面应用开发技术对比,你明白了吗?(桌面应用开发前景)

通过微信、qq 等各种桌面端应用,可以了解目前开发桌面端的主流技术栈,简单总结一下:

1.使用 c# wpf 依旧是开发 windows 桌面应用的主流选择,其优点是:比较成熟,参考资料比较多,其缺点是:性能一般,需要用户主动安装 net 库,虽然很多软件会直接提供下载,然后让用户安装,但依旧是一个坎,此外 wpf 只支持 windows 平台,与目标不符。

2.c qt 也是很多人的选择,qt 是否成熟,但比较重,适合开发大型应用,对于个人开发者而言,效率不高,此外我除了大学时用 c 参加过算法比赛外,很少再使用过。

3.在 windows 平台下,国内多个大众应用,如微信、qq、百度网盘都使用了 c 类duilib 的形式进行开发(类 duilib 的意思是,基于开源的 duilib 这个 windows gui 进行了二开),这种方式出的桌面应用,性能较高而且包的体积下,是专业团队比较好的选择,但不适合我这个项目,因为 rpa 并不要求太高的性能,而且我希望一份代码可以跨平台使用。

4.影刀等商业 rpa 软件使用了 c cef 的形式开发,cef(chromium embedde framework)与 electron 定位类似,基于 chromium,让开发者可以使用前端技术栈来构建桌面应用,跨平台,就是 cef 资料比较少,还需要 c 等知识,因为是对标软件使用的技术,所以加入候选技术栈。

5.vscode、github 桌面端等使用 electron 开发,与 cef 类似,electron 让我们使用前端技术便可以开发桌面应用,其优点是:资料很多、开发效果比较 ok,缺点是慢,而且对于需要比较多系统 api 的兼容因没有对标软件,所以不太好确定。

6.flutter 是 google 推出了全平台开发框架,支持 windows、macos、android、ios 甚至是汽车中的系统,调研下来的结论是,flutter 对跨平台的支持还非常早期,很多系统层的 api 并不支持,生态也刚起步,与 npm 比不了,很多东西可能要自己造,所以也不考虑。

cef github: https://github.com/chromiumembedded/cef (1.6k star) electron github: https://github.com/electron/electron (101k star)。

从 github 上看,electron 的活跃度远高于 cef,包括:版本更新频率(解决 issue 的速度、新功能的开发速度)、社群活跃度(资料丰富度)。

那为啥有些商业产品要选择 cef 呢?其优势在哪?对目前想开发的项目来说,是否重要?

相比于 electron,cef 支持 windows xp 系统,提供的很多比较底层的 c api 方便你使用系统级能力,而且也很方便与 native ui 框架融合使用,实现更近似本地应用的应用。

简单而言,使用 cef,相比于 electron 可以更轻松的做的更像原生软件,除了不支持 windows xp 这个硬伤,electron 其实可以通过 c 的方式调用更多系统级的原生能力,但这要求你对 electron 框架源码比较熟悉,当然也要会写 c 代码。

那 windows xp 系统目前占用量大吗?查阅了一下,windows xp 在 2020 年,市场占有率已经低于 1%,所以我还是偏向于选择 electron 进行 rpa 桌面应用的开发。

所以剩余的问题,便是加强对 electron 的把控感。

1.因为 electron 本身架构的原因,electron 打出来的包会比较大,但就目前个人电脑的性能而言,也不算什么特别大的问题,就像现在手机游戏一样,反正手机性能过剩,一些比较难搞的优化直接就放弃了,但在开发时,还是尽量精简 require,从而让 electron 打出的包小一点。

2.electron 对源码是没有保护的,即你开发的软件,很容易别人逆向分析,有几个尊龙游戏旗舰厅官网的解决方案,除了方案 c,都可以逆向破解,这些操作只是让可破解的人少一点而已(当然,最安全的方式是你的软件没有任何价值,放到 github 都没人 fork)。

  • a. 使用 c 编写核心逻辑,发布时,c 是编译后的二进制文件
  • b. 使用 wasm 编写核心逻辑,发布时,也是二进制内容
  • c. 核心逻辑放在后端
  • d. 使用 bytenode 将代码转成字节码

3.electron 对系统层能力的使用可能比较弱,此时需要求助 python、c 、c# 等语言,通过 ffi-napi 库可以让 node.js 使用 c dll,通过 electron-edge-js 库可以让 node.js 使用 c# dll。

  • 开发桌面应用是用 flutter 还是用 electron

https://www.zhihu.com/question/390186321

  • macos 上 flutter desktop 与 electron 的性能对比

https://juejin.cn/post/7018450473292136456

  • 对比跨平台客户端方案:electron 和 cef

https://blog.csdn.net/caperxi/article/details/115901659

  • 桌面端框架 electron 使用问题整理和总结

https://juejin.cn/post/6844904072743501831

来源: 懒编程

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

(0)
上一篇 2023年3月23日 上午8:12
下一篇 2023年3月23日 上午8:22

相关推荐

  • 很多童鞋都已经开题了,最近在撰写毕业论文,在毕业论文写作中期需提交毕业论文中期检查表,来分享以下毕业论文中期检查表应该怎么来写。授人以鱼不如授人以渔,本模板只是提供一种写作思路,大…

    科研百科 2024年4月16日
    77
  • “‘龙行龘龘’寓意群龙腾飞、吉祥好运,我想这么好的寓意,不仅要让红豆集团使用,更希望各行各业都能借此振奋精神、腾飞向上。”2023年12月22日,红豆集团有限公司党委书记、董事局主…

    科研百科 2024年6月27日
    66
  • 长江大学潘焓

    长江大学潘焓: 学术巨匠, 为国家作出巨大贡献 潘焓, 1917 年出生于湖南省长沙市,是中国著名的物理学家, 长江大学的创始人之一。他曾担任中国科学院院士、国际物理学会会士、美国…

    科研百科 4天前
    0
  • 每一台电脑都需要安装一些软件才能更好地使用,比如聊天软件,办公软件,图片处理软件,下载工具等。面对网上的各种电脑软件下载网站,很多同学都不知道哪个好,因为有些下载平台存在广告太多,…

    科研百科 2023年3月13日
    229
  • 河南省试点金融支持畜牧业

    v9d   今年,河南省是全国13个开展财政促进金融支持畜牧业试点省份之一。根据政策规定,试点省采用信贷担保、贴息等方式引导和带动金融资本,放大财政资金使用效应,支持畜牧业发展。项…

    2022年5月25日
    317
  • 甘肃张掖网临泽讯 为进一步落实落细疫情防控各项举措,牢牢守住来之不易的疫情防控成果,临泽县通过党建引领,党员带头,探索推行“1 n”党建模式,为无疫小区(楼院)创建活动铸魂赋能。 …

    科研百科 2023年1月3日
    246
  • 近日,深交所尊龙游戏旗舰厅官网信息显示,上海唯都市场营销策划股份有限公司(下称唯都股份)二轮问询回复已经挂网。 据其披露的招股书显示,唯都股份拟公开发行人民币普通股(a股)不超过1250万股,拟…

    科研百科 2022年11月25日
    237
  • 克拉玛依区人大代表胡君。 “政府工作报告实事求是地总结了克拉玛依区存在的热点、难点问题,并提出了科学的应对办法,讲出了老百姓爱听的实在话,令人振奋、催人奋进。”克拉玛依区人大代表胡…

    科研百科 2023年6月24日
    169
  • ng1    图为福茵大华项目沙盘模型ng1   为践行“一带一路”战略,促进我省农牧产业供给侧结构改革,福茵集团利用我省资源优势加大对特色产业的…

    2022年5月24日
    344
  • 通信行业是发展最快的行业之一,随着5g的全面建成与6g业务的探索,今后若干年内,通信网络仍将继续保持高速发展势头,在发展过程中仍将面临着大规模的网络建设工程。目前,通信工程正面临着…

    科研百科 2024年7月20日
    63
网站地图