Hacker News new | ask | show | jobs
by toyg 1062 days ago
It makes more sense if you think that an HTML is a static document, which then gets decorated by CSS, and lightly animated by JS.

That is what the web was built as. We were supposed to browse documents like we browsed magazines. Your React monstrosities were hacked on top of that model, turning the browser into an application runtime - which it wasn't meant to be.

2 comments

Frankly it doesn't matter what it was meant to be, and it doesn't help at all thinking about it as a way completely separate from reality.
Web/JS did what Java tried to do, a runtime that works on all platforms. The problem is that its too heavy weight. But platform lockdown will prevent any competition.
That’s a misreading of history. Here’s the announcement for JavaScript, which was posted here just yesterday[0]:

It says,

> MOUNTAIN VIEW, Calif. (December 4, 1995) -- Netscape Communications Corporation (NASDAQ: NSCP) and Sun Microsystems, Inc. (NASDAQ:SUNW), today announced JavaScript, an open, cross-platform object scripting language for the creation and customization of applications on enterprise networks and the Internet.

(Emphasis mine)

JavaScript was always meant for building applications.

[0] https://news.ycombinator.com/item?id=36782761

Even assuming JS that was originally meant for hover effects (or "rollover") and other "light animation", complex web applications predate React by a lot.

Think Outlook Web, Google Maps, and all the smaller apps built with frameworks of their time such as Dojo, YUI etc

There also are monstrosities with the server at the center...

applications with hundreds of hidden form fields per page, required server sessions for anonymous users, DSLs in half-baked server-side templating languages, server code generating and injecting opaque JS to sync state with the client, the list goes on.

And these things all have ups and downs themselves I guess, just like React has.

In fact animation is one of my least favorite uses of JS, the more I can do in CSS, the better.

As a user sometimes I enjoy complex animations but only when it serves a purpose.

Those applications were meant to run on the server, more precisely on the Netscape proprietary appserver. On the browser they were meant to do popups and basic form validation at best. There was not even a network communication mechanism!
This is not what was intended. Just read the 1995 announcement - straight from the horse’s mouth. It was clear that Netscape had big plans for this. JS had its limitations, sure, but it could talk to Java on the client - which certainly did have network access. And famously, Microsoft felt so threatened by this new “platform” that they feared it would make Windows redundant. The late 90s was a wild ride.

> JavaScript is an easy-to-use object scripting language designed for creating live online applications that link together objects and resources on both clients and servers. While Java is used by programmers to create new objects and applets, JavaScript is designed for use by HTML page authors and enterprise application developers to dynamically script the behavior of objects running on either the client or the server. JavaScript is analogous to Visual Basic in that it can be used by people with little or no programming experience to quickly construct complex applications.

You just have to read that to see how JS was just meant as a bit of glue between JDK and html pages. Java would do the heavy lifting everywhere.
Yes but you understand that the JDK was running in the browser, right?

The browser has been an app platform since Netscape developed plugins. That is my whole point.

But Netscape didn't create Java. The browser was not created to be an application runtime; commercial interests shoehorned the role onto it.