Because why go for native performance when you can go for minimum effort on all platforms.
When all you have is
a hammerJavaScript, everything looks like anailweb page.Kids these days don’t bother learning languages that actually compile to native apps.
All of my degree was in C, C++, C#, Java, etc. and the one class I had that did web applications did Java backends and middleware with PHP frontends. It wasn’t until I got into the industry that I had to learn Angular, Electron, React, Django, etc.
I don’t think it’s the devs making these decisions.
It’s the minimum effort that translates to minimum time that translates to minimum cost for the business. Why hire another developer for a mobile app (or another platform) when you could just have the same web dev write it. Or without hiring another dev, why have the same dev need to build up tooling in another language when you can just reuse from the existing platform
Exactly, that and the “we are a [insert product name here] shop” mentality. The things I have had to fight for over the years are mind boggling.
It is the devs. Management says they need it fast then the devs say “fuck you here’s your browser tab app”.
I deam of a dev job that would let me actually write a good app…
Because you want a cross platform solution?
I get that electron can be slow, bloated, etc, but the amount of ire it draws is overboard.
Yes but sometimes, for example core parts of windows 11 like the start menu, don’t need to be cross platform and should be native, not a pwa
Especially since they had already native code in previous windows…
Having built applications with Microsoft’s mfc, Java’s swing, the omnipresent Qt, and whatever nastiness Mac was using in the early 00’s, electron is worth the silliness. Trust me. Trust me.
As an engineer, Swing is great! Granted, I wouldn’t use it to deliver a polished UI to users.
The individual things themselves weren’t really the issue. Swing was by far my favorite.
The issue was cross platform ui development. If you didn’t target Java, swing wasn’t viable.
Swing was by far my favorite.
Nice. My team constantly gripes about it but I’m all, “…it’s a well designed UI toolkit…?” I can make it do anything. It took me weeks (as a newbie) to try to lay out UI components just so with the new hotness and at the end I had to give up and move on. It would’ve taken me five minutes to do it with Swing.
Swing is what all these xml layout tools have been trying to replicate, honestly. Some get close, but far too few.
It warmed my heart when GWT basically copied swing for its layout. Made that super easy to learn.
the omnipresent Qt
So weird. I spent more than two years of my career working on a Qt app (not by choice) but I’ve never met another human being who has ever even heard of Qt. Nothing else has ever made me so certain that I’m clinically insane.
My favorite thing about Qt was the use of C++ for the back end and Javascript for the UI layer. It lets companies take advantage of the, uh, four people in the world who are good with both languages.
Hah! Yeah, qt has some really neat interfacing. And it is in so many places you wouldn’t expect it to be…
This edit is really well done.
I know it’s easy to dunk on Electron… but have any of yall written any desktop apps with native frameworks? I wrote a small GTK4+Vala app once and I discovered desktop frameworks are very different than developing webapps. Customizing the look, feel, interaction of elements, and general mechanics, seems like a toooon of effort. (It kinda seems like you’re not supposed to customize it.) Web development is waaaaaaaay more friendly towards customization. Which as a company, you want your app to look like your company, not some generic OS bundled app.
And then you have to repeat all that effort for crappleOS and Wangblows?.. And then you gotta hope that it’s even possible to do the thing you want in different OSes. Sheesh.
I mean, I’d be happy if everything was native apps, but I also understand why people don’t tend to choose that route.
That’s kind of the point of the frameworks though? Electron apps suck not only because of resource footprint, they don’t look and feel native, if they have any accessibility it’s usually custom and different for every program. Too much customization is bad.
I remember the times before UI toolkits took over. These programs had soul and were beautiful in their own way, but you had to learn how UI elements worked in each of them separately. The same thing happens with web apps now. Tab and the other usual keyboard shortcuts rarely work, controls are all custom.



100%, but man these are making me nostalgic.

Everyone should have to make one native app before being allowed to make fun of electron/webviews.
Counterpoint: Every developer should have to test their app on a machine with 1 GB of RAM and a dialup modem before inflicting their bloat on the rest of the world.