4 ms·
I've tried. Multiple times: https://github.com/gnome/gnode https://github.com/gnome/gnode https://github.com/WebReflection/node-gtk https://github.com/WebRefle
by Jasper_ 8y ago
I've tried. Multiple times:
https://github.com/gnome/gnode https://github.com/gnome/gnode https://github.com/WebReflection/node-gtk https://github.com/WebReflection/node-gtk https://github.com/endlessm/eos-knowledge-content-node https://github.com/endlessm/eos-knowledge-content-node
https://github.com/Place1/node-gir https://github.com/Place1/node-gir
The C++ V8 / Node API is actually more unstable than the equivalent SpiderMonkey one (there is supposed to be NaN, Node's wrapper abstraction library, but complex language bindings like I did requires a lot more than what's in NaN), and overall I encountered a lot of bugs in the ecosystem. Making libuv work with an external message loop like glib requires some complex plumbing. The thread story is a lot worse: glib wants to call your callback function from another thread, and V8 will crash if you try to do that.
There's a lot of edge cases when you're implementing language bindings, and I kept hitting into non-rounded-off edges, bad documentation, and impassable walls.
- deleted 8y ago[deleted]
- hajile 8y agoHave you tried N-APIs? It definitely helps with the documentation issue? What exactly was lacking? https://nodejs.org/api/n-api.html https://nodejs.org/api/n-api.html