How about we actually create more performant native tools? I'm sick of the trend where we have this beastly hardware and things are actually getting slower and slower with each generation.
In my opinion, Electron wasn’t designed to be like this. It was originally created for Atom, to be customizable. The choice of using and bundling Chromium is for ease of customizability.
Web technology for desktop apps will be prominent because we are lazy. A lot of people know JavaScript/HTML/CSS or just web technology in general, so why not just use it rather than learning a new language like Swift or C++ (for some)?
Tauri looks promising. My personal thoughts is that it’s much easier to create apps via Tauri than Electron. At least, so far. The template used for using Svelte to create Tauri apps is much shorter than the one for Electron.
Maybe you should ask your OS author to do that instead of begging the community to make a product for you. This isn't even based around the concept of making the greatest text editor, just reviving an old one that people like.
This is a problem directly related to the quality/ease of use of frameworks.
In practice, all the facilities provided by Electron could be provided by a mix of standard libraries and system calls.
Electron solves a bunch of tedious problems in a nice cross-platform package.
The performance cost is OK for most people, especially with high quality projects such as VSCode.
Unfortunately, I don't see any big player investing time and money in a nice cross-platform native framework that could offer the same capabilities as Electron.
> Unfortunately, I don't see any big player investing time and money in a nice cross-platform native framework that could offer the same capabilities as Electron.
It does solve them, albeit impartially. Downloaded bundle size, RAM usage, CPU usage all decrease, plus it uses your native webview so you're not downloading a browser every time.
However, it doesn't solve them fully, so yes I do still think natively compiled apps like those of Flutter or Rust based GUI frameworks like Iced are better.
who says you have to pick between native and cross-platform? The term "native" is confusing because some people use it to mean native performance (QT), and some people use it to mean native UI.
Yep. They also charge $100 for their full license (not even perpetual btw) which is down-right insulting. I wouldn't even download their demo on my Mac.
My Macbook cost ~$1,000, I'm not going to pay 1/10th of that price for a text editor that works on a single machine. I'd even buy Sublime before giving Nova an honest shot.
I get it, especially for a desktop software. I think Sublime’s new model is a good balance, in that you get updates for 3(?) years from license purchase, and after you can still use it as it was when the license ran out, but need to pay for the updates from then on. It does nag you but you can disable the update check and the only visible thing is in the corner saying you should buy a new license.
I think a subscription model can work if done right. It’s unreasonable to expect work on software to be free (and great if it is, like with so many open source programs and libraries), but it also isn’t okay to require payment in perpetuity just to use the program. With these in mind I think models like Sublime’s or Sketch’s are the right balance.
Sublime's "new model" is the same one the DAW industry has used to scalp career musicians for years. You know what that inspired? Piracy. Lots and lots of piracy. Just look at Avid's premium offerings - oppressively expensive recurring licenses that force any hobbyist musician to pirate the software. Or look at IDA Pro, same principle applies there.
Obviously it's my fault for expecting anyone to build Mac software for free, but there are already great (free!) native text editors on Mac. If you're paying $100 for a cocoa UI version of software that already exists, frankly you're a fool.
Atom used a very different extension model than Visual Studio Code. Atom was designed more in the "everything is an extension" mold and even "core" functionality could be replaced or extended in ways that VS Code likely will never allow. On the one hand greater potential power, on the other hand more potential responsibility (Atom did have some notorious performance issues with comparison to VS Code and "everything is an extension" can be hard to performance adjust at scale).
Given this Pulsar page makes a big deal about trying to preserve the package source (list of extensions), the different extension model and history/long-tail of community extensions was probably important to them.
Yeah- its open extensions model was a neat idea, but in practice it made it slow, buggy, and complicated to configure (extensions would have dependencies on other extensions, etc). I really tried to stick with it, but as soon as I tried VSCode I sighed a breath of relief and knew I couldn't go back
I think the most egregious example was having two competing IDE hints extensions (not the content, just the GUI). They could both be enabled and they could fight each other or overlay each other if they were. Some language extensions then depended on one, and some depended on the other. It was kind of a mess.
Knowing the history of Firefox, XUL extensions and their demise, this feels more of a limitation.
For those who don't know, Firefox couldn't innovate because any change to the UI broke half the extension ecosystem. This is what happens when you give carte blanche to third party developers on your UI: It's great for the short them.
I mean it works for both emacs and vim which are even more extensible.
You shouldn't make any UI changes to text editors anyway if you don't plan on pissing off your power users. Never break compatibility.
As for Firefox, well if I could go back to the XUL based UI, I would do so. I don't think the new UI has improved for power users at all it just looks more "modern" which is fashion not progress.
What did Firefox gain from trying to copy Chrome? They are at a negligible market share and are only kept alive by Google money as alibi competition.
So no, that is not a good example. Moving away from XUL extension was not progress for Firefox, it was the beginning of it's decline becoming the rotting corpse of former ideals that it is now.
Sorry I don’t think Firefox lost because of extensions. Nobody cared except us. They lost because on Google advertised the living * out of Chrome. Firefox couldn’t compete regardless, it offered an inferior product out of the box.
Again, HN users are not the majority of internet users, which are counted in the billions.
I don’t know how to phrase this and it might be a bit of a ramble, but your reply is something I’ve been thinking about with atom. I personally hated eclipse, due to it feeling constantly like everything was it’s own package and not really working together, but recently was trying out emacs, and was quite impressed. Atoms philosophy sorta reminds me of the two where it’s “everything is an extension”.
I guess my question is, is how did this work out for it? I never gave atom a try, but did it feel like everything sorta worked together? Or was it more of a eclipse feeling where every package feels like it’s own separate object?
Vscode is a decent out of box experience but it’s custom ability is rather limited imo. Would love to give atom a try if this community version succeeds at all.
> I guess my question is, is how did this work out for it? I never gave atom a try, but did it feel like everything sorta worked together? Or was it more of a eclipse feeling where every package feels like it’s own separate object?
The obvious short answer here is: it obviously didn't work out for Atom. It wasn't able to compete with VS Code in the general marketplace, many people who tried to use Atom thought it was slow and buggy (there are examples in other comments near here, such as dueling tooltips plugins), and then eventually GitHub and Microsoft decided to pool all their official resources into VS Code and sunset Atom.
Pulsar linked here is an attempt to preserve what's left of Atom's open source community and I wish them luck, but they are maybe going to need a lot of it with competition like VS Code. Though admittedly Eclipse is an interesting comparison here because Eclipse still lives on, after several times where people assumed Eclipse was over with and the competition clearly winning. Some big companies still use Eclipse for all sorts of reasons.
It's working out fine and doesn't have all the visual annoyances and wheel scrolling issues that CS Code has. I use it since version 1.1. I tried VS Codium this week but reverted back to Atom after reading about the RCE and not being impressed with it. I also want an editor, not an IDE, no Git integration as I don't use Git. And yes, it is slower compared to VS Code. Next I'm going to give Emacs a shot.
it's technically true that VSCode is less customizable but honestly who cares? Both of these editors are so minimal in their design that UI customization doesn't mean much.
I really miss Atom. I'll enumerate some items here, since you asked, but all of them really just boil down to personal preference:
* Atom was hackable from the ground-up. I use a VS Code extension called Customize UI that allows me to write custom CSS, but Atom supported custom CSS as a first-class feature.
* Nostalgia: Atom was the first text editor I used, and so it has a certain friendliness than other editors can't match.
* Atom One Dark and Atom One Light are the best pair of dark and light code themes I've ever used. I use ports of these themes in other editors, but you can't beat them in their original context.
* I don't love VS Code's whole design language (straight-thin lines and sharp angles, except for some corners, which are curved). But that's probably very much tinged by my other points.
* Atom, of course, matched VS Code on language support and plugin support at one point. You could find extensions for just about any language. (Something that wasn't ever true for Sublime or Textmate, for example.)
* Being truly open source (I would describe VS Code as more open-core).
* Not being the most popular editor. I love supporting the underdog in my software choices as a way of encouraging innovation and variety in the ecosystem. So if Microsoft makes VS Code so good that no editor can complete with it, I would use VS Code (VSCodium), but I would not be happy about it.
All that said; Atom's dead. Since the Microsoft acquisition, development has stalled. Atom's gotten increasingly buggy and many many packages were abandoned. As I understand it, there are architectural issues that make it very difficult to fork or maintain. Atom is upstream of Electron (not downstream of it), for example, since Electron was originally extracted from Atom's code, so that makes integrating Electron updates difficult. CoffeeScript (which a lot of Atom is written in) never really caught on. You have a bunch of existing packages, but as mentioned, most of them are unmaintained, so you'd have to rewrite them and it's not clear which ones. Tree-sitter was originally developed for use with Atom, but after most popular programming languages had packages, and they never got rewritten with tree-sitter.
I've been following Lapce. I think they're doing interesting work. Right now the editor is too buggy for me to consider as a daily driver. I've been using Emacs for the past couple of weeks. It exceeds Atom's hackability, but there are still a lot of rough edges in the UI, for someone used to GUI editors.
I didn't mean to write this much. Atom is obviously something that I care about and that I've been thinking about ever since the acquisition.
TL;DR: Some people don't like VS Code, as a personal preference, and other options for GUI text editors are good.
I think we have the same preference regarding text editor. I also prefer Atom UI compared to VSCode UI. And even if I can customize it to look the same as Atom, it will never feel the same.
My only complaint with Atom is about performance. A fresh install of Atom feels normal fast at first, but as I add more plugins, it gradually feels slower. VSCode is better in this regard. Nowadays I mainly use Sublime Text, which is faster than VSCode. I also keep an eye on Lite-XL, which has the potential to be as fast as Sublime Text with a smaller memory footprint.
Unfortunately many VS Code users are uninformed and instead of using VS Codium by default (reproducible build, getting rid of telemetry), they put the cart before the horse and only know about VS Code, using it as the default choice. I have a hunch, that this is as intended or at least, that MS enjoys it being like that.
Fair move would be to put a well visible message into VS Code or their download pages, which informs the user: "If you need to check the build, you probably want VS Codium instead." -- Of course they are not obliged to do that, but meanwhile they are collecting telemetry to no end, from users, who are not informed about their main workhorse of their job. It does not seem right to me.
In general we need more awareness of telemetry, especially from companies like MS. Maybe at some point they will ship some telemetry update which the user "only needs to quickly confirm", before they can hack away and which opts into sharing code with their Copilot thingy. Before you know it, your solutions to problems are shared with other people, who will get a copy of your copy inserted. Lots of scenarios how this could go wrong, even if accidentally.
Companies generally do use telemetry, and for good reason. If something breaks or crashes, it's useful to know where and what happened. I use telemetry too with my products because it really does help me figure out where the user is getting stuck. That some people, usually a very small minority, don't like it is of no concern to me, they can decide to block it or strip it away like with VSCodium.
I want to try VSCodium so much but the fact they use self signed certs leaves a bad taste in my mouth. I know it’s probably a whole lot of nothing, but if I install it on my work computer and something happens because of it I would be in a massive pickle.
I don't know if this falls into the "can't be bothered" category, but it's not horrific to build it by yourself, side-stepping whatever self-signed cert woes you're talking about
Atom doesn't have a corporation trying to slowly and quietly strangle the open source python language server to gain market share for their proprietary one.
It’s ironic that VS Code has become the premier Electron-based IDE, since Electron (originally called Atom Shell) came from the original Atom project.
I loved using Atom, and I like that there’s a community trying to keep it going. However, I think there’s value in trying to push the platform forward, too; maybe rethinking the extension model to maximize stability/performance would allow Pulsar to start stealing market share back from VS Code.
Ironic and fantastic. So many good ideas are born and die with short-lived projects because no one bothered to extract and polish them as standalone solutions while the project was still alive.
Atom will continue living through Electron (regardless of Pulsar)
Actually, it's not that ironic, considering that the first projects are usually not the one dominating a space later. The first ones are often still exploring the new space, and thus enabling later projects to learn from their failures and optimizing faster on this experience.
And AFAIK VS Code demonstrated this pretty well. Atom was all in on JavaScript (or CoffeeScript AFAIK) for gaining the benefits coming with it, leading to performance-penaltys and other problems. While VS Code was also heavily optimizing on performance, sidestepping JavaScript and minimizing the customizability for the sake of stability. Atom only later focused more on this, but was killed along the way when they started their research-project for better performance. But good enough, at least we got treesitter coming out of it, so it wasn't wasted at the end.
Why should Atom be kept alive? It's literally VSCode but with abandoned extensions and worst performance, being written in coffeescript. If the project owner actually articulated some reason such as they are rewriting in a better language (but in which case it's no longer Atom), then I might bite.
Looks interesting, and they have a fork of Alacritty in their repos. I was just wondering about embedding that in an Elixir/Rust desktop application myself.
I never used Atom, but I suspect all of us not within the orbit of VS Code that use any of the other not quite IDE text editors can appreciate that sometimes with text editors it's not the one you use but how you use it.
Getting to know it well and how to customise, configure and extend it to your liking, without it becoming too onerous, can be a valuable relationship to have with such a fundamental tool in our trade ... valuable enough that sometimes it's worth retaining over the better features the new tool might have to offer. So good on Atom users and I wish them luck!
On VS Code, I can appreciate moving on to the better tool, but something about bringing a platform war dynamic to the text editor feels a bit too off for my liking. It's apparently open, but I'm really not clear on how much and what the consequences of that are. For instance, the python LSP pyright is the open version of the proprietary pylance ... what's the difference? I find it bothersome that I'd have to work that out.
Wishing good luck with the efforts. This shouldn't be looked at as a competitor to VScode cause it would decimate Pulsar. I hope they have unique features that actually matter to the end user
Anyone here got experience building collaborative text editors that support plugins? Trying to find a contractor for something I’m working on and not having much luck
You could borrow some good ideas from Monaco Editor. If some application can run on a web page, then it's a completely different level for a “cross-platform” badge.
It's just a fork of atom so it pretty much looks like atom. Seems like all they've done is update dependencies and move to a new db, but they have some interesting changes in the works https://github.com/orgs/pulsar-edit/projects/2
If you think VSCode is slow and ugly then my friend you are going to be amazed at the amount of performance, responsiveness and design coherence that Atom has to offer you. It's on a whole new level!