桌面端跨端框架调研

Electron

官网:www.electronjs.org/

GitHub Stars: 115.7K

UI层面使用WebView,支持Vue、React等主流框架。

使用NodeJS作为中间层和系统通信,也可以使用C++/Rust等底层语言。

谁在维护框架?

GitHub、微软、开源贡献者在维护

框架的缺陷是什么?

  • 一套代码支持Windows、MacOs、Linux
  • WebView和Node.js为核心,其他语言作为扩展,降低开发门槛
  • 有庞大的npm生态社区

框架的劣势是什么?

  • 打包后体积大、内存占用高
  • 启动速度慢,需要加载完整Chromium引擎
  • 大型项目需要专门去做性能优化

Tauri 2.0

UI层面使用WebView,支持主流前端框架Vue、React等。

Tauri使用Rust与系统通信。

官网:v2.tauri.app/

GitHub Stars: 90.1K

Discord 社区:总人数20K,活跃3K

项目发起时间:2019年初、2022年6月发布1.0版本

谁在维护框架?

基于开发者社区,这个是GitHub贡献者的数据。

框架优势是什么?

  • 一套代码支持Windows、MacOs、Linux
  • 基于WebView+Rust让整体体积相对其他框架小得多
  • 性能和内存安全更好,因为使用了Rust
  • 对于擅长Web的团队开发效率更高,但是Rust也是团队的局限
  • 社区发展得很快,有很多贡献者

框架的缺陷是什么?

  • Rust学习较为陡峭
  • 生态并不是那么完善,某些功能要自己使用Rust写

Flutter Desktop

使用Dart语言、UI基于Flutter自带的组件库。

官网:flutter.dev/

GitHub Stars: 169K

谁在维护框架?

Google的Flutter团队、GitHub开源贡献者在维护

框架的优势是什么?

  • 一套代码可兼容桌面端+移动端
  • 高性能的渲染能力,拥有自带的组件库
  • 热重载可以实时查看代码变化

框架的缺陷是什么?

  • 桌面端资源占用率较高、打包体积较大 10MB+
  • 社区资源对桌面端的支持有限,但是能满足大部分需求
  • Dart语言是强类型语言,有一定学习成本
  • 平台排错、调试不太方便

React Native

用React实现多端软件的开发

官网:reactnative.dev/

GitHub Stars: 121K

谁在维护框架?

Meta(Facebook)团队、微软在维护、以及社区贡献者。

框架的优势是什么?

  • Web工程师上手很快
  • 一套代码支持Windows、MacOS、Android、IOS
  • npm大部分非UI相关包可直接使用

框架的缺陷是什么?

  • Linux支持薄弱
  • 跨平台调试工具不够成熟
  • 针对桌面优化的UI组件较少
  • ReactNative对桌面端的专注度不够,比较偏向移动端

总结

追求高性能的团队Flutter或Tauri提供最好的长期回报。

追求稳定的团队可以尝试使用Electron。

React Native的优势则是和React开发相差不大,熟悉React开发的可以快速上手,但性能一般。

我们团队选择Tauri,原因是Flutter调试不太方便,可以快速尝试一下Tauri。

相关推荐
IT_陈寒2 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
默_笙2 小时前
🚓 分诊台与拆题术:让 RAG 学会判断和规划
前端·javascript
CopyCode2 小时前
用 AI 迁项目有多爽?我把 Webpack 迁 Vite 的全过程记下来了
前端·架构
去伪存真2 小时前
Electron 自动化发布指南:GitHub Actions 跨平台打包全纪录
前端·electron
计算机魔术师2 小时前
OpenAI智能体失控闯进美国政府网站,53张用户图片外泄背后
前端
颜进强2 小时前
14 · NestJS ExecutionContext 执行上下文:守卫、拦截器、过滤器拿到的"同一个 context",为什么能力不一样?
前端·后端·ai编程
程序员Flycan2 小时前
🚀 跨域终结者:前端代理服务器(Proxy)原理解析与配置总结
前端
怕浪猫2 小时前
顶级模型一句话,AI 写出了能玩的 QQ飞车
前端·面试·github
huakoh2 小时前
MCP 报错分不清?先看响应里是 result 还是 error
前端
呃呃呃呃ex2 小时前
10. 现代前端工程化:ES6 React 项目实战与原理解析
前端·javascript