用 html、js、css 写客户端软件,除了 electron 还有哪些方案?

2022-06-07 14:16:54 +08:00
 tctc4869
用 html 、js 、css 写客户端软件,排除除了 electron ,还有哪些方案?

至少能调用 js 读取本地文件的内容

不能跨平台也没关系,能在 windows 或 linux 上跑起来就行,能跨平台那最好不过了。
6610 次点击
所在节点    程序员
58 条回复
murmur
2022-06-07 16:17:59 +08:00
flutter 这个语法太恶心了,第一个排除
pengtdyd
2022-06-07 16:20:01 +08:00
@dcsuibian 跑偏了。。。。。
blancokitsune
2022-06-07 16:22:12 +08:00
WangLiCha
2022-06-07 16:23:29 +08:00
CefSharp 算吗?
quan01994
2022-06-07 16:26:14 +08:00
Maui + Edge WebView2
现在应该支持 windows , macos ,linux 应该会在后续支持 。
quan01994
2022-06-07 16:29:10 +08:00
现在应该支持 windows 。macos,linux 应该会在后续支持 。
Bijiabo
2022-06-07 16:42:44 +08:00
@kimown 其实都支持( iOS 、Android 、macOS 、Windows ),我比较看好这样的框架(相比 Flutter )

目前 Windows 平台微软支持的似乎相对好一些(还没开发过这个平台,只是看文档),macOS 上主要提供了一些基础视图能力的支持,社区组件支持程度不高,好在需要什么就自己扩展什么。
VensonEEE
2022-06-07 16:56:31 +08:00
完成度没有一个比的上 electron 的
ysc3839
2022-06-07 17:25:03 +08:00
不要 Electron 的话大概就只有用各种 WebView 的了。然后 WebView 又有几种选择,一种是选 CEF ,可以直接跨三平台,另一种是选择各个平台自带的 WebView ,Windows 有 Edge WebView2 ,macOS 有 Safari ,Linux 没有,还是得选 CEF ,这么做需要每个平台单独适配,不过一般都有现成的项目,比如前面提到的 tauri 。
Flutter 和 React Native 与 Web 技术区别较大。Flutter 是有自己的界面引擎,类似 Qt QML 的感觉,界面都是自己绘制的。React Native 则是使用平台本身的界面引擎,比如在 Windows 下使用的是 WinUI ,可以看成是把现有的界面引擎用声明式的 JS 封装了一层。
Hilong
2022-06-07 18:53:58 +08:00
nw.js
sunbreak
2022-06-07 19:06:16 +08:00
最好说下自己的背景情况

1. Go 背景: https://wails.io/zh-Hans/
2. Rust 背景: https://tauri.studio/
3. 对 Win 控件熟悉: https://microsoft.github.io/react-native-windows/

如果不是特别需要,其实 MenubarX 或者 installable PWA 类似的产品形态更合适:

- MenubarX: https://menubarx.app/
- PWA on Chrome: https://support.google.com/chrome/answer/9658361
- PWA on Firefox: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Installable_PWAs
iqoo
2022-06-07 19:23:20 +08:00
HTA

An HTML Application is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript. The HTML is used to generate the user interface, and the scripting language is used for the program logic.
DOLLOR
2022-06-07 22:36:00 +08:00
不如说说你的具体需求。
浏览器里的 JS 就有访问本地文件的能力,说不定只需要写 html 就能实现。不一定非要跑一个运行时。
darknoll
2022-06-07 22:57:53 +08:00
我选 cef
miniblink
2022-06-08 00:00:21 +08:00
推荐用我 miniblink ( https://miniblink.net
内核很精简(10 多 M 左右),用 web 技术做个客户端什么的完全不是问题。
nojsja
2022-06-08 01:12:25 +08:00
@rekulas #19 我记得只支持 win ,跨平台软件没得搞
HerbertHe
2022-06-08 04:20:07 +08:00
我也是从 electron 转到的 tauri
statumer
2022-06-08 04:46:45 +08:00
@miniblink 🥳资瓷龙老师,这是特意注册了个号吗
zhuweiyou
2022-06-08 08:22:07 +08:00
找找 go 或者 rust 的 webview 方案吧, 打包的体积会比较小
3dwelcome
2022-06-08 09:48:07 +08:00
@rekulas
miniblink 又不开源,electron 至少开源,还有 nodejs 一大堆包加持。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/857907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX