- cross-posted to:
- programmer_humor@programming.dev
- cross-posted to:
- programmer_humor@programming.dev
guywithoutaname ( @guywithoutaname@geddit.social ) 84•2 years agoI love having multiple copies of Chromium installed on my system at the same time. 250 MB internet messengers please!
masterspace ( @masterspace@lemmy.ca ) English24•2 years agoYou ever notice how everything installs and uninstalls super cleanly and easily these days and software gets consistent regular updates?
That’s because developers stopped min/maxing storage and started bundling all of an application’s dependencies with it instead of trying to rely on globally installed packages and frameworks that can break or be missing or lead to dependency hell.
No one likes larger download sizes and more storage being used but the tradeoff is by and large worth it.
Otter ( @otter@lemmy.ca ) English24•2 years agoIsn’t this about performance and not storage?
Making and managing an electron app is easier, but it is possible (with more work) to have clean install/uninstall, a nice UI, and consistent regular updates while still being fast and efficient.
Better programs will always need more work to create.
I am curious about what other options there are, and why Electron is what a lot of people go with.
masterspace ( @masterspace@lemmy.ca ) English14•2 years agoOptions:
Native app for each platform:
- Pros: native code is going to be the fastest possible to run and have the smallest dependencies
- Cons: have to write all your code 3+ times in different languages, have less time to develop new features and optimize existing code.
Progressive Web App:
- Pros: single app, write once runs anywhere, no signing keys, no lock in, can be hosted anywhere, runs on everything
- Cons: artificially limited by Apple on iOS, doesn’t have access to deep operating system resources, only what’s exposed through the browser, limited multithreading capabilities
React Native:
- Pros: single app, write once, runs anywhere, similar enough to React Web that a lot of developers will have an easy time learning it
- Cons: still kinda finnicky, not super easy to make it work and perform well across all platforms, you’ll probably still end up having to write some native code, not actually CSS / React Web so still a bit of a learning curve coming from there
Qt:
- Pros: single app, write once, runs anywhere, low level / compiled means that it will be small and performant
- Cons: written in C++, harder to find developers for, harder to implement modern out of the box niceties that CSS gives you for free, poor devX compared to react
.NET MAUI (formerly Xamarin):
- Pros: single app, write once, runs anywhere, low level / compiled enough to be more performant than most web apps out of the box, well documented
- Cons: written in C#, easier to find devs for but not many experts in it specifically, MVVM model is not as pleasant of a devX as React, again no css
Electron:
- Pros: single app, write once, runs anywhere, has full access to operating system resources and deep multithreading if needed, can be as simple as web app in a container or as complex as something like VSCode.
- Cons: takes up more storage and ram since you’re bundling chromium with your app
aksdb ( @aksdb@feddit.de ) 5•2 years agoFlutter is quite nice too. Closer to web dev, but still pretty close to native.
TehPers ( @TehPers@beehaw.org ) English3•2 years agoTauri is also a more recent option, which uses the native webview. Not sure if it’s suitable for production yet though.
RaivoKulli ( @RaivoKulli@sopuli.xyz ) 10•2 years agoYou ever notice how everything installs and uninstalls super cleanly and easily these days and software gets consistent regular updates?
Not really. Well maybe I take it for granted having switched to Linux.
I mostly hate Electron for the dumb RAM usage.
master5o1 ( @master5o1@lemmy.nz ) 0•2 years agoPretty sure that’s more about a switch from physical distribution where storage is expensive (CDs) to digital where it’s cheap.
pressanykeynow ( @pressanykeynow@iusearchlinux.fyi ) 3•2 years agoWell, Telegram uses 690 MiB on my system and Thunderbird uses 1.1 GiB.
Captain Beyond ( @beyond@linkage.ds8.zone ) 52•2 years agoWe live in a timeline where desktop apps all run in a browser, whereas mobile websites are all their own apps.
flashgnash ( @flashgnash@lemm.ee ) 8•2 years agoFor now at least, PWAs work on Android and I believe many apps already use electron or something similar under the hood
Trainguyrom ( @Trainguyrom@reddthat.com ) English1•2 years agoWhen I worked support for an android device manufacturer I had some strange issues with other apps that were resolved by clearing the cache in Chrome. Its all webpages all the way up and down baby!
smileyhead ( @smileyhead@discuss.tchncs.de ) 36•2 years agoWorld Wide Web was not intended to be an app framework.
Blackmist ( @Blackmist@feddit.uk ) English7•2 years agoWhat else works across as many platforms and screen sizes as well as the combination of HTML/CSS/JS?
Most attempts to build that just lead to a worse version of it.
I’ll be the first to admit it’s bloated to all hell after 25 years of people stacking crap on top of more crap, and it’s perilously close to being completely controlled by Google, but it is what it is.
I Cast Fist ( @ICastFist@programming.dev ) 18•2 years agoWhat else works across as many platforms and screen sizes as well as the combination of HTML/CSS/JS?
Doom. It runs on every-fucking-thing
Asymptote ( @Asymptote@lemmy.dbzer0.com ) 1•2 years ago(Undergirded ever so slightly by a Raspberry Pi but don’t mention it)
smileyhead ( @smileyhead@discuss.tchncs.de ) 10•2 years agoMaybe I do not specify clearly what I mean.
Why to order taxi, access bank, register a domain name do we have to have apps on all platforms and then to fix this problem we bloat the web by creating webapps. Why not just plain simple HTML website beautified with CSS instead?
Real cross-platform apps are those written in, for example QT. Then came Android and iOS forcing everyone to use their toolkits so we started to abuse poor web.
Blackmist ( @Blackmist@feddit.uk ) English5•2 years agoWell I’m in agreement there.
The only reason they want everything as an app is so they can push notifications and do any tracking they can legally get away with (and some they can’t but who’s gonna know?)
Dominos have locked all their deals that actually make a pizza a normal price that humans would willingly pay for a pizza behind their app. There’s no reason for them to do this. Surely their business model is selling pizza? So now I go to a little family run pizza shop, pay less and get decent pizza.
Dubious_Fart ( @Dubious_Fart@lemmy.ml ) English3•2 years agoYep.
Your standard web browser has to many privacy protections for you and your data.
Its why they want to push you to an app, that asks for WAY to many permissions to do what it needs to do. Cause it doesnt need that access to function. It needs that access to monitize you. Cause they make more off stealing your information, than they do off you being a customer, Which is why you get so many discounts for using apps.
amigan ( @theamigan@lemmy.dynatron.me ) English34•2 years agoIt seems every new shiny technology today tries its darndest to short-circuit 40+ years of advances in OS virtual memory design. Between Electron and Docker, the entire idea of loading an image into memory once and sharing its pages among hundreds of processes is basically dead. But at least there’s lower support burden!!!1111
masterspace ( @masterspace@lemmy.ca ) English20•2 years agoElectron is awesome, badly coded apps just suck. Look at Voyager for Lemmy, it’s great and it’s just a web app.
Electron apps are nice in some ways, but use a ton of memory
I usually don’t mind electron apps too much, but I do prefer native apps
smileyhead ( @smileyhead@discuss.tchncs.de ) 13•2 years agoNo, it’s not nice. Looks good only on Windows where everything have unmaching look anyway.
masterspace ( @masterspace@lemmy.ca ) English7•2 years agoLmao, need more title bars to match macOS’ 90s aesthetic?
crow ( @crow@beehaw.org ) English19•2 years agoIf I have to load elements from the web just to use the electron app properly, I’d rather use a web app and load the whole page each time and not have the tracking.
lowleveldata ( @lowleveldata@programming.dev ) 12•2 years agoThat’s why I got 32GB ram when I upgrade my PC. I don’t give a fuck to how many ram they use now.
xavier666 ( @xavier666@lemm.ee ) English15•2 years agoThis is the same coping mechanism as “just build another 4 lane highway. That should solve the traffic issues”. You are just shifting the problem.
lowleveldata ( @lowleveldata@programming.dev ) 2•2 years agoI’m not shifting the problem if I have actually paid the money to build the 4 lane highway.
wols ( @wols@lemm.ee ) 5•2 years agoThe point is that you’re not fixing the problem, you’re just masking it (and one could even argue enabling it).
The same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.
Developers use the excuse of people having access to more RAM as justification to produce more and more bloated software. In 5 years you’ll likely struggle even with 32GiB, because everything uses more.
That’s not sustainable, and it’s not necessary. lowleveldata ( @lowleveldata@programming.dev ) 2•2 years agoThe same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.
How is adding more RAM a temporary solution? It would lead more workload to the CPU… which is good?
I got 32 on my desktop so I’m fine there, but my laptop explodes if I try to run the same amount of stuff with 8GB ram
SnipingNinja ( @SnipingNinja@slrpnk.net ) 1•2 years agoEasy solution, get a laptop with 32 GB RAM/s
Seriously though, the problem is either on both or on neither. It’s an additional expense on the customer though, like everything else nowadays. I personally ended up getting a super powered laptop/tablet and relying on it for all my computing needs because laptops are good enough for most use cases nowadays and desktops are limited to specific use cases.
Thinking about it though, the reason it’s only limited tasks needing more power might be because everything else is electron.
el_abuelo ( @el_abuelo@lemmy.ml ) 11•2 years agoFolks in this thread complaining about Electron I think miss the point. It is a trade-off. It is designed to allow engineers who have a web dev skillset to write desktop apps. For those like me who want to write the occasional hobby app - it’s great. It’s also great for orgs to be able to have cross functional teams. Just like React Native allows this for the mobile world. This could be because they’re small and can’t afford specialist native engineers for each platform they want to support - or it could be that they want to spend their money in other areas and happy to trade off app performance. If it was as lean or as performant as native apps there would be a lot of people in this thread looking for work.
I Cast Fist ( @ICastFist@programming.dev ) English8•2 years agoElectron is just the “easiest, most common option”, because things like TauriJS and NeutralinoJS exist, which do what electron does without having to bundle a whole-ass Chrome browser.
It’s not terrible, electron is good for stuff like what you discuss
I just like native apps better haha
el_abuelo ( @el_abuelo@lemmy.ml ) 3•2 years agoNative apps have the potential to be better than electron apps for sure. I get that.
This is a surface level thing though - the question is: would THIS app, written by THAT organisation be better if it was native? Unlikely because they don’t have the skillset for it…otherwise it would have been a native app. Its also likely that less apps would even exist because the barrier to entry is higher without electron and similar.
But this is just a meme and I’m taking this way too seriously!
heird ( @heird@lemmy.ml ) 2•2 years agoIt’s still terrible because of its ram usage, electron uses minimum 300Mb per instance so that’s 3GB for 10 apps while if you open them all in Chrome you save 100s of mb
el_abuelo ( @el_abuelo@lemmy.ml ) 2•2 years agoChrome won’t give Web apps access to the file system amongst other things. I’m a firm proponent of web apps - but they can’t do everything a desktop app can, and so electron offers an alternative with the trade offs I mentioned.
Fonzie! ( @lord_ryvan@ttrpg.network ) 11•2 years agoAnd no, my fellow PHP devs, “Native” PHP’s also not it!
Andrew ( @Andrew15_5@mander.xyz ) 8•2 years agoWait until Tauri will gain popularity.
Cornelius ( @Cornelius@lemmy.ml ) 10•2 years agoYeah, then we can have marginally more responsive web apps.
Seriously though, web apps are usually just optimized like shit in addition to using chrome.
Andrew ( @Andrew15_5@mander.xyz ) 3•2 years agoDo you know what this even is? It’s not marginal at all. Check the comparisons of Tauri and Electron. And it does not use Chrome. Electron also doesn’t use Chrome.
beeb ( @beeb@lemm.ee ) 2•2 years agoI was pleasantly surprised to find a tauri app in the wild at my work. Our time tracking software uses it, at least for the Linux version.
haruki ( @h_a_r_u_k_i@programming.dev ) 6•2 years agoWell, people tend to pick the easiest way to achieve an objective, even though the solution is not simple nor optimised.
30p87 ( @30p87@feddit.de ) 6•2 years agoThat’s why I use discord in a separate FF instance and spotify-tui with spotifyd
fred ( @fred@lemmy.ml ) 6•2 years agoAudio chat is “not supported” by discord in Firefox last I checked. Are you spoofing user agent also?
Hotdog Salesman ( @RarePossum@programming.dev ) 4•2 years agoIt works for me.
I did originally have some issues and did some searching that there used to be firefox issues that are now resolved. Mine were fixed by restarting my VPN, but otherwise no problems.
fred ( @fred@lemmy.ml ) 2•2 years agoOh cool, I’ll check again
JSens1998 ( @JSens1998@lemmy.ml ) 3•2 years agoDamn, I didn’t even think about running Discord in a separate FF instance like that. Been looking for a more privacy focused approach then installing from the .deb. Thanks man!
30p87 ( @30p87@feddit.de ) 1•2 years agoI use a separate FF profile. It has no addons, apart from Vencord and a custom userChrome.css to hide the top tab bar (as full screening it would obstruct swaybar). I then just made an xdg .desktop entry which opens canary.discord.com with firefox using that profile.
Overall it somehow uses less RAM (albeit with another FF instance open, so maybe some resources are shared) than the official App and all other forks (eg. custom electron version) I looked at. Nearly everything works, but:- File upload for the soundboards is greyed out, switching user agents to chrome results in some obscure error
- Game activity does not work as the browser version cannot access the process list (Though that never even worked acceptable on Linux anyway)
- I did not manage to get xdg-desktop-portal to run properly for screen sharing on Wayland with Nvidia, as - bummer - the latter misses something in their driver. So no screen sharing for discord either
- You sometimes suddenly ‘rejoin’ a call/VC, which produces a very annoying sound every time. It’s either a problem with my connection or the browser version of discord (or both). Disabling join/leave sounds ‘fixes’ that
Overall all of those problems are a better alternative to the constant flickering that happened with all electron apps on my system if they are not interacted with for a few minutes (eg. by being on another monitor/workspace). That’s just distracting as hell and often even breaks functionality. And of course, Nvidia is at fault again. Like for 90% of other problems with my system.
::: spoiler Little rant: Some issues that happen on my Nvidia system (wayland) that are not present on my Dell Laptop w/ Intel HD graphics. I spent hours and days researching those Problems with potential solutions, very few improved some things a bit.- Electron apps flicker
- Generally, windows with less than 60 FPS will flicker, with transparent stripes letting you see the background/wallpaper
- Firefox sometimes just freezes whole websites, you need to un- and reload the site to continue using it. May be related to hardware accelerated mode tho.
- One update temporarily let games in full screen freeze. Even after killing them. And it still displayed after switching to a tty and back. And it even persisted killing the wayland session. It was just a frozen picture on output 2 forever, while in graphics mode.
- Features such as sharing the screen via xdg-desktop-portal do not work :::
LaggyKar ( @LaggyKar@programming.dev ) 2•2 years agoThe main thing that keeps me from running messaging applications in the browser is the lack of a tray icon
jbk ( @jbk@discuss.tchncs.de ) 2•2 years agoSadly the audio quality sucks for discord web for me on Linux. Maybe because there’s either little or no audio processing unlike in the desktop app with krisp or whatever
- shiveyarbles ( @shiveyarbles@beehaw.org ) 5•2 years ago
We use flutter and the app on iOS and Android look great. The web version looks and works like shit though