当前位置:首页 > 技术分析 > 正文内容

有时候真的可以考虑放弃,Electron来做简单桌面软件开发了

ruisui882个月前 (03-01)技术分析7

如题,对于一些简单的桌面软件开发需求,有时候缺钱缺技术,只能用相对廉价的大前端技术去开发跨平台的web技术打包的桌面APP,这些年很感谢electron这个框架,做了几个客户满意的桌面小软件。但是奈何我喜新厌旧,喜欢上了rust语言,刚好rust语言有个开发桌面的新框架:tauri,我觉得是时候放弃electron使用tauri做桌面开发了!

尽管最近qq都使用electron开发桌面客户端了,也有vscode这样顶级案例,但是我觉得以我的技术水平,electron没有新框架那么有吸引力,因此我考虑使用新框架做桌面开发,原因有几点:

  • electron几年来没啥新增亮点
  • electron打包文件实在太大了
  • electron的扩展性不知道如何评价
  • electron做出来的软件性能卡顿
  • electron没有手机端支持的趋势

使用新的框架Tauri


Tauri虽然也谈不上什么颠覆性的功能玩意吧,主要还是喜新厌旧!!

Tauri有几个特点:

  • Tauri打包体积小,就这点我觉得还是让我比Tauri更好使
  • Tauri支持多种包构建和管理工具
  • Tauri基于Rust开发,Rust现在很火,而我也在学习和使用Rust
  • Tauri和electron一样,兼容前端技术和框架,也就是不需要学习什么其它东西照样使用web技术做桌面软件
  • Tauri扩展性好点,支持写插件
  • Tauri也有缺点,目前不支持移动端,但是新框架,可能性更大,比较electron这么多年就没支持。

Tauri的优秀案例:

优秀案例就看一个Spacedrive跨平台文件管理器吧,UI精美,一看就是web技术做的,类似阿里云云盘,毕竟原生桌面开发技术真的真的真的很难做出这么精美的UI样式。尽管我只是试过Qt、苹果原生、Windows WPF等原生或者跨平台桌面技术,UI样式处理要做的好看实在有些麻烦。

Spacedrive是开源项目,可以下载下来学习研究Tauri是如何开发桌面软件的,也可以去Tauri的官网去查看,上手还是非常简单的,如果需要一些底层扩展,插件等,那还是需要掌握Rust语言,当然现在和C++不同的是,Rust的第三方包和库管理做的非常好,大可不必像c/c++那样,为了配置Cmake/vcpkg等费劲半天结果无法运行或编译成功。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2378.html

分享给朋友:

“有时候真的可以考虑放弃,Electron来做简单桌面软件开发了” 的相关文章

vue项目-父页面数据变化使子页面更新的几种情况

当操作页面时候,特别是增删改操作之后,数据会有所改变,这个时候我们希望组件中的数据要和最新数据一致,就需要重新更新渲染。以下是针对几种不同情况下方式:一.子页面调用接口后重新渲染1.使用ref方式父组件中用ref=“xxx” 来声明子组件,然后通过在父组件值改变的地方来调用子组件中的方法this.$...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

有效地简化导航-Part 1:信息架构

「四步走」——理想的导航系统要做一个可用的导航系统,网页设计师必须按顺序回答以下4个问题:1. 如何组织内容?2. 如何解释导航的选项?3. 哪种导航菜单最适合容纳这些选项?4. 如何设计导航菜单?前两个问题关注构建和便签内容,通常称为信息架构。信息架构师通常用网站地图(site map diagr...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...

vue-router是如何解析query参数呢? #前端

vue-router 中的 query 解析。1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的角度来看如何解析传递的快乐参数。2. 基础知识大家应知道,快乐参数结构如:a、b、c、a、b、c、a...

vue.js 双向绑定如何理解,有什么好处!#云南小程序开发

Vue.js 的双向数据绑定是借助于 JavaScript 的一些特性,如对象的属性 getter 和 setter 以及 Vue 的依赖追踪系统实现的。简单来说,双向数据绑定就是数据与视图间的双向通信,也就是说数据的改变会马上反映到视图中,视图的改变也会立刻改变数据。具体来说,当你改变了数据时,视...