3 ms·
The migration guide is massive. Threlte 8 is yet another example of how little backward compatibility matters to JS library developers and adopting such a libr
by beders 2y ago
The migration guide is massive.
Threlte 8 is yet another example of how little backward compatibility matters to JS library developers and adopting such a library can be a costly endeavor.
Backward compatibility is readily and easily sacrificed in the name of ... what exactly?
Other examples:
MUI (Material UI lib) - some kudos are warranted for the existence of a migration tool but there are too many migrations that are not trivial or easy to change.
Angular - the OG of "All your code is now worthless, adopt or die" (some may be too young to remember Angular v1)
Vue - completely unnecessary renames and plenty of breaking changes between v2 and v3
The list goes on and on.
And it is not like you can afford to stay behind several major versions either. Eventually a CVE pops up that will not be fixed in older versions or the dependency tree will mess you up because you are relying on older versions that are incompatible with newer ones in some arcane 5 liner npm package.
Tread careful when choosing a JS library.
- legrisch 2y agoThe migration guide is indeed pretty extensive. In the end we get feedback from users that the actual migration is not as awful as it seems to be. A lot changed under the hood but the main APIs stayed the same. The changes to `<Canvas>` for example are changes that you usually do once in the whole app. Other changes just cater to Svelte 5 having a different API. I get your sentiment though. I'm always for as little dependencies as possible. If you rely on Three.js in the first place, you're going to need to update regularly anyway since pretty much every version is a major version. Thanks for your feedback!