this post was submitted on 11 Sep 2023
516 points (96.1% liked)

Programmer Humor

19154 readers
2012 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 43 comments
sorted by: hot top controversial new old
[–] [email protected] 67 points 1 year ago (4 children)

Web & mobile development took a wrong tern 10 million miles back, and no one wants to turn the car around and admit it.

[–] [email protected] 49 points 1 year ago (2 children)

What’s possible for web apps today is insane considering where it started. I remember when AJAX was a brand new technology, and now you can do videoconferences with screenshare right in a web browser.

I think the push toward apps is because of influence from mobile. Everyone wants their own app, just like everyone wanted a dot com in the 90s. Hopefully we’ll stabilize around browsers and open standards.

[–] [email protected] 38 points 1 year ago (1 children)

Hopefully we’ll stabilize around browsers and open standards.

I would love this, but I think it will require major privacy reform. The push toward apps comes overwhelmingly from a single source: surveillance capitalism.

[–] [email protected] 3 points 1 year ago (1 children)

Not just privacy reform, but also mandated interoperability between services

[–] [email protected] 1 points 1 year ago

mandated interoperability

What you are describing was called Web 2.0. It didn’t work out.

[–] [email protected] 8 points 1 year ago

The push towards apps is due to a collection of corporate interests that are of dubious value to the end user.

Apple, Google, and Microsoft prefer apps over websites because they can exert much more control over their functionality and operation (as well as collect that sweet sweet 30% royalty on all digital purchases). This is why they intentionally make Home Screen bookmarks so unintuitive and inconvenient compared to downloading an app (at least on iOS and Windows; not sure about Android). They’re also more difficult to make cross-platform, although this is becoming less and less of an issue as cross-platform libraries evolve).

App developers push for apps because they’re much stickier (especially due to the aforementioned bookmark situation; it’s all very intentional). Their app is right at the user’s fingertips until they explicitly decide to delete it. For streaming services and the like, app SDKs also tend to offer more robust DRM than their browser counterparts. That’s why, e.g., Hulu cripples their streaming bandwidth on browsers like Edge while their Windows app is not, even though their Windows app is very obviously just an Edge WebView 2 window. It’s pathetic, but it’s something they can point to in a meeting with their investors and say, “See? We’re doing something about piracy!” as if one trip to a piracy website doesn’t refute all their hard work.

[–] [email protected] 27 points 1 year ago* (last edited 1 year ago) (1 children)

It took a wrong turn in the 90s. There's been no real feasible way to fix it without breaking the web for many decades now. Some things are just forever despite their problems, like QWERTY.

[–] [email protected] 11 points 1 year ago

So let's break the dang web

[–] [email protected] 18 points 1 year ago (1 children)

https://htmx.org/

I'm working on a little project to try this out.

[–] [email protected] 5 points 1 year ago

Yes, I couldn't recommend htmx highly enough.

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

Half the problem is that js was made over a weekend and we cant seem to come up with a different solution.

[–] [email protected] 10 points 1 year ago (1 children)
[–] [email protected] 7 points 1 year ago (1 children)

Even if wasm or something else could replace js completely we'd need some huge corp to drop support completely.

Something like apple no longer supporting js. Remember Flash?

[–] [email protected] 1 points 1 year ago

For cross-platform apps, Flutter is the future

[–] [email protected] 32 points 1 year ago (1 children)

This meme is really only true for things like Slack where the app is just the webpage in an app, and even then it's not quite true because Electron is a lot heavier than a webpage because it has to now run the webpage and the app - which I think is terrible.

But then also, Electron enables actual apps to be developed using web standards - which I think is great.

TLDR: Use Electron to make apps, not glorified webpages.

[–] [email protected] 12 points 1 year ago (1 children)
[–] [email protected] 4 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago (1 children)

Calling Slack a webpage is like calling an office building a room.

Slack is just as much a complex app as anything else even if it's built on web tech and standards.

[–] [email protected] 4 points 1 year ago (1 children)

The point is that Slack does not take advantage of Electron at all. It’s no better than running it in a browser.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (2 children)

For Slack it does. Building an app via Electron means it's cross-platform by default, so Slack doesn't need to invest in separate platform teams to solve the same problem (Windows, macOS, Linux).

Electron also has better support for things like native notifications, video and voice calls, offline capabilities, and to other native APIs etc that are either unsupported or spottily supported via the browser.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)

It's a much more lightweight option for building cross platfrom apps than Electron. Heck, even Tauri is better than Electron even though it also uses web technologies for UI.

[–] [email protected] 1 points 1 year ago

Flutter came to market much later. It wasn't even a thing when Slack started building using Electron. I'm sure the same applies to Tauri as well.

[–] [email protected] 0 points 1 year ago (1 children)

It has all this support for native platforms yet it’s always a clunky memory hog that makes zero effort to respect the design language of the OS it’s running on.

I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.

[–] [email protected] 1 points 1 year ago (1 children)

It has all this support for native platforms yet it’s always a clunky memory hog

Maybe so but it has improved a lot over time. The app devs share some responsibility too so it's not all on Electron.

zero effort to respect the design language of the OS it’s running on.

That's the Dev's design choice, not a limitation of Electron.

I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.

I don't disagree but at the end of the day it doesn't matter to enough people for it to become an issue. People are used to Slack and the way it works.

Moreover the cost of building the same app 2x or 3x simply doesn't make business sense.

[–] [email protected] 0 points 1 year ago (1 children)

I’m a web developer but is there no concept of classes, libraries, etc in other programming languages?

What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?

You keep saying Electron is used for better compatibility and listing out Linux, Windows, macOS but here’s the thing — most companies are only targeting those. That’s just three (if you don’t write for a million desktops on Linux).

Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?

Honestly, it just feels like poor tooling and a poor excuse.

[–] [email protected] 1 points 1 year ago

What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?

What do you mean? I can't speak for Slack but I'm sure some degree of business logic / client side logic separation exists.

By the way, what you just described is the essence of cross-platform development, rather than an argument for building apps natively.

simply writing the front ends for each platform you want to support?

But why would you rewrite the "front-end" for each platform if you have one you could just port over? Who is going to pay for those 2x developers and what would be the ROI on this effort?

That’s just three (if you don’t write for a million desktops on Linux).

Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?

In Slack's case I'd wager the answer to be a resounding YES. I don't think you fully grasp the full scope Slack's capabilities, and the amount of work involved to build native clients for not just one or two, but three different platforms - it's definitely not just the "UI".

Honestly, it just feels like poor tooling and a poor excuse.

Quite the opposite - frameworks like Electron let's devs with your skillset build with the stack you already know, and abstracts away quite a bit of the cross-platform complexities, which strangely enough is what you are suggesting but also what you are arguing against

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

What are you saving your ram for? You bought it to use it!!!

[–] [email protected] 9 points 1 year ago

But I like to snack on it...

[–] [email protected] 12 points 1 year ago

People kept arguing with me that not using is a choice and wonder why it is not freedom of choice.

[–] [email protected] 8 points 1 year ago

Main difference is the electron app has access to more things on your computer, like files, sensors, microphone, camera etc.

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

Please don't eat my RAM. I need it for mining MemoryCoin (tm).

[–] [email protected] 1 points 1 year ago

(Not FUD, legit curious)

Is there any way to make RAM production significantly greener than it is today?

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

Recently downloaded the KFC app. Strangely the app needs to ask me if I accept cookies, hmmmmmmmmmm

[–] [email protected] 4 points 1 year ago

I thought KFC sold chicken 🤔

[–] [email protected] 4 points 1 year ago

Got myself a laptop and PC with 64GB of RAM. I'll never look back. 16GB on a dev machine just seem like the bare minimum nowadays.

[–] [email protected] 3 points 1 year ago (1 children)

It isn't to save RAM the you should use the website over the app for.

[–] [email protected] 23 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 3 points 1 year ago (1 children)

I think they're referring to the fact that often installed apps will be able to mine more of your data

[–] [email protected] 0 points 1 year ago (2 children)

that sounds like just plain old paranoia and fear mongering

[–] [email protected] 1 points 1 year ago

I wish it were... But well, I guess I've been exposed to far too many privacy news articles, so I'm now paranoid too (with good reason)

[–] [email protected] 1 points 1 year ago

@Zeragamba @QuazarOmega just because something is paranoia doesn't mean it isn't true. Whenever I turn on the DuckDuckGo "VPN" to stop tracking by third party apps, I'm amazed at how many request are happening from apps I hardly use and many I don't expect (though I should know that something can still be open source Free Software and that the open code contains surveillance capitalsm tracking in order to fund the project)