Hacker News new | ask | show | jobs
by superchroma 926 days ago
Web won because of the long running con of "write once, run everywhere", which has in practice caused a myriad of extra work as it was not true of:

- operating systems,

- browsers,

- aspect ratios, or,

- devices

Web technology is a scam, constantly reinventing itself. There are no true experts, everyone is scrabbling for the next framework which promises the world but just expresses the same set of problems in a new and interesting syntax, with increasingly unintuitive paradigms.

It is eternally "almost getting there", near enough but not good enough, needing to own increasingly more things that should rightly belong to an operating system to work acceptably.

2 comments

The "write once, run everywhere" was actually a genius paradigm for the applications they were intended to, the predominant success of Android OS which is mostly based on the cross-platform JVM runtime is proof of that. Java EE and web frameworks like Spring are also vastly successful in the enterprise sector.

But perhaps that paradigm becomes a bit difficult to implement in a landscape like Linux where there are already interoperability issues between native toolkits like GTK, Qt, WxWidgets, etc. Indeed, which one would you call the "native linux GUI toolkit" among these! When you add other complications to the mix like various desktop environments, X vs Wayland, GTK 2/3/4 inconsistencies, etc., it's understandable why a desktop developer would want to throw away their tools and run away from the linux desktop!

It is indeed quite a miracle that something like Java Swing/SWT works on top of all this fragmented mess at all.

Android OS runs on nothing but Linux. And it's a mess. Swing/SWT I won't even comment on.
What is this magical existing technology that works cross-OS, aspect ratio and device better than web?
My point was that web tech isn't those things. At that point we're just comparing it to one or more native apps, and for most jobs I'd prefer to work on and prefer to use a native apps ten times out of ten.