Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Hoppscotch | 56,806 | 2 | 5 hours ago | 11 | October 14, 2023 | 269 | mit | TypeScript | ||
👽 Open source API development ecosystem - https://hoppscotch.io | ||||||||||
Lorca | 7,789 | 7 | 54 | 3 months ago | 18 | August 17, 2021 | 76 | mit | Go | |
Build cross-platform modern desktop apps in Go + HTML5 | ||||||||||
Mist | 624 | 4 years ago | 10 | December 10, 2019 | 4 | mit | Go | |||
A distributed, tag-based pub-sub service for modern web applications and container-driven cloud. | ||||||||||
Wsta | 598 | 5 years ago | 10 | gpl-3.0 | Rust | |||||
A CLI development tool for WebSocket APIs | ||||||||||
Socket.io Tester | 293 | 4 years ago | 2 | gpl-2.0 | JavaScript | |||||
Deprecated: An electron app that lets you connect to a socket.io server and subscribe to a certain topic and/or lets you send socket messages to the server | ||||||||||
Pororoca | 223 | 3 days ago | 16 | November 14, 2023 | 15 | other | C# | |||
A HTTP inspection tool with support for HTTP/2 and HTTP/3. Alternative to Postman. | ||||||||||
Spring Boot Examples | 170 | 2 years ago | 3 | apache-2.0 | Java | |||||
个人学习 SpringBoot2.x 写的一些示例程序,目前正在持续更新中..... | ||||||||||
Getting Started With Cdp | 146 | 2 years ago | 2 | JavaScript | ||||||
Getting Started With Chrome DevTools Protocol | ||||||||||
Websocket Monitor | 146 | 6 years ago | 1 | November 24, 2015 | 23 | other | JavaScript | |||
Not compatible with Firefox Quantum (57 and newer) | ||||||||||
Go Chrome | 110 | 4 | 2 years ago | 9 | April 12, 2022 | 6 | bsd-2-clause | Go | ||
A golang library for interacting with the Chrome DevTools Protocol. https://chromedevtools.github.io/devtools-protocol/ |
A very small library to build modern HTML5 desktop apps in Go. It uses Chrome browser as a UI layer. Unlike Electron it doesn't bundle Chrome into the app package, but rather reuses the one that is already installed. Lorca establishes a connection to the browser window and allows calling Go code from the UI and manipulating UI from Go in a seamless manner.
Also, limitations by design:
If you want to have more control of the browser window - consider using webview library with a similar API, so migration would be smooth.
ui, _ := lorca.New("", "", 480, 320)
defer ui.Close()
// Bind Go function to be available in JS. Go function may be long-running and
// blocking - in JS it's represented with a Promise.
ui.Bind("add", func(a, b int) int { return a + b })
// Call JS function from Go. Functions may be asynchronous, i.e. return promises
n := ui.Eval(`Math.random()`).Float()
fmt.Println(n)
// Call JS that calls Go and so on and so on...
m := ui.Eval(`add(2, 3)`).Int()
fmt.Println(m)
// Wait for the browser window to be closed
<-ui.Done()
Also, see examples for more details about binding functions and packaging binaries.
Here are the steps to run the hello world example.
cd examples/counter
go get
go run ./
Under the hood Lorca uses Chrome DevTools Protocol to instrument on a Chrome instance. First Lorca tries to locate your installed Chrome, starts a remote debugging instance binding to an ephemeral port and reads from stderr
for the actual WebSocket endpoint. Then Lorca opens a new client connection to the WebSocket server, and instruments Chrome by sending JSON messages of Chrome DevTools Protocol methods via WebSocket. JavaScript functions are evaluated in Chrome, while Go functions actually run in Go runtime and returned values are sent to Chrome.
There is kind of a legend, that before his execution Garcia Lorca have seen a sunrise over the heads of the soldiers and he said "And yet, the sun rises...". Probably it was the beginning of a poem. (J. Brodsky)
Lorca is an anagram of Carlo, a project with a similar goal for Node.js.
Code is distributed under MIT license, feel free to use it in your proprietary projects as well.