I fucking hate Electron
If given a choice between an electron app and nothing, I choose the electron app.
You hate electron or you hate developers who make inefficient electron apps? Some examples? (Serious question, because I make electron apps)
There’s no such thing as a efficient electron app. First electron apps have 80MB of overhead since electron needs to bundle a whole ass browser. Also in runtime this requires 120MB of ram.
If you really want to use webviews to make an app use Tauri.
The literal most popular IDE amongst software developers is VS Code that’s built on Electron.
This comment feels like it just stepped out of a time machine. I can’t remember the last time I fretted over 200MB of overhead/memory usage.
I’m in no way judging you, merely commenting on how different our use cases and expectations are.
Mainly electron itself. For example the discord app (which uses electron) is less memory efficient (and much more restrictive etc.) than just a separate Firefox instance. It also had many problems with being up to date, but that’s due to the discord devs deciding they want an own, custom electron, based on an outdated version. The main problem with electron for me stems from the chromium base, as basically any large app based on chromium (discord, spotify and steam) has massive flickering and performance problems on Wayland+Nvidia. A special combination, but still a factor for a ‘cross platform’ framework.
On the other hand, stuff like Signal never had any problems on my machine.
So, just use the stock electron, optimally the system one [electron binary], and see if you can enable wayland compatibility natively (otherwise we need to use environment variables etc., which works moderately at best).
So, just use the stock electron, optimally the system one
What? The system what?
Often times there’s just no reason to package a web app into an app container.
A pile of HTML + JS is the only cross platform GUI toolkit that’s practical to deploy.
I’m not really happy about it myself, but realistically there’s not any other option than just bundling a website into a wrapper.
And to pre-empt any replies; your proposed solution must support Windows, Linux (X11 and Wayland), MacOS, iPhone, Android, Chromium and Firefox.
And to pre-empt any replies; your proposed solution must support Windows, Linux (X11 and Wayland), MacOS, iPhone, Android, Chromium and Firefox.
If you are a website, that’s easy, you are actually making the correct choice with Electron insofar that you want a browser.
If you’re doing an application not a webpage, then we’re walking W+L+Mac+Phones, that’s more tricky. I’m assuming for a second you want a usable UI (otherwise we’d be using Electron again :P ) so we’re talking two applications at least, one for mobile, one for desktop + maybe iPads.
And then it’s usually already too pricey to bother:
- Web frontend devs are far cheaper than application developers.
- Might as well just do a website, runs in everything. Only need to develop once.
- Updating is immediate with a website, don’t have to do any deployment/upgrade/downgrade plans.
Does Avalonia support Wayland? Last time I checked it wasn’t complete yet.
Why is Firefox a ‘platform’? I’m assuming chromium is for chromeOS devices, but I don’t know of any device that just runs Firefox.
Chromium and Firefox are web browsers, of course they only support HTML+JS. That’s what they were designed for.
of course they only support HTML+JS.
WebAssembly is becoming more popular, which lets you run code written in languages other than JavaScript in a browser. It’s not possible to do everything yet, so you still need some JS code and a bridge between the WASM and JS, but it’s getting there. Emulators that run in the browser often use it.
I don’t think, there’s currently any plans to introduce a non-JS API for accessing the DOM. It would just take an insane amount of implementation work + documentation.
But frameworks can generate access code for you, so you don’t actually need to write any JS yourself. Rust is quite far ahead in this regard, thanks to the wasm-bindgen
library.
“Here’s a website that you needed to install on your phone to see!”
They want you to install the app so they cand send you notifications/ads.
using a phone to browse the internet
i seriously hope you guys don’t do this
Definitely! I work at a computer 8-10 hours per day, 5 days a week. The last thing I want to do when I’m done working is sit at computer some more. I do almost all of my browsing on my phone. Firefox Mobile Nightly, plus NextDNS, plus Nord VPN, plus uBlock origin, plus a fake user agent string. I’m pretty secure on my phone.
I though the same but I tried Tauri and it makes sense. Unlike electron you’re not shipping the entire browser with your app and the the low level stuff is just rust so the integration is nice and easy. And using webview for UI? Why not? The reactive libraries are actually nice to work with, it’s easy to customize, you have all the tools to inspect/debug your code. It’s definitely better then trying to fit GTK into rust.
I’m using Tauri to play around with Rust. I like it so far.
I always thought it uses far fewer resources than electron.
oh JS too, which kinda throws me off because I’m not bad with Web Dev, but I’m not good either and my UI looks like a bad web page than a good desktop app.
I’m actually trying to keep it simple and write my own launcher like Alfred, Albert, Kupfer but I want it to launch my own custom scripts that I can load in a directory as well.
If you don’t like webapps, make native UI frameworks easier to use and cross-platform…
lol they did, that’s what webapps RUN ON. TBH I don’t get the original complaint. Lots of people have bad webapps; back when native apps were the norm, lots of people had bad native apps. It’s not really a problem with the runtime framework.