windows应用程序开发技术对比

本人老前端一枚,因项目需要开发windows程序,所以调研了一下相关的技术,列表如下,仅供参考:


electron

就写html就行了,可直接在html的script里调用nodejs的api,没错!

官网

  • 使用JavaScript、HTML 和 CSS 开发,门槛低
  • 使用此技术开发的产品多,相对来说成熟,界面漂亮,网页能不漂亮么
  • Electron 基于 Chromium 和 Node.js,因为内嵌js引擎,打包体积大,大约100m+
  • 代表产品 GitHub Desktop、Vs Code、WhatsApp、Postman
  • 打包后打包为直接运行免安装的目录和一个大的exe文件
  • 支持 win7+的系统,如果要支持 windows XP,就不行了

Tauri

核心是rust代码

官网

  • 核心是Rust写的,打包的体积也比较小
  • 但是需要 WebView2,windows11自带,别的需要自行安装,就这一条,我就直接放弃了
  • 对windows来说,会打包成msi的安装文件
  • 刚发布1.x版本,感觉没有electron成熟

React Native for Windows

react-native写windows程序

官网

  • 同一套代码,可以跑在n个平台
  • react-native体系,react语法,开发过rn的入手成本低,项目目录除了ios、android多了一个windows目录
  • 原生的体验,可以用c#写原生功能,js调用,和写移动端一样
  • 微软官方支持
  • 只支持 win11和win10
  • 总结,感觉不太实用,除非是 rn一套代码,而且兼容性要求也不高的

python - beeware

BeeWare是一套工具和库,它们可以协同工作,编写跨平台的本地GUI Python应用程序

官网

  • 开发语言是pyhton,python这个语言门槛低
  • 打包体积也不大
  • 界面不是很美观
  • 用的不多,感觉
  • 总结,适合python使用者开发

java - javaFX

适合java开发,开发桌面应用
  • 性能不错,界面也尚可
  • 兼容性也好,毕竟java跨平台
  • javaFX 有自己的css和接口(和一般的css差的挺多的),需要学习,成本高,不适合快速开发
  • 这个技术,其实用的不是很多,弃了

原生开发 - winform

这就是最原始的开发windows程序的方法,装好vs之后,就可以开发了,语言选c#。
  • 门槛低,C#语法和java很像,比较简单,可以直接拖拽元素比如文本、输入框到界面上,
    虽然之前没做过,但是看看应该就可以上手
  • 兼容性最强,几乎啥windows都行
  • 代码包体积最小,几十K,也就是,当然没啥代码的情况下
  • 界面嘛,不太好看,毕竟是老技术嘛
  • 如果功能UI不复杂,而注重底层,可以选择

原生开发 -WPF

也是原生开发windows程序的,升级版,即windows presentation foundation,windows呈现基础,属于.net framework3.0,
是微软推出取代winform的产品,能做到分离界面设计人员与开发人员的工作。
  • 界面漂亮,功能强大
  • 门槛就高一些了,不适合直接上手的
  • WPF和winform最大的区别在于WPF底层使用的DirectX,
    winform底层使用的是GDI+,所以WPF的图形界面上更胜一筹

猜你喜欢

转载自blog.csdn.net/qq_29334605/article/details/127208463