top | item 28435293

(no title)

Zomatree | 4 years ago

Hi, one of the developers here, we use electron because its hard for our small amount of devs (there are about 4) of us to maintain multiple clients, this is the same reason we use the same web client for mobile.

discuss

order

ryandrake|4 years ago

Did you consider Qt or some other cross-platform native option? There was just recently a HN article [1] on the topic of cross-platform development and UX, with a few alternatives proposed. I think some teams just reach for the Electron tool by default now, instead of weighing each alternative and then choosing it with eyes open. Maybe your team did examine the pros and cons, but it seems the overall software industry is headed toward a simplistic "Cross Platform Client equals Electron" which is disappointing.

1: https://news.ycombinator.com/item?id=28390732

eropple|4 years ago

It reads as though there's some confusion between "simplistic" with "simple". Electron is the simple answer, and "simplistic" is frequently used to try to shit on that. (Its implementation is complex. So is Qt's. But nobody cares about that for either, because it's done.) Qt's definition of "cross-platform" is functionally limited to "Windows, Mac, and Linux" unless you want to do way more work for a way worse result. That's not simple at all.

Qt runs in a web browser via WebAssembly but building an application that way--I mean, if you want that to work, good luck, but it's a presumptuous ask to make of a developer. If you want to have a client somebody can log into via Chrome or Firefox? Hi, now we have two codebases that aren't sharing logic.

Qt also doesn't work well on iOS or Android. Attempts have been made. They're not viable without significant work that "Qt is cross platform" elides, and you're probably forking your entire codebase for what you can actually salvage. And when you've built a Qt application, there's a whole lot less that's reasonably sharable when you eject out of it on those platforms (because you will), as opposed to the large amounts you can effectively share between React and React Native (see also the web-hosted option above).

judge2020|4 years ago

Personally, managing a QT application across multiple OSes is itself harder as I’ve spent a lot of time doing platform-specific UI work (eg. fonts on macOS and DPI scaling problems on Windows) compared to Electron. The only similarity was in doing platform-specific tooling for deployments/code signing which is par for the course.

PaulDavisThe1st|4 years ago

Electron leverages web-style development, which Qt (or GTK or FLTK, or JUCE, or wxwidgets, or libui ... etc) does not manage to do in any real sense.

If your dev team thinks in web-like terms, Electron is a more comfortable place to be. Better? I'd agree with you that it's probably not.

chipotle_coyote|4 years ago

I suspect "everything is a web app now" has become a really big consideration. JavaScript has essentially succeeded in doing what Java tried to do two decades ago: be the One Language for both client and server. So if you're building a server-client application like a Discord competitor, it sounds like just an awesome idea to be able to use JavaScript to build your server back end and your web app and your various desktop client apps.

Yoric|4 years ago

FWIW, as a mostly backend/native developer, I know that I've spent way too much time looking for a widget set that works well enough for my needs. These days, if I need a front-end, I'll be targeting the web or Electron.

So, +1 to the developers of Revolt.

arcturus17|4 years ago

People understand this, but they refuse to understand this.

I think it's perfectly reasonable for you guys to do it, and I am pretty certain that most of your userbase won't care.

Best of luck and thanks for dropping by!

Griffinsauce|4 years ago

Great choice, thanks for being practical and realistic.

Hate on HN does not predict any kind of product metric.

lpcvoid|4 years ago

Electron is almost never a great choice for anything. It saddens me to see people on a website for nerds defend it.

dancemethis|4 years ago

Would be amazing if you worded it as Free Software rather than just open source, since the practical and ethical advantages are indivisible, which is a characteristic of the former and not the latter.

Thank you for writing for all.

rektide|4 years ago

it'll be neat to see if ya'll end up near slack or discord levels of resource consumption, or whether you are slimmer/leaner. is this at all a concern of the team? is chat data all kept in memory or does some of it get stored/loaded on demand, in service worker caches or indexeddb or sqlite or other?

on my 4gb, 6 year old daily driver i dont find electron apps to be difficult. personally i dont think it's that worthwhile to try to appease the vast ranks of anti-electron anti-web zealots (i doubt any of them would ever be satisfied no matter how many gains were made). but it would be interesting to hear of folks adopting more advanced techniques to keep resource consumption down.

ergot_vacation|4 years ago

Performance is more important that cross-platform support. If a user has money to feed more and more and more resources into a gluttonous, hideously inefficient web browser masquerading as a program, they have enough money to get on the platform everyone else is on.

Discord is an obscene drain on resources. That's the problem that's easy to solve: just stop with the bad programming choices.

That said, I didn't realize at first that Revolt is in fact meant to be a REPLACEMENT top to bottom, and not just a rogue Discord client like Ripcord. You're hawking it on the basis of privacy, rather than speed (since it obviously won't be much better there). But the privacy angle is laughable from the start. Do we run our own servers? It's not clear to me from reading the site. You talk about "creating" servers, but Discord users "create" servers as well: on Discord's hardware. If Revolt genuinely allows for the creation of independant servers, with no control or access by the Revolt devs, that is at least something. If not, I don't see the point.

eropple|4 years ago

> Performance is more important that cross-platform support.

You have to be where the people are to make it worth anyone's time to complain about performance.

nicoburns|4 years ago

> Do we run our own servers? No, you run them?

The backend and the clients are both open source, so I think the idea is that people do run their own servers. There's certainly nothing stopping you. I assume the hosted server is just for convenience and/or demo purposes.

rektide|4 years ago

> Performance is more important that cross-platform support

telling the author what their priorities need to be... nice.