楔子

WEB 跨平台 桌面应用程序 顾名思义就是用 JavaScript、HTML、CSS 等前端技术构建跨平台的桌面应用,WEB 负责 GUI 渲染并与后端(如 Node.js、Python、Rust 等)交互,从而突破自身无法操作 OS 层级资源的限制。其实现在如火如荼的小程序原理也类似,只是把后端换成宿主 APP (如微信、支付宝、飞书、钉钉等)。

我大约在 2013 年开始基于 WEB 做一些简单的桌面应用,因为对 WEB 熟又有现成的资源,通过包装即可快速生成桌面应用(exe 可执行文件)分享出去。

最开始用的是 C# + webview 控件做了一款信息管理系统(WinForm 做登录界面,用户授权成功后创建 WebView 对象加载远程网址),兼容性跟效果在当时都非常理想。后来也用过 Android 下的 WebView,大同小异。

WebView 下 JS 与后端原生代码的交互基于 JSBridge,对于该项技术的详解,推荐看下:

  • 一文让你彻底理解JSBridge
  • 微信小程序渲染层与逻辑层独立 及JsBridge原理分析

工具总览

此类构建工具有很多,这里比较的是 Electron、Tauri、Wails 2 三款

工具 原生语言 最新版本 简介
Electron Node.js 21.0.1 使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架(嵌入 Chromium 和 Node.js 到 二进制文件)
Tauri Rust 1.2 Tauri 是一款应用构建工具包,让您能够为使用 Web 技术构建跨平台的快速、安全、前端隔离应用
wails Go 2.1.0 使用 Go + HTML + CSS + JS 构建漂亮的跨平台桌面应用

Electron算是业内老大哥,最开始的名字叫做 atom-shell(是 GitHub 随 Atom 一起开源的跨操作系统开发桌面应用的框架),最早的版本 0.3.1 发布于 2013 年 8 月, 在 2015 年 4 月分布的 0.24.0 版本更名为 electron(我也是这时开始接触),到最新发布的 21.2.2 版本 ,版本迭代真的是飞一般

WEB跨平台桌面程序构建工具对比(Electron、Tauri、Wails)相关推荐

  1. 跨平台桌面应用开发工具Electron v11.0.4

    介绍: Electron是GitHub发布的跨平台桌面应用开发工具,支持Web技术开发桌面应用,其本身是基于C++开发的,GUI核心来自于Chrome,而JavaScript引擎使用v8. v11.0 ...

  2. npm run buil构建后页面白屏_从Npm Script到Webpack,6种常见的前端构建工具对比

    从Npm Script到Webpack,6种常见的前端构建工具对比 小编说:历史上先后出现了一系列构建工具,它们各有优缺点.由于前端工程师很熟悉JavaScript,Node.js又可以胜任所有构建需 ...

  3. android应用程序开发_深圳app开发公司:跨平台应用程序开发工具有哪些?

    深圳app开发公司:跨平台应用程序开发工具有哪些?跨平台应用程序开发工具的出现是移动开发的发展和竞争的结果.对更快.更经济的应用程序开发的追求导致了跨平台技术的出现.在移动应用程序开发工具推荐中,哪些 ...

  4. 桌面应用开发框架 - Windows桌面程序开发工具

    桌面应用开发框架 - Windows桌面程序开发工具 桌面应用开发 桌面应用开发是指基于Windows操作系统开发的应用程序,在Windows环境运行,包括32位\64位的应用程序, 从开发者层面讲, ...

  5. 从Npm Script到Webpack,6种常见的前端构建工具对比

    从Npm Script到Webpack,6种常见的前端构建工具对比 小编说:历史上先后出现了一系列构建工具,它们各有优缺点.由于前端工程师很熟悉JavaScript,Node.js又可以胜任所有构建需 ...

  6. Java命令行程序构建工具airlift使用

    package com.ilucky.airlift;import java.util.Arrays;import io.airlift.airline.Cli; import io.airlift. ...

  7. electron 桌面程序_如何使用Electron使用JavaScript构建您的第一个桌面应用程序

    electron 桌面程序 by Carol-Theodor Pelu 通过Carol-Theodor Pelu 如何使用Electron使用JavaScript构建您的第一个桌面应用程序 (How ...

  8. SCons — 程序构建工具

    目录 文章目录 目录 SCons - a software construction tool 使用示例 SCons - a software construction tool SCons 类似于 ...

  9. 【总结】1198- 总结 2021 年 JavaScript 新一代构建工具对比

    本文译自:https://css-tricks.com/comparing-the-new-generation-of-build-tools/ 在过去的一年里,出现了一批新的开发者工具,它们正在紧跟 ...

最新文章

  1. type=file的未选择任何文件修改_PDF文件怎样输入到CAD图纸中?懂得这个功能可以快速实现...
  2. WPF 4 Ribbon 开发 之 应用程序菜单(Application Menu)
  3. 全景分割这一年,端到端之路
  4. java sqlserver 死锁_sqlserver数据库发生死锁处理
  5. python字符串只留数字_Python数字和字符串(5/30)
  6. 深度神经网络移动终端GPU加速实践
  7. git(5)---Git 与Repo 管理Android代码
  8. Python制作词云图根据蒙板图像确定形状和文字颜色
  9. yolov2 损失函数_目标检测算法之YOLOv2损失函数详解
  10. Bootstrap入门!
  11. Python(四):字符串
  12. 破解版PDF编辑器————Adobe Acrobat DC
  13. 华为交换机学习指南基于端口划分VLAN的四种方案
  14. tree.js实现3D效果,官网demo
  15. 概率论中的不等式(Markov不等式、Chebyshev不等式、Jensen不等式)
  16. ( 教程 ) 微信公众号做淘宝优惠券自动查券返利机器人怎么设置?
  17. 检测域名微信屏蔽,检测微信域名屏蔽API
  18. Java网课基础笔记(25)19-08-07
  19. 无损数据压缩 Lossless Compression
  20. ACM学习心得(5000字)

热门文章

  1. HTML学生个人网站作业设计:(宠物官网8页)——bootstarp响应式含有轮播图,响应式页面
  2. 找出1-1000中的所有完美数
  3. 计算机派位志愿填报技巧,广州公办初中入学途径+志愿填报技巧,太实用了
  4. SEO优化之长尾词策略 - 站长之家
  5. Github代理服务,解决github文件下载克隆难题
  6. python加解密过程
  7. 整合ElasticSearch,出现IllegalStateException: availableProcessors is already set to [12], rejecting [12]
  8. 知识图谱入门——知识融合
  9. Python 游戏辅助基础之 AutoPy
  10. linux修改swap分区大小2GB,Linux下修改Swap分区大小