跨平台桌面应用开发的5大主流框架盘点

受益于开源技术的发展 , 以及响应快速开发的实际业务需求 , 跨平台开发不仅限于移动端跨平台 , 桌面端虽然在市场应用方面场景不像移动端那么丰富 , 但也有市场的需求 。
相对于个人开发者而言 , 跨平台框架的使用 , 主要为了满足以下三个主要能力:

  1. 生产力提升:框架能够帮助开发者实现快速开发 , 这是降本增效的根本 。如果不能实现「快速」 , 那也就比自己从零开始写代码快不了太多了 。
  2. 框架打包后的体积轻量:开发者大部分是普通用户 , 不会安装基础环境(不会运维 , 不会运维 , 不会运维) 。
  3. 跨平台:许多开发者日常开发还是以mac做为主力开发机 , 所以强烈需要跨平台(跨移动平台 , 跨移动及桌面平台) 。
今天 , 我们就在本篇文章中盘点下 , 跨平台桌面应用开发的5大主流框架:Electron、wxPython/ target=_blank class=infotextkey>Python、FinClip、Tauri、Flutter 。
跨平台桌面应用开发的5大主流框架盘点

文章插图
Electron相信这个框架大家都不陌生 。
首先 , Electron 本身是基于 Node.js 的 , 这样就可以利用 Node.js 的现成资源 。
其次 , Electron 是跨平台的 , 换句话说 , 它可以同时开发 Web 应用和桌面应用 , 一些常规的资源 , 如:UI , 代码(JS)等资源都可以共享 , 为开发者大大减少了工作量 , 甚至企业也无需重复投入人力来开发系统 。
再有 , Electron 不仅支持 Web API , 完成与 Web 应用相同的工作 , 还允许调用很多操作系统底层 API 来与硬件设备交互 , 甚至可以用 C++、Go 来编写本地模块 , 这样一来就可以完成很多 Web 应用无法做到的事情 。
小结:使用语言html , js , css等 , 功能强大 , 界面绚丽 , 跨平台 , 开发成本低 , 可以说是集优点于一身 。除了 , 性能不敢恭维~~
【跨平台桌面应用开发的5大主流框架盘点】
跨平台桌面应用开发的5大主流框架盘点

文章插图
Electron
wxPythonwxPython和pyqt 两者类似 , 都是用python语言开发 。前者是对wxWidgets的封装 , 后者是对大名鼎鼎的qt的封装 。wxWidgets 是基于操作系统的 API 来做桌面应用的 , 也就是说 , 在 windows 下开发一个桌面应用时 , 看起来就像是传统的 Windows 桌面软件的风格 , 在 Mac 下则是 Mac 的风格 , 而前面三个都有自己的自绘引擎 。
也就是说 , 使用wxWidgets 在三个平台上都是按照三个平台自己的 API 来绘制这个按钮的 。wxWidgets 提供了非常多的操作系统的 API , 并且可以做到静态链接 , 但小问题比较多 。
Tauri“Build an optimized, secure, and frontend-independent Application for multi-platform deployment.”
从Tauri官网的宣传语可以看出Tauri主打的几个卖点:
  • optimized:性能高、体积小
  • secure:安全性强
  • frontend-independent:前端独立
  • multiplatform:跨平台
Tauri框架是由Rust语言实现的 , 同时Tauri应用的后端也是由Rust来编写的 。Rust是由Mozilla主导开发的通用、编译型的系统编程语言 。Rust语言自身有如下的一些特性: