this post was submitted on 12 Dec 2023
939 points (98.8% liked)

Programmer Humor

32410 readers
251 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 156 points 11 months ago (2 children)
[–] [email protected] 94 points 11 months ago (3 children)

If given a choice between an electron app and nothing, I choose the electron app.

[–] [email protected] 56 points 11 months ago

same. still dont like them tho

[–] [email protected] 16 points 11 months ago

I choose nothing.

Or a website

load more comments (1 replies)
[–] [email protected] 44 points 11 months ago (7 children)

You hate electron or you hate developers who make inefficient electron apps? Some examples? (Serious question, because I make electron apps)

[–] [email protected] 104 points 11 months ago (6 children)

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.

[–] [email protected] 19 points 11 months ago (3 children)

The literal most popular IDE amongst software developers is VS Code that's built on Electron.

[–] [email protected] 50 points 11 months ago (5 children)

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

[–] [email protected] 16 points 11 months ago (1 children)

Tbf, it's typically language servers and extensions causing cpu and memory footprints. If you were to open a dumb txt file, I doubt you'd encounter issues. The app itself is pretty light. I say this as a neovim user who has managed to make its memory footprint balloon ^_^

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 13 points 11 months ago (2 children)

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.

load more comments (2 replies)
load more comments (1 replies)
load more comments (5 replies)
[–] [email protected] 28 points 11 months ago* (last edited 11 months ago) (5 children)

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).

load more comments (5 replies)
[–] [email protected] 8 points 11 months ago (1 children)

Developers who make inefficient apps. Most apps are sadly utter garbage

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 135 points 11 months ago (11 children)

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.

[–] [email protected] 39 points 11 months ago (1 children)
[–] [email protected] 42 points 11 months ago (1 children)

3 billion devices can't be wrong!

[–] [email protected] 29 points 11 months ago

Real talk; if Java didn’t have their head up their own arses, it would have been the real solution. But Oracle does what Oracle does.

Do not anthropomorphize Larry Ellison.

[–] [email protected] 19 points 11 months ago

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.
[–] [email protected] 15 points 11 months ago* (last edited 11 months ago) (2 children)

I think Flutter and Avalonia both tick all those boxes.

load more comments (2 replies)
[–] [email protected] 8 points 11 months ago (3 children)

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.

[–] [email protected] 21 points 11 months ago

they probably meant web versions of the app that run both on chromium and gecko (firefox) browser engines

load more comments (2 replies)
[–] [email protected] 8 points 11 months ago

If you count browser engines, don't forget Webkit.

[–] [email protected] 6 points 11 months ago (1 children)

Chromium and Firefox are web browsers, of course they only support HTML+JS. That’s what they were designed for.

[–] [email protected] 10 points 11 months ago* (last edited 11 months ago) (1 children)

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.

load more comments (1 replies)
load more comments (5 replies)
[–] [email protected] 101 points 11 months ago (4 children)

"Here's a website that you needed to install on your phone to see!"

[–] [email protected] 47 points 11 months ago (1 children)

They want you to install the app so they cand send you notifications/ads.

[–] [email protected] 38 points 11 months ago

Yup. That plus steal all your contacts and anything else they can get direct or indirect permissions for.

load more comments (3 replies)
[–] [email protected] 78 points 11 months ago (1 children)

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.

[–] [email protected] 14 points 11 months ago (3 children)

I'm using Tauri to play around with Rust. I like it so far.

I always thought it uses far fewer resources than electron.

load more comments (3 replies)
[–] [email protected] 49 points 11 months ago (2 children)

If you don't like webapps, make native UI frameworks easier to use and cross-platform...

load more comments (2 replies)
[–] [email protected] 41 points 11 months ago (1 children)

Steve Jobs in 2007:

The full Safari engine is inside of iPhone. And so, you can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. And these apps can integrate perfectly with iPhone services. They can make a call, they can send an email, they can look up a location on Google Maps.

And guess what? There’s no SDK that you need! You’ve got everything you need if you know how to write apps using the most modern web standards to write amazing apps for the iPhone today. So developers, we think we’ve got a very sweet story for you. You can begin building your iPhone apps today.

Admit it, the man was a visionary... XDDDDD

Just in case: /s

[–] [email protected] 17 points 11 months ago (1 children)

He was late to the party. Everyone by that time was trying to make applications and web development converge. Mozilla had an entire framework derived from the web.

[–] [email protected] 7 points 11 months ago (1 children)

By the year, I think this was before there was even an App Store (first generation iPhone was launched at the end of June, 2007). Jobs really believed in web apps, but the original iPhone had no power to handle them correctly, and a lot of the APIs that we have now were unthinkable at the time. I was just trying to be funny, really. :P

[–] [email protected] 6 points 11 months ago (1 children)

Jobs, whether or not he truly believed in that, gave the potential of web apps and HTML5 as the reason an App Store wasn't needed. And definitely the reason Flash wasn’t needed.

load more comments (1 replies)
[–] [email protected] 40 points 11 months ago

You mean, it's all Electron? 🌍👨‍🚀🔫👩‍🚀

[–] [email protected] 27 points 11 months ago (3 children)

geordi-no Spend 500 hours re-engineering your application for each platform

geordi-yes Just using ten year old proven technology that's built on a universal backwards compatible framework

[–] [email protected] 18 points 11 months ago* (last edited 11 months ago)

I, too, love me some Qt... but I thought this discussion was about electron.

load more comments (2 replies)
[–] [email protected] 19 points 11 months ago* (last edited 11 months ago) (1 children)

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).

load more comments (1 replies)
[–] [email protected] 18 points 11 months ago (2 children)

We switched to Flutter, works great for IOS and Android, but the website is trash.

load more comments (2 replies)
[–] [email protected] 15 points 11 months ago (3 children)

Tauri uses the OS's built in webview libraries as opposed to bundling a whole browser engine like electron. It's still not as good as native in terms of size and speed, but it should be a lot better than electron.

load more comments (3 replies)
load more comments
view more: next ›