DEV Community

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

Collapse
 
romainlanz profile image
Romain Lanz • Edited

I'm really sad about seeing an article like this in 2020.

Because most of the information written in it is wrong and will not help any people that want to give a try to Node.js.

I'm sorry, but...

  • ExpressJS doesn't help you to build mobile application.
  • ExpressJS doesn't enable maintainable code and modular design, it helps you to create your own framework which is the worst idea ever.
  • ExpressJS is a simple router that hasn't been updated for years.
  • Sanity.io is a headless CMS, it's not a framework.
  • Koa will not help you to build an application, as said in this article, it's 550 lines of code.
  • Prisma.io is a database ORM, it's not a framework.
  • Hapi.js is dead.
  • Socket.io is a library to help you create WebSocket, it's not a framework.

What's the goal of this article if there's so many information that can mislead newcomers to the environment?

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!

Collapse
 
armaandh profile image
Armaan Dhanji • Edited

I'm going to be critical about your point regarding Prisma. Despite the fact that Prisma absolutely behaves in many ways like an ORM, the developer team has specifically written an article specifying that Prisma is infact not an ORM.
prisma.io/docs/understand-prisma/p...

Collapse
 
exenestecnico profile image
Ernesto

AdonisJS for the win!!

Collapse
 
leob profile image
leob • Edited

I've come across more terrible articles (even on dev.to) but "the ability to create both desktop and mobile applications" yeah that seems a bit ... uninformed?

The good thing is that the author mentions that these are the preferred choices of her company's developers, although it would be even better to mention that at the start of the article :-)

The weirdest thing for me was that the article starts off by showing a chart of "most popular technologies" and then goes on to list a bunch of the most unrelated tech you can imagine, from game engines and big data platforms and from devops tools to mobile development frameworks ...

What knowledge do I gain from that, or what purpose could possibly be served by this bizarre apples and oranges collection? It would obviously be way more interesting to show how node.js compares to other web app backend frameworks (i.e. same category) like Rails or Laravel and so on.