其他笔记 - Electron代替品探索过程
目录
- 前言
- 替代品一览
- C# (.Net)
- C++
- Dart
- Go
- Java
- JS
- Python
- sciter测试
前言
Electron是基于 Node.js 和 Chromium的,可以把前端代码打包成桌面应用的工具,使得Javascript, HTML和CSS跨平台部署。
但是由于各种原因,不够精巧,体积太大,资源独占,发布不便,源码保护做的不好等等,所以不适用于某些场合。
最近要做嵌入式上位机开发,于是挨个测试一下。
替代品一览
发现 electron其实有超多替代品的,来源参考Electron替代一览:
C# (.Net)
名称 | 备注 |
---|
Orleans分布式,云服务可用于物联网,更新不算勤
Avalonia更多功能需要付费
Uno(Pixel-Perfect Multi-Platform Applications with C# and WinUI)
Chromely(Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, Javascript, CSS)
C++
名称 | 备注 |
---|
Qt**
wxWidgets**
sciter可用于嵌入式
Ultralight语言接口丰富,轻量,但不知道对嵌入式的支持如何(9-15MB)
Dart
名称 | 备注 |
---|
flutter移动应用开发,暂不考虑
Go
名称 | 备注 |
---|
lorca5-10MB
wailsVue、Vuetify、React 前端支持,绑定简单
muon轻量、运行时占用低
Java
名称 | 备注 |
---|
Swing
JavaFX
JS
名称 | 备注 |
---|
NW.js(Similar to electron, provides Source code protection)
DeskGap(bundles a Node.js runtime and leaves the HTML rendering to the operating system‘s webview)
Neutralinojs(chromium module is replaced with either user’s web browser or built-in browser component. Node run-time is replaced with a lightweight web server which exposes native OS functionality)
Proton Native(does the same to desktop that React Native did to mobile, based on https://github.com/parro-it/libui-node)
React Native Desktop(Cross-platform React Native Desktop port based on Qt framework)
Vuido(creating native desktop applications based on Vue.js, based on https://github.com/parro-it/libui-node)
NodeGui(powered by Qt5, [NodeGui-React]
reactxp(library for cross-platform app development using React and React Native)
quasar(Vue.js based framework, which lets web developer to quickly create responsive websites/apps)
nidium
electrino
graffiti
Tauri
Sciter.JS(Is a 5MB HTML/CSS/JS (ES6) runtime aimed as a direct Electron replacement)
Python
名称 | 备注 |
---|
PyQt
Kivy支持嵌入式
PyGUI
wxPython
Tkinter
pywebview
其他的就暂且不说了。
sciter测试
在官网下载sciterJS的sdk,阅读doc目录下的文档。
文档不支持中文,开发需要对照他的文档来写。
不保护源码,支持C API,所以在跨平台环境下效果不错。
使用的quickJS作为引擎,轻量。
官方给的例子是windows平台的。linux下13~19MB。
"bin/windows/x32/scapp.exe" "samples/calc/index.html"
如要使用,最好后台用c开发。
看了一下对React是可以支持的。
评论列表(0条)