I dislike how many frameworks there are in the Node.js ecosystem. I feel there are too many for the same purpose. It is daunting. One time you see X framework catching attention, then after you study it, learn it, and seek to use in your daily professional life, suddenly a wild Y framework appears, supposedly doing a better job than what X could in certain aspects. Then Z, then back to A. And what's more, majority is not opinionated, allowing one to write in any way he or she likes. Soon, what you've learned has become irrelevant or simply discontinued.

It's like Linux. Any Joe makes something, either because he or she doesn't like one aspect of something, or just wants to be part of the mob who creates stuff and reinvent the wheel.

I don't like this. What I like is how Spring and .NET are. I feel their opinionated characteristic is great, allowing for easy code reading when studying, understanding others code in a new job, etc. You do it like this, this, and this, and maybe, like this if you'd like, but that's all, mate. To me, it is important to become excellent at one or two technologies/languages, things that do not get replaced so easily as it is in JS.

I had studied .NET for the backend development for a year, but I never found any opportunity, until I was laid off and is when I decided to focus again on React. After some time, I learned about NestJS, liked it for being inspired on Angular and for being opinionated. I checked on how demanded it is right now, almost nothing. It was all pure Node.js, seemingly, which made me reflect on the point of this rant: Node.js is vast, a land of no one. What is going on at the moment?

NestJS seems to be the real deal. It is how I like things to be. Perhaps over time it will become The Framework for Node.js backend development, like Java/Kotlin is Spring, C# is .NET, python is Django or Flask, Ruby is RoR, we have Go, and Rust, too. The majority have years upon years of existence and still widely used and relevant. But given how things happen in this universe of Node, I cannot but wonder if in 4 years or so another Joe will decide to make something of his own, something totally different and yet again throwing away a big part of what has been previously learned, and then turning Nest irrelevant. Maybe the name will be NxxtJS, you know, because we have Next, Nest, Nuxt...

Amen, sorry.

  • 0
    The NodeJS ecosystem is a weird way to put it. It has base modules like filesystem and http.

    All you're referring to are the JS frameworks that can be installed through npm. It's true that JS frameworks seem to be a lot more numerous than say... PHP frameworks.
  • 1
    Tyranny vs anarchy. You picked your side
  • 0
    @ostream I wanna switch to tyranny.
  • 2
    The trick is not to care.

    You don't have to learn everything. You only need to learn what you're using. It's fine to have never used a framework or language.

    If you find a job that requires it, well you'll learn quickly.

    If only HR would understand this.
  • 1
    Every framework is opinionated by definition. Your given a sandbox to play in but can only play there. Doesn’t have a slide? Hopefully they make one for you. The sand is mixed with cat shit? Too bad.

    Btw I like your pun on Next.js. So true and I wonder when the NextNext.js comes out.

    With anything in life there’s more knowledge than I could know, or want to know, in my lifetime, so being intentional is really important. Echoing what someone else wrote. You only need to know what work pays you know and what you want to know.
  • 0
    I usually tell my clients that I am building your app in Node.js because majority of them just generalize Node.js term with its frameworks but in actual I use NestJS because it has amazing Swagger integration.
    Apart from this I just hate Node.js and try to prevent myself from using it.
Add Comment