Go
语言实现的类似electron
的应用程序框架这是我刚刚完成的一个应用程序框架,它包含2个组件:
gitee.com/rocket049/gowebkitgtk6
:方便集成WebKitGtk6
gitee.com/rocket049/websocketrpc
:实现在Websocket
上的Rpc
这两个包的具体用法可以看https://pkg.go.dev
我写了一个简单的例程,链接是:https://gitee.com/rocket049/webkitgtk6go
这个例程演示了下列功能:
Websocket
和静态文件服务的服务端。WebKitGtk-6.0
实现的浏览器窗口。fetch
调用普通的Web Api
。Websocket
上的RPC
调用浏览器中的javascript
函数。运行scratch-gui
:
react
等框架制作复杂界面,后端调用前端只需要仿照webkitgtk6go/static/main.js
的代码改变扩展功能。httpserver.HandleFunc
增加各种API
。GTK
功能:gitee.com/rocket049/gowebkitgtk6
有三个函数可以获取指向GtkApplication/GtkWindow/WebKitWebView
的指针,可以用C
语言调用GTK
代码扩展本地功能。这三个函数是:
func GetApplication() *C.GtkApplication
func GetWebView() *C.WebKitWebView
func GetWindow() *C.GtkWindow