DEV Community

loading...
Cover image for 8 Node.js Projects To Keep An Eye On 2021

8 Node.js Projects To Keep An Eye On 2021

uiuxarghya profile image Arghya Ghosh Updated on ・3 min read

1. Cytoscape.js

image

Website -> https://js.cytoscape.org/

An open-source JavaScript library used for visualization and graph analysis which comes with rich and interactive implementation. It includes all out-of-the-box gestures which include box selection, panning,pinch-to-zoom, and so on.

Cytoscape could be used on Node.js to perform graph analysis on a web server or in the terminal. Developers moving toward data science in their interest can choose Cytoscape as a good choice, also it has a wonderful contribution guide with documentation.

2. PDFKit

Website -> https://pdfkit.org/

Very useful PDF generation library for nodes which helps in building and downloading complex PDFs, also it supports text and font embedding, annotations, vector graphics. However, the project has no extensive documentation which makes it harder to contribute to it.

3. Socket.IO

image

Website -> https://socket.io/

Bi-directional, real-time event-based communication and works on every browser device with equal focus on speed. A basic chat app is an example of two-way communication that the tool provides.

A new message is received by the server then it sends it to the client and notifies them bypassing the need to send a request between the client and the server.

Comes With Useful Features:

Binary Streaming

Analytics in real-time

Document Collaboiration

4. Strapi

image

Website -> https://strapi.io/

An opensource content management system which a backend only system that provides functions to use with RESTful APIs, the main aim to get and deliver content across all devices structurally.

Comes with plenty of features, includes an inbuilt email system, file upload, and JSON Web Token authentication. The content structure is created via Strapi which is very flexible and lets you create content groups and customizable APIs.

5. Nest

image

Website -> https://nestjs.com/

Nest is a popular progressive framework for creating efficient and scalable server-side apps. Uses TypeScript for combing functional and object-oriented programming elements & uses Express under the hood. This tool provides true flexibility by letting you use and libraries, thanks to its modular architecture.

6. Date-fns

image

Website -> https://date-fns.org/

Still, the most consistent and simple set of tools to manipulate JavaScript dates in Node.js and a browser and works well with modern module bundlers like, Browserify,webpack, and Rollup. With amazing community support, the tool has dozen of locales where each function has a detailed description along with examples.

7. SheetJS

image

Website -> https://sheetjs.com/

A Node.js library that allows you to manipulate spreadsheets in Excel and a lot of other things with Excel, for example, exporting workbooks from scratch and converting HTML tables, JSON arrays into xlsx files that are downloadable. Comes with a big community and a well-documented contribution guide.

8. Express.js

image

Website ->https://expressjs.com/

One of the most popular Node.js open-source project that offers immense value because of its efficient HTTP request and even working with JavaScript, a server-side language and out of browser.

A very helpful tool to accomplishing speed and security in applications.

Essential Features:

  1. Different extensions and plugin support

  2. URL-based routing mechanism uses HTTP methods

  3. Seamless database integration

Thanks Adrian Twarog @adriantwarog for this good and elaborate explanation

        

Check this out 👇... 

Thanks for Reading,

Hope you find it useful 🤟

Discussion (26)

pic
Editor guide
Collapse
michi profile image
Michael Z

Surprised to see express on this list. Two questions on the points you mentioned regarding express:

  1. You mentioned secure applications. But express is as bare bones as it gets, it's up to you to research and implement security measures. How does express help you in that sense?
  2. Can you show an example on the essential feature "seamless database integration"? As Express merely takes care of routing...
Collapse
uiuxarghya profile image
Arghya Ghosh Author

I honestly agree with you in your first point that we have to take different other measures to make it secure.
But in case of your second point, it can be found here
enterprisedb.com/postgres-tutorial...

Collapse
shadowtime2000 profile image
shadowtime2000

For the DB point that just doesn't really work. How much do you know about Express and the Node ecosystem? That article is talking about using Sequelize along side Express, Express isn't providing that support. That's just combining and using two tools together.

Collapse
andreidascalu profile image
Andrei Dascalu

Exactly, it's not express that makes the DB integration seamless, it's the sequelize "orm"

Express helps routing and data capture

Collapse
bacloud14 profile image
bacloud14

Perhaps he meant achieving security the hand in hand way, like when someone is new to Node.JS writting an HTTP server, then Express makes it for them.

Collapse
arizonatribe profile image
David Nunez

I would debate several libraries on your list. First, when we say that a project is one to "keep an eye on this year" it implies there is a lot of new and innovative development happening to that project or coming out of their greater user community. But many of the libraries on your list don't meet that criteria (maybe with Express we might finally get v5 and be able to throw err instead of next(err), but not a whole lot more than that). Socketio has been around a long time and not a lot to "keep an eye on", rather there is less need for it now as a frontend developer with native options that didn't exist 7 years ago. What you have here is a list of "some useful libraries in Nodejs".

