跨平台的桌面应用开发,技术框架选择
跨平台的桌面应用开发,技术框架选择
个人的需求:
- 能够快速开发;毕竟生产力很重要。
- 打包后的体积不能太大;用户大部分是普通客户,不会安装基础环境。
- 跨平台;日常主要还是用mac做为主力开发机,所以强烈需要跨平台。
入围技术
flutter
flutter现在已经能全平台支持了;不仅是android,ios,现在web和桌面应用也都能支持的很好。electronic
基于nodejs的,vscode就是采用electronic作为底层实现的,而且用html+css开发,开发效率确实会很快。wxPython和pyqt
两者类似,都是用python语言开发。前者是对wxWidgets的封装,后者是对大名鼎鼎的qt的封装。java的ui实现
java的ui框架有swing,但是不更新了,还有javaFX和eclipse的swt。Tauri
采用rust语言的底层实现,界面开发也可以使用html+css。
Tauri 是一个框架,用于为所有主要桌面平台构建小巧、快速的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架,以构建他们的用户界面。应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 API。
总结
最后根据我个人的需求做筛选和最终决定:
flutter 符合
用flutter开发过一个app,总体开发效率蛮高的,需求1和3都能很好的满足,
但是helloword的demo最终在我的mac mini m1芯片的电脑打包出来的软件大小45m,稍微偏大了一点。electronic 不符合
electronic需求在1和3都能很好的满足,但是hellowrod打包的包大小在202m,太大了,不符合。wxPython和pyqt 不符合
虽然没有最终打成可执行的包,但是包大小应该都不大,但是api不是太熟悉,相对html的快速开发,生产力还是欠缺很多,不符合。java的ui实现 不符合
工作中一直是java,也断断续续用swing和swt开发过很多小工具,自己用都ok,开发效率也没问题。但是给普通客户用,加上jdk后,大小还是挺大的,不符合。Tauri符合
Tauri的原理electronic和类似,两者最大的区别: 一个是采用了rust语言,还有就是用了系统默认的浏览器内核,这样应用体积就不会膨胀。helloword打包后果然只有10m,而且开发还是能用html+css技术,效率非常高。
用tauri开发了一个笔记浏览软件验证了下,效果蛮好的,符合。
因为打算开发些小的桌面应用,给普通客户使用,所以最终从flutter和tauri之间选择了tauri,唯一可能就是资料不是太多,但是因为大部分界面开发都是用到了html技术,也没大问题。
后续就用笔记浏览软件再好好验证下tauri。
跨平台的桌面应用开发,技术框架选择相关推荐
- 写好测试,提升应用质量。涨薪分分钟!!!(二)之单元测试下开发模式、技术框架选择
目录: 四. 单元测试下开发模式.技术框架选择 单元测试是按照测试范围来划分的.TDD.BDD 是按照开发模式来划分的.因此就有各种排列组合,这里我们只关心单元测试下的 TDD.BDD 方案. 在单元 ...
- Android开发技术框架和编码规范
Android开发技术框架和编码规范 2017年11月23日 目录 第一章 绪论.................................................... ...
- 微软一站式开发技术框架解决方案 年内展望
微软一站式开发技术框架解决方案 (CodeFx) 自成立至今已有半年.在这半年里,我们完成了130个代码示例,主要覆盖了COM.数据访问.库加载.进程间通信.Office开发.WinForms等技术. ...
- CodeFx: 微软一站式开发技术框架解决方案 2009-7-30 新增sample code简介
微软一站式开发技术框架解决方案 2009年7月30号更新: http://cfx.codeplex.com/Wiki/View.aspx?title=All-In-One%20Code%20Frame ...
- 强烈推荐——微软一站式开发技术框架 All-In-One Code Framework (CodeFx)
如果您是第一次听说All-In-One Code Framework这个项目,请参阅主页上的相关介绍http://cfx.codeplex.com/,以及这两篇blog CodeFx:一站式微软开发技 ...
- CodeFx: 微软一站式开发技术框架 2009-10-18 最新版本新鲜出炉啦!!!
微软一站式开发技术框架2009年10月18日更新.下载地址: http://cfx.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34431 ...
- QT跨平台桌面软件开发技术汇总
QT国产化和跨平台一直推进,从去年到今年已经经历了3个QT小项目,本人也从visual studio IDE 切换到 Visual Studio + QT IDE的跨平台大军之中,独立承担项 ...
- 区块链开发技术路线选择的思考(之一)
现在整个技术社区的注意力主要还是在 Web 和移动开发上面,相关人才供销两旺.不过个别有心人已经开始转向大数据分析.深度学习.VR/AR 这些前景看好的技术.最近几个月区块链非常火,所以也有极少数开发 ...
- AGVs调度管理系统开发技术框架简介
AGVs管理系统开发技术专题 前言 关于博主 系统框架总览 引言 一.AGV接口组件 二.更多内容请转到"AGV调度管理系统"公众号 三.交通管理者组件 四.运输组织者组件 五.信 ...
最新文章
- 原理+实践,Kafka MirrorMaker使用与性能调优全解析
- LeetCode 16 最接近的三数之和
- 纸的大小图解_折纸大全图解基础之如何裁切美元尺寸纸张
- 高频变压器_变压器图案
- 第11章 使用Vsftpd服务传输文件
- Ubuntu 13.10 软件更新源列表
- Tomcat控制台乱码
- android kl文件
- 汇编proto、proc、invoke伪指令与函数声明、函数定义、函数调用
- 机器学习基石 作业二
- Carmack平方根函数经典案例
- 青岛理工大学计算机学院王德兴,现任领导
- 一维条形码识别的整个过程原理通俗易懂讲解
- vs2013 编译 该文件已在源编辑器之外被修改
- ENG Note 1 : 英语写作模板
- 炫光鬼影原因分析转载
- 《作文的顿悟》:“中考高分”和“写作素养”一个都不能少
- 代码洁癖症的我,学习 Lint 学到心态爆炸
- C++ QT结合FFmpeg实战开发视频播放器-18PCM过程的一些基本参数
- 周训练计划之(经典模式全身训练+有氧)