- cross-posted to:
- mobiledev@programming.dev
- cross-posted to:
- mobiledev@programming.dev
I fucking hate Electron
If given a choice between an electron app and nothing, I choose the electron app.
same. still dont like them tho
I’ll talk nothing over a terribly implemented Electron app that devours system resources and brings every other Electron app down when it inevitably OOMs.
deleted by creator
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.
I know. I also use VSCode. However I just hate how much ram it uses. I had a Laptop with 4Gb of ram and I could not open VsCode on that thing when I had literally anything else open because the system would freeze.
Just because VsCode uses Electron doesn’t mean that Electron is not bad
Idk my vscode hardly ever uses more than 1-2 gigs.
My NeoVim (which can leverage VSCodes plugins) uses about 60MB for an entire project.
And doesn’t have the stink of Microsoft and its associated user tracking.
What language are you using? For me the rust-analyzer background process takes 1GB on average by itself
Yes. Thats a fuckton for a code editor. I also have an operating system that needs ram too. And if I open a browser it’s over
I think parsing code and all the dependencies will require way more than 120MB of RAM so for VS Code the overhead doesn’t matter that much. For smaller apps 120MB of ram is insane.
lite-xl with LSP gives you most of the features of vscode (they’re both lsp) at a tiny percentage of the system resources
In my experience LSP actually consumes quite a bit of resources. I’m using nvim with LSP and it’s definitely not tiny percentage of what other IDEs are using. The editor is light, LSP is not.
How much Rust do I need to know to use Tauri?
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?
I meant the system electron, as there are standalone electron packages
deleted by creator
deleted by creator
Developers who make inefficient apps. Most apps are sadly utter garbage
Capitalism forces developers hands into taking the cost-cuttingest approach to everything over doing it right.
Often times there’s just no reason to package a web app into an app container.
deleted by creator
At least Google does this one. Mozilla & Apple like to lag on the PWA front. Sucks that Mozilla dropped SSB before it ever even launched. Apple only just this year announced supporting the Notification API which ended up stonewalling a past project since it was a required feature for our app.
Yes
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.
If you count browser engines, don’t forget Webkit.
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-bindgenlibrary.
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.
they probably meant web versions of the app that run both on chromium and gecko (firefox) browser engines
As Communism said, yeah I was ment a web application. No need to spend dev time working on a different version of your app if you can just reuse the web version.
Avalonia and Uno Platform if you are working with C#
Raylib.
“Here’s a website that you needed to install on your phone to see!”
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.
What are you using from UI? JS or also Rust?
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.
Yeah, UI is hard. I try to use good component librarian as much as possible but actually making it look consistent is difficult.
For the UI I’m using leptos. It’s actually very nice and using rust on both front and back means there’s couple less things to worry about.
We switched to Flutter, works great for IOS and Android, but the website is trash.
I tried Flutter and hated it. It was buggy (there’s thousands of post on the internet saying that you have to do ‘rm ios/Podfile && flutter build ios’ and similar. the build breaks often and standard solution is ‘turn it off and on again’), the components library is too verbose and not nice to work with, the support was bad (as in open a bug report with example repo and they would react after 6 months) and everything that’s not ‘hello world’ was complicated or impossible (like writing tests). I’m definitely not using it again.
We had a third party do the development, it worked out really well. At some point I’ll need to learn it when we take it over.
At least webviews don’t (yet, Google be trying) have the ability to request attestation & ban me for not using the stock, bloatware OS every device comes with. Bonus that I get to keep my data inside the browser’s sandbox; it’s the easiest way to be safe with proprietary software.
If only my bank could get the memo & make their website not suck (it legit checks for Netscape Navigator 4 in the source) so I can be at peace with microG+LineageOS in the phone space (all the banks here do it & I already switched once until my bank, slowly but inevitably ‘modernized’ their app).
But my beloved Netscape! How will I possibly learn a new browser? I’m too old to learn!
deleted by creator
deleted by creator