Second, Nestjs is a project that sounds good on paper, but in practice it is unnecessarily complex, challenging to scale, difficult to debug, and extremely challenging to write tests around (when it becomes large). I've worked on three large NestJs applications for two companies in the last five years (for one company I was hired on specifically to help stabilize one of those Nest projects), and the scaling problems were identical with all three of them (separated by completely different developers). If you have worked heavily in traditional MVC frameworks between 2007-14, - such as Spring (Java), ASP (.NET), Zend (PHP) - and had to learn how to scale those applications effectively, you might be okay. But if you are shaking your head at my comparisons and saying to yourself "I just see that Nest is like Angular" then you are bound for the same pitfalls once your application becomes large.

When you worked on large MVC projects ten years ago there were best practices you had to follow to make it effectively scale. Controllers needed to be light, and there needed to be clear separation between business logic, data access, and request parsing & response formatting. Otherwise you were going to duplicate logic, have severe challenges setting up mocks for testing and ensuring you weren't spending more time on that than on test logic. Worst case scenario is your controllers could degrade into gigantic constructor functions (hundreds of lines of code) with complex branchings breaking down into procedural style programming (and hard to test).

Nowadays there just aren't as many applications being built in that old world style MVC, yet Nest has the same building blocks in place and it (sadly) requires of you the same toolkit to scale and stabilize it.

People are getting enticed by the Typescript support and the advertised comparisons to Angular, but beware: there be dragons! Dragons who are kind of puzzled that there are new victims so soon after they last feasted.

If you want to build small (micro) services, you can likely get some solid use and benefit from using Nest. But if you're building a backend-end for a complex frontend app or building a service with highly complex logic, then grab a veteran who has been put out to pasture on government or legacy enterprise applications and consult them early, before you code your Nest app into such a condition that'll get you moved off the project and a contractor to come in and stabilize it.

Collapse
oguimbal profile image
Olivier Guimbal

That's a pretty thourough review 😁 I share this analysis, though. Especially on the fair warning against monolithic frameworks, and the "there is no magic, but there are dragons, so hire experienced knights" part.

To ease the testing part a bit, I'd shamelessly recommand this lib of mine

Collapse
johnfrades profile image
John Frades

Sorry man but looks like you just throw in random 8 nodejs libraries for no reason. You didn't even put a reason on why to keep an eye on them

Collapse
andreidascalu profile image
Andrei Dascalu

Just a few notes:

  1. Nest is based on express

  2. Express has nothing to do with db integration or security

  3. As a project that's worth looking into, Fastify beats both Express and Nest. Fastify is a much faster alternative routing / web framework than Express (and Nest can use it for that purpose instead of Express middlewares).

Nest is nice in that it's built from the ground up around Typescript but beyond that it provides little value to make up for its opinionated ways. Of course, there are people who like that.

Collapse
ibrahimcesar profile image
Ibrahim Cesar

Please, add links to each lib!

Collapse
uiuxarghya profile image
Arghya Ghosh Author

Sure will be doing that

Collapse
uiuxarghya profile image
Arghya Ghosh Author

Now added the official site links :)

Collapse
talorlanczyk profile image
TalOrlanczyk

As a PDFKit user it was so painful at first to understand what to do
Sadly unlike docx nom that works perfectly with typescript PDFKit doesn't have a built in type so we can check if we send valid stuff

In addition my big project now is base on nestJS a little bit iver aritechure in my opinion but it still the best nodejs framework i used

Collapse
itscasey profile image
Casey 💎

I agree PDFKit hurt the first time using it :(

Collapse
brojenuel profile image
Jenuel Oras Ganawed

Thanks this is helpful :), if you could add a link for each of this frameworks, it would be wonderful. :)

Collapse
uiuxarghya profile image
Arghya Ghosh Author

You are welcome
Now added the official site links :)

Collapse
samuelpauloantonio profile image
Collapse
uiuxarghya profile image
Collapse
0xf3f profile image
Collapse
muzammilaalpha profile image
muzammilaalpha

Good post!

Collapse
uiuxarghya profile image
Collapse
jwp profile image
John Peters

With all the cloud stuff, aren't backend frameworks on their way out? I'm thinking Microservices are going to take over. It just makes sense.

Collapse
jay_js profile image
Jayesh Kale

reconsider list for adding fastify and just js.

Collapse
izararoy profile image
izararoy

Indeed!! Well written.

Collapse
uiuxarghya profile image