I got curious.
Diego ZoracKy

In general I just think it’s a mixed bag. It’s not so much that front end was ever all good, but I do think you see tides in what problems are being created and solved. Node.js creates problems that are unique to Node.js and that spawns solutions that address Node.js. It can be an issue when developers view web client JS’s problem as “not being Node.js” and try to shoe-horn Node.js solutions into the web client. (Not to be confused with “isomorphism”, which is a worthwhile endeavor IMO.)

But fairly often things I view as “bad” ultimately lead to good things. It’s likely the ubiquity of Node.js’s CommonJS-esque module format (not good for web clients because it’s synchronous) was a huge motivator leading to ECMAScript standardizing a module format. Not that we hadn’t been well aware JavaScript needed one before and hadn’t had our own contenders (AMD, etc), but it provided use cases and a larger audience with expectations.

For another recent example, the explosion of transpilers coupled with bundlers had implications and messages surrounding them I thought were/are bad for web clients, especially contrasted to Web Components’ HTML Imports. Like the end goal was to make web apps as much as possible like traditional software where you distribute a compiled executable. Which flies in the face of some reasons for the web’s success.

But the popularity of transpiling in its various forms led to modular transpilers like Babel and PostCSS, which synchronize well with the extensible web manifesto in allowing us to experiment with potential future standards today. There are downsides to transpiling still, but the tradeoff isn’t all bad.

And dumb early bundlers led to tree-shaking bundlers which sound like they have a great deal of positive potential for the web client if a lot of things all work out together. Although it’s not like Google Closure compiler didn’t have dead code elimination years ago. So there are a lot of ifs, but there are always a lot of ifs.

I have mixed feelings about our progress. There are things we need and Node.js has contributed to meeting those needs, but somehow we seem further away every day from the web platform that invited all of us, programmers or not, in to play. That web was a house with its doors and windows thrown wide open. This new web…I see a lot of doors being slammed, locked, and barred. And more than specific technology, that’s what worries me. Along these lines: