Lua for customization, thin accelerated rendering layer in SDL2+freetype, zero nonsense. Binary packages are like 2MB. The code itself is clean and readable.
The plugin collection is still young and won’t have everything you’d find in the Electron-family of editors, but that’s also a plus when it comes to it staying lightweight and streamlined like some might want in these tools.
At least, this was my experience trying to get Deno development to feel "right". It feels like vim and VSCode are the platforms that get plugin support nowadays, and the rest are a hack.
Sublime so soo superior, it's not even fair. Haven't tried vscode but I understand it's a resource hog.
I remember Atom in its later releases had significantly improved performance to the point I never noticed problems.
There are a few fundamental limitations with web/js. No shared memory concurrency, no reasonable storage layer, no integer types. Those can make some things hard to make performant but most apps I see are not limited by this.
Most apps are slow due to a few common mistakes.
- React/Anglular diff based rendering cycle.
- Garbage collection due to careless allocation of objects in tight loops.
- Poor client side data models, resulting in blocking on the network for simple things.
- Careless use of the bad storage abstractions (bleh indexeddb) which requires copying data for every operation leading to GC pressure and wasted CPU.
- V8 is a moving target in what it chooses to optimize well and what it fails to optimize.
tl;dr fast electron apps are possible but the platform makes it easy to write slow apps by default.