DEV Community

Discussion on: Top 8 Node.JS Frameworks to Look at in 2020

Collapse
 
bradtaniguchi profile image
Brad

Socket.io is a library to help you create WebSocket, it's not a framework.

I'm usually not very nit-picky about the distinction between a library and a framework as the line and definition is very blurred. Such distinctions have minimal actual value in the grand scheme of things. In the article's defense Socket.io calls itself a framework:

One of the most powerful JavaScript frameworks on GitHub, and most depended-upon npm modules.

ref (search the page for the word "framework", you'll find it ;D)

I'm not sure if pointing out expressJS's flaws makes it "wrong" to mention in an article of recommendations. I'm also not sure if this criticism is provided mainly just to boost AdonisJS credibility in an article that didn't include it.

Finally, the article gave its premise of where this list came from:

We asked a few of our Node.js developers here at SoluteLabs, and here is a list that we got.

It might be fair to say that the title of this article is slightly misleading as not all of this stuff is nodejs frameworks, but to label it as "wrong and wont help anyone trying nodejs" seems unnecessarily critical at best, or a blatant plug for AdonisJS at worse.

Collapse
 
romainlanz profile image
Romain Lanz • Edited

Hey Brad!

I'm not sure if pointing out expressJS's flaws makes it "wrong" to mention in an article of recommendations.

It's important to point the flaws of a system. When you need to choose a stack, it's necessary to have the pros and the cons. Nearly all Node.js tutorials will showcase ExpressJS, at the point of people thinking you cannot do Node.js without ExpressJS! I must say that I'm a bit tired to see people keep recommending it despite what I said in my first comment.

if this criticism is provided mainly just to boost AdonisJS

I've put the first sentence to remove this thinking, but it may still sound like an advertisement for it. I've removed that part to avoid the confusion.

I'm usually not very nit-picky about the distinction between a library and a framework as the line and definition is very blurred.

I agreed, the definition is very blurry. I believe that a framework should help you focus on what pays off for your business like Rails or Laravel are doing.

Sam Selikoff made a great video called React is a programming language for UIs that explain what he expects from a framework.

It might be fair to say that the title of this article is slightly misleading as not all of this stuff is nodejs frameworks.

That's my main concern. People tend to not overthink when they read. Reading this article may mislead beginners because they may start a project using something which will not help them.

Time to sleep for me, it's past 2 am, I'll read you tomorrow!

Thread Thread
 
bradtaniguchi profile image
Brad

I must say that I'm a bit tired to see people keep recommending it despite what I said in my first comment.

As you said, ExpressJS is almost synonymous with nodejs. Not including any mention of it, either by omission or by accident would be a pretty big problem for almost any article covering the topic of nodejs development.
Expecting an article on general nodejs development that doesn't include any mention of expressJS probably isn't a very reasonable expectation.

It's important to point the flaws of a system. When you need to choose a stack, it's necessary to have the pros and the cons.
That's my main concern. People tend to not overthink when they read. Reading this article may mislead beginners because they may start a project using something which will not help them.

This article's primary focus is on informing what a few devs at SoluteLabs recommended via an internal survey. Its not the most "scientific", hence why I think the hapi.js recommendation got in. I also think that is why there is 0 "cons" anywhere on this page.

I'd hope any one starting out does look into the pros and cons and not just this article (or any single article), which probably should be considered "a light skim" of what SoluteLabs uses than a rigorous comparison of different technologies.

Now on the topic of "they may start a project using something which will not help them." is only mostly true for hapi.js due to it effectively being a legacy framework. To apply that logic to expressJS and koa seems to just go back to the thinking that recommending expressJS is "wrong" due to its flaws. Which seemed to exist only to promote AdonisJS, either consciously or even unconsciously.

If you have 1 technology, see an article that promotes other technology that has "flaws" that are covered by your technology, I can see it being seen as "wrong" and wanting to bring notice to your technology. I think that's fair for relevant self promotion, however, what you see as "wrong" isn't necessarily wrong from all perspectives, especially when an article is setup in a non exhaustive way such as this one.

Thread Thread
 
andycharles6 profile image
andycharles6 • Edited

I believe, this thread has turned into a reddit thread.

I am no one to judge. But, I believe, as the reader, we should demand for high quality and well researched articles.

If you open an article from 2015 and read this, you will not find any major distinctions and I refuse to believe, that the Node.js landscape hasn't been changed yet.

Cheers!