Electron 里弄 C++ , 那会很累的。
Electron 最要命的还不是体积大,你用 .NET 6 体积也很大,但是后面会越来越小。
Electron 要命的是会越写越大,搞不好就给你来个五六百 MB 。
如果没有跨平台的包袱,WebView2 的优势很多。
而且 WebView2 是共享组件,Win11 自带 ,Win7 这些可以自动安装(速度很快,不用写代码)。
下面写个例子:
先写几句 aardio 代码给 WebView2 套个壳子,不会 aardio 没关系,因为不需要再写更多 aardio 代码了。然后 JavaScript 就可以方便地调用 C++ 写的 DLL 。其他就可以直接用 JavaScript 和 C++ 写了。
import win.ui;
mainForm = win.form(text="WebView2")
//创建浏览器组件
import web.view;
var wb = web.view(mainForm);
//导出本地函数给网页 JavaScript
wb.external = {
callNative = function(str){
return ::User32.MessageBox(0,str,"JavaScript 调用 WinAPI 测试",0)
}
}
//写入网页 HTML
wb.html = /**
<html><head>
<script>
aardio.callNative();
</script>
**/
mainForm.show();
win.loopMessage();
aardio + WebView2 入门教程:
https://www.toutiao.com/article/7138285629548528139/?log_from=c9e52b8622336_1663288878642