Electron vs. Tauri
7 points by MatheusRich
7 points by MatheusRich
I wish people (esp those with means) would just make native GUIs.
Yes, I put the "just" in there. It's not that hard. I'm ready to fight over this. I say this with experience as a mostly single man show maintaining a fully native (Swift + SwiftUI + AppKit, and GTK on Linux with no web components at all) cross-platform application with dozens of window styles and custom widgets with a relatively massive shared cross platform core.
I've held this opinion a long time, frustrated at the rise of web-in-a-trenchcoat applications everywhere that just all feel so bleh. I'm not even mad at the resource usage (what people usually complain about). I'm just mad that they all feel so horribly least common denominator, don't fit in at all to native ecosystems, and lack some pride with unique platform capabilities.
I don't limit this to web stuff, btw. I've yet to use an app built in a cross platform toolkit that feels native.
(I will say that I think Electron, Tauri, etc. and even stuff like GPUI from Zed are on their own impressive technologies and have their own merits. I don't think they shouldn't exist. But I think they're defaults too often, particularly for rich companies.)
I have an idea for an app. Even if I’m building it for myself it would be at least 4 OSes (macOS, iOS/iPadOS, Windows, and Linux). This makes it at least 4 UI toolkits and at least 2-3 languages native to those toolkits. I don’t know any of those. How would you recommend my approach learning all of this in the least amount of time? Not to master any of it but even just to bootstrap the app.
My background is web. And I know a bit of rust. To me things like Tauri look at least approachable. I’m not arguing that it’s actually good. But I at least know where to start. While native UI and a shared core immediately feels overwhelming. I haven’t seen much writing about it either.
The simple answer is that HTML+CSS+JS is just so much more accessible and easier to work with compared to native toolkits.
For example, if you want a table with some data that's pretty much trivial using the HTML stack. Meanwhile with GTK you need to learn a ton of things before you can even get started, and that's assuming you can find the necessary documentation to begin with because GTK's documentation is a mess.
Over the years I've made various attempts at messing around with GTK, and at some point had a sort of working relational database GUI. But the amount of bullshit you have to endure to do the most basic things meant that I decided my time was spent better elsewhere. And that's how you end up with Electron et all for desktop applications: it's easier to work with.
I haven't pushed the cross-platform capabilities yet but I wonder if Wails would have been worth a look here.
I didn’t read this specific article, but here’s what I did do. Unfortunately, these people are fascist collaborators. If you don’t believe me, read through my (abbreviated) thought process:
“Oh, who are these Dolt people?”
I click around a bit and find a blog post titled Dolt Use Cases
We’re building Dolt, the world’s first version-controlled SQL database. Dolt lets you branch and merge your database tables just like you do with your Git files.
“Okay, why would I want that?”
When we tell people we built this technology, we get one of two responses:
- That’s so cool, I can think of a bunch of ways to use this at my company!
- Huh. What would you do with that?
“Oh I see, they’re about to tell me about #1.”
Use cases we can share publicly[…]
Game development
[To summarize this section, some of their customers use Dolt to version control game assets and configuration data. (Human-written summary, to be clear.)]
“Oh cool, what else do people use it for?”
Machine learning training dataAI is having a moment, to put it mildly. …[AI models require] a large quantity of training data, which is then used to create statistical models that can predict the features of novel input based on the training.
“Okay, that makes sense.”
One prominent Dolt customer in this domain is Flock Safety, who builds an AI safety solution for law enforcement and private security.
“What the fuck!”
For reference, my reaction is because Flock Safety builds and markets automated license plate reader cameras (ALPRs) which are used as a tool of mass surveillance by police departments all over the US and elsewhere, as well as by federal law enforcement.
Flock, local police departments, and other federal law enforcement agencies, are, beyond simply doing business with or being cops themselves, respectively, also either confirmed to be or in my opinion likely to be willing to collaborate with ICE and border patrol, who in the US are currently abducting my friends and neighbors for racist, fascist reasons.
Working in the law enforcement or defense industries is already despicable, IMO, but Flock is one of the worst of the worst.
I’m disgusted.
TL;DR: One of Dolt’s customers, Flock “Safety”, is or would be willing to collaborate with fascist immigration enforcement/border patrol in the US, and already is working on mass surveillance in many places in the US.