← Back to context

Comment by tedunangst

2 years ago

This is a very strange example. Browsers have fantastic backwards compatibility. You can use the same libraries and framework you used ten years ago to make a site and, with very few exceptions, it will work perfectly fine in a modern browser.

Browsers have decent backwards compatibility for regular webpages, but there’s a steady stream of breakage when it comes to more complex content, like games. The autoplay policy changes from 2017-2018, the SharedArrayBuffer trainwreck, gating more and more stuff behind secure contexts, COOP/COEP or other arbitrary nonsense... all this stuff broke actual games out in the wild. If you made one with tools from 10 years ago you would run into at least a couple of these.

Browsers themselves aren't usually the problem. While sometimes they make changes, like what APIs are available without HTTPS, I think you're right about their solid backwards compatibility.

What people really mean when they talk about the frontend is the build system that gets your (modern, TypeScript) source code into (potentially Safari) browsers.

Chrome is highly backwards compatible. Webpack, not so much.

This build system churn goes hand-in-hand with framework churn (e.g. going from Vue 2 to 3, while the team have put heaps of effort into backwards compatibility, is not issue-free), and more recently, the rise of TypeScript and the way the CJS to ESM transition has been handled by tools (especially Node).

The problem arises when you're not using old libraries and frameworks. You're using new stuff, and come across an old, unmaintained library you'd like to use.

Hey, it uses the same frameworks you're using --- except, oh, ten years ago.

Before you can use it, you have to get it working with the versions of those frameworks you're using today.

Someone did that already before you. They sent their patch to the dead project, but didn't get a reply, so nobody knows about it.

Yeah, but there are still thousands (hundreds of thousands?) of games on Newground that you can no longer play without running a separate flash player

You absolutely can do that, but it is likely the final output will have numerous exploitable vulnerabilities.