- cross-posted to:
- mobiledev@programming.dev
- ɐɥO ( @Oha@lemmy.ohaa.xyz ) 106•10 months ago
I fucking hate Electron
- unalivejoy ( @joyjoy@lemm.ee ) English64•10 months ago
If given a choice between an electron app and nothing, I choose the electron app.
- ɐɥO ( @Oha@lemmy.ohaa.xyz ) 39•10 months ago
same. still dont like them tho
- TheFriendlyArtificer ( @TheFriendlyArtificer@beehaw.org ) 7•10 months ago
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.
- SavvyWolf ( @savvywolf@pawb.social ) English76•10 months ago
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.
- jw13 ( @jw13@beehaw.org ) 7•10 months ago
Chromium and Firefox are web browsers, of course they only support HTML+JS. That’s what they were designed for.
- dan ( @dan@upvote.au ) 11•10 months ago
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.
- Knusper ( @Knusper@feddit.de ) 4•10 months ago
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.
- Miku Luna \ she/it ( @backhdlp@lemmy.blahaj.zone ) 7•10 months ago
If you count browser engines, don’t forget Webkit.
- greenskye ( @greenskye@lemm.ee ) English5•10 months ago
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.
- Commiunism ( @Commiunism@lemmy.wtf ) 12•10 months ago
they probably meant web versions of the app that run both on chromium and gecko (firefox) browser engines
- SavvyWolf ( @savvywolf@pawb.social ) English5•10 months ago
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.
- myersguy ( @myersguy@lemmy.simpl.website ) 5•10 months ago
Avalonia and Uno Platform if you are working with C#
- gens ( @gens@programming.dev ) 3•10 months ago
Raylib.
- SokathHisEyesOpen ( @Anticorp@lemmy.ml ) English55•10 months ago
“Here’s a website that you needed to install on your phone to see!”
- ExLisper ( @ExLisper@linux.community ) English41•10 months ago
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.
- lobut ( @lobut@lemmy.ca ) 7•10 months ago
I’m using Tauri to play around with Rust. I like it so far.
I always thought it uses far fewer resources than electron.
- ExLisper ( @ExLisper@linux.community ) English1•10 months ago
What are you using from UI? JS or also Rust?
- lobut ( @lobut@lemmy.ca ) 3•10 months ago
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.
- ExLisper ( @ExLisper@linux.community ) English1•10 months ago
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.
- shiveyarbles ( @shiveyarbles@beehaw.org ) 18•10 months ago
We switched to Flutter, works great for IOS and Android, but the website is trash.
- ExLisper ( @ExLisper@linux.community ) English7•10 months ago
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.
- shiveyarbles ( @shiveyarbles@beehaw.org ) 2•10 months ago
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.
- toastal ( @toastal@lemmy.ml ) English12•10 months ago
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).
- Taco ( @TacoNissan@lemmy.zip ) English1•10 months ago
But my beloved Netscape! How will I possibly learn a new browser? I’m too old to learn!