This is a rant I can appreciate. Two subjective takes on the same subject: 1) As JavaScript became ascendant, it seems like developers lost their fear of dependencies, for some reason I don't understand. Dependencies came to be seen as "time saved" rather than "something out of your control that can hurt you." 2) When dependencies don't fit together, things fail in a way that makes it look as if the code is simply wr…
The JavaScript ecosystem is a hot mess and so is software development
21–30 of 94 posts
Re: The JavaScript ecosystem is a hot mess and so is software development
#22They updated dependencies blindly upping the version of packages a leading digit. Of course things will break! That's what the leading digit is for!
Yes, there are problems with too many dependencies, but upgrading packages just because you feel like it is a recipe for disaster even with very mature dependencies with good governance.
Re: The JavaScript ecosystem is a hot mess and so is software development
#23Out of curiosity what is the best counter argument to the general thesis, eg either what positives come entangled in the hot mess or reasons it’s not a hot mess?
High tool churn creates an ecosystem where you get paid well for knowing the new hotness.
Re: The JavaScript ecosystem is a hot mess and so is software development
#24I'm embarrassed to admit that for web development, I'm afraid to try frameworks like React/Vue/Angular as well as package managers like NPM/Yarn. So I settled on writing raw (X)HTML code and using only vanilla JavaScript APIs provided by the browser (ECMAScript standard library, DOM, multimedia, etc.). Because of this, I can't bang out complicated software quickly and easily like the stereotypical front-end developer…
> I made an exception for TypeScript I was nodding my head until TypeScript. I still don't like it even after years of people telling me it's the future. Maybe this is what it feels like to be older.
Writing raw javascript is genuinely painful, I literally don't understand how people can even do it. Like, how do you even refactor code safely?
Re: The JavaScript ecosystem is a hot mess and so is software development
#25Re: The JavaScript ecosystem is a hot mess and so is software development
#26Re: The JavaScript ecosystem is a hot mess and so is software development
#27This is a rant I can appreciate. Two subjective takes on the same subject: 1) As JavaScript became ascendant, it seems like developers lost their fear of dependencies, for some reason I don't understand. Dependencies came to be seen as "time saved" rather than "something out of your control that can hurt you." 2) When dependencies don't fit together, things fail in a way that makes it look as if the code is simply wr…
A side rant: for some reason in recent years it has been OK to make breaking changes. I remember a time when these were considered a nuclear option -- now popular libraries will make breaking changes for minor aesthetic reasons, resulting in billions of wasted developer hours changing foobar to foo_bar.
Re: The JavaScript ecosystem is a hot mess and so is software development
#28Earlier quoted context omitted.
A side rant: for some reason in recent years it has been OK to make breaking changes. I remember a time when these were considered a nuclear option -- now popular libraries will make breaking changes for minor aesthetic reasons, resulting in billions of wasted developer hours changing foobar to foo_bar.
Yup, this is what major releases are for and frankly we need more people like Linus reminding people don't break your external APIs!
Re: The JavaScript ecosystem is a hot mess and so is software development
#29This is a rant I can appreciate. Two subjective takes on the same subject: 1) As JavaScript became ascendant, it seems like developers lost their fear of dependencies, for some reason I don't understand. Dependencies came to be seen as "time saved" rather than "something out of your control that can hurt you." 2) When dependencies don't fit together, things fail in a way that makes it look as if the code is simply wr…
Plus, the std for these platforms is much larger too, because you get access to the huge API surface the platform provides. Apple has spent a significant amount of resources making the platform decent to develop for. They even include reactive UI patterns out of the box now; something you’ll need a library for on web.
I think that’s the real shame. The web platform is very flexible and ubiquitous, so most people try to target it. But in doing so, you’ll need to account for web standards differences across browsers (using a tool like browserslist), the cost of downloading the source code when navigating into a page (with webpack and minification to make bundle sizes more reasonable or split up), and the cost of not having strong default patterns for stateful, interactive UI.
Every other platform will include nearly all of the tools you need within the IDE and on the platform. Web just doesn’t have that, unfortunately, and it has further problems that really don’t exist on other platforms. (For example, other platforms don’t rely on downloading the app source code from a remote server when launching it every time.) It relies on the open source community to provide solutions to so many problems, resulting in the complex dependency trees we see in large apps.
On the one hand, the OSS spirit is admirable. There are competing projects for nearly everything, similar to Linux programs. (Just like there are many Linux dependency managers, there are multiple JS dependency managers.) This allows projects to “get better” by competing with each other, but at the cost of breaking changes and maintenance over time. (For example, there are many projects aiming to provide the fastest JS bundler.) But there is something to be said for having an opinionated platform with more features like iOS or UWP for windows.
All that to say, I don’t think this is a JS shortcoming, but a shortcoming of the web platform in general. And some of those shortcomings are inherent to the benefits of the platform.
Re: The JavaScript ecosystem is a hot mess and so is software development
#30I'm embarrassed to admit that for web development, I'm afraid to try frameworks like React/Vue/Angular as well as package managers like NPM/Yarn. So I settled on writing raw (X)HTML code and using only vanilla JavaScript APIs provided by the browser (ECMAScript standard library, DOM, multimedia, etc.). Because of this, I can't bang out complicated software quickly and easily like the stereotypical front-end developer…
It's more an extension of HTML than a JS library. It might be a good way to gently introduce more dynamic behavior without blowing out the complexity of your projects.