If I may, my current take on this is that focus probably be put on one of the language server implementations.
The language server protocol can be used by a wide selection of editors, so the choice of editors matters less than the choice of the language server.
My idea is to have all plugins with the same basic features (sintax highlighting, snippets …) at the same level, and to have external tools to get more advanced features (LSP, debugging, static analysis) so that everyone can choose the editor that suits him best.
However, keep in mind that no programming language that I know has plugins for all editors / ide because the effort to keep them updated is considerable, so there will always be a “recommended” editor or on which there are more efforts because the adoption is greater .
That will be always probably “the reccomended” editor for Crystal
It’s all about the plugins and the ability to basically make a custom IDE with only the features that I care about.
VS Code being wasteful of resources does bother me, but not as much as using an editor that’s missing the features that I like or as much as using a traditional IDE that is stuffed with features that I don’t want to the point of having a bloated UI would do.
I believe that the reason for not using the native webview is that at the time (maybe still?) it was inconsistent across different platforms and they wanted a multiplatform solution that looked the same and behaved the same on Windows, Mac and Linux without having to do too much platform specific development.
And VS code really isn’t that bad. They’re doing some incredible black magic to keep the resource requirements comparatively low. And the user interface is quite snappy. I have not seen such a performance in other applications using a web render stack.
My other applications don’t need a lot of RAM, while my computer has got plenty of it (96GB, got them dirt cheap on eBay, less than $50 in total, iirc), so it doesn’t really matter to me how much the editor might use, but I totally see your point here. I would assume it’s similar for many others and RAM might be required occasionally, but most of the time they have plenty and don’t care about any wasteful usage.
While I usually avoid Electron and would prefer using something native (mostly for keyboard shortcuts, context menu features etc), it anyway fits most of my needs, or does so at least better than the other editors.
People use plugins that has the best solution for their problems (yep, usually they count “free” as part of the solution), and people create the best ones for the most popular IDE hosts. That’s paradoxical, like “chicken and egg, what came first?” but at the same time, at this current point in time, it answers the question with a great precision. The most popular plugins, the best language support for a generic host, will rise in the most popular IDEs, if not today, tomorrow.
Also, I can’t understand why the VS Code and Brackets creators did’t use the native OS webview instead of Electron, a move that would reduce such unnecessary RAM usage.
I believe that the resource consumption is almost the same with webview, because internally they still use the same engine.
I can’t say that I’ve ever really cared if my editor used more RAM or not, all machines I’ve used have 16 or 32 gb RAM. But I don’t use VIM for the low RAM usage reason, I use it because I like it better for development. VSCode is a nice editor too, but I’ll stick with VIM