Definition from nodejs.org

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

What NodeJS is not:

  • Node is not a framework, it’s a server.
  • Node wrappers over JavaScript V8 Runtime, are not made in JavaScript, but made in C.
  • It’s not multi-threaded. It runs in a single thread with callback concept.
  • Easy to get started
  • Chrome's V8 JavaScript leads NodeJS to use Javascript which is most popular language on Github as official programming language

  • Full-stack experience on development application

  • Easy to jump start on development idea and easy to scale

  • I/O Non-blocking

  • Cross-platform

  • Lightweight and fast deployment

  • npm

This is not comparison between Node with other platforms, development projects is combination of many technologies and architecture. Every technologies have their pros and cons, so choose it based on your needs

Pros/Cons of NodeJS

Pros
  • Asynchronous event driven IO helps concurrent request handling.

  • Uses JavaScript, which is easy to learn.

  • npm, the Node packaged modules has already become huge, and still growing.

  • Active and vibrant community, with lots of code shared via github, etc.

Cons
  • Dealing with relational database

  • Callback hell

  • Node.js is not suited for CPU-intensive tasks. It is suited for I/O stuff only

NodeJS used for building diferrent type of applications:

  • REST API server (Most common use -- with Express, Hapijs)

  • Web application (with Jade/Pug) --- personal opinion: it's good but not competitive with other front-end technologies like React, Angular, VueJS, etc ...

  • Desktop application (with Electron, AppJS) --- tips: popular code editor VSCode is built on Electron

  • Webserver (like Nginx/ Apache)

  • Javascript libraries

  • Many other kinds of applications

results matching ""

    No results matching ""