5 ms·
Node-Webkit is hacky at best. Atom-Shell is a major improvement on Node-Webkit, however not quite there. Native modules need to be compiled for a completely dif
by mhernandez1988 12y ago
Node-Webkit is hacky at best. Atom-Shell is a major improvement on Node-Webkit, however not quite there. Native modules need to be compiled for a completely different target.
Thrust takes it a step further, improving on the past. Thrust uses the same backing library as Atom-Shell (brightray) to expose the Chromium Content Library.
Thrust is cross-platform cross-language. Use a similar familiar api from any language you want, or roll your own.
No need to use javascript on the backend if you dont want to.
For example, Go-Thrust can compile, this is a particular advantage for distributing applications.
- mhernandez1988 12y agoNow to add some more context, Thrust's predecessor (ExoBrowser) still used embedded NodeJS, this made it incredibly difficult to package native modules with applications. The Thrust team learned from the mistakes of the past and decided to try to simplify the stack as much as possible to allow true composability.
- notastartup 12y agodoes this mean that I can import other python modules directly in to the thrust app?
- mhernandez1988 12y agoEssentially yes, you can import python modules into go-python and expose their API's via WebSockets to Javascript.
- swah 12y agoCould one write a fast text editor using Thrust? Can one use C++ instead of Python/JS/Go?
- mhernandez1988 12y agoOne could use c++ instead of Python/JS/Go, I would however recommend still using the JSONRpc bridge to communicate. I would not recommend using c/c++ at all, as Atom.io has proven more modern garbage collected languages have become so incredibly fast that c/c++ are primarily distractions unless you are a master of the incredibly huge ecosystem and can sling code together fast without having leaks, pointer issues, and a host of other security issues. At a minimum, I would recommend using Go or NodeJS with a C binding for any extremely low level operations you would like to achieve, that would make everything much more suitable, you would also benefit of the ecosystem of modules.
- swah 12y agoAgreed, though I'm sure Atom doesn't steal more users from Sublime Text (C++ & Python for the plugins) due to its so-so performance.
- spolu 12y agoIt can be binded in C++ yes