Intoduction to NodeJS
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node.js
uses an event-driven, non-blocking I/O model that makes it lightweight
and efficient, perfect for data-intensive real-time applications that
run across distributed devices. [TutorialsPoint]
Here's a few key point regarding NodeJS,
Let's see what are key uses of using NodeJS,
Here's a few key point regarding NodeJS,
- Developed by Ryan Dahl.
- Created with the aim of creating real-time websites with push capabilities (websockets).
- NodeJS is an open source, cross platform runtime environment for server-side and networking applications.
- Build on V8 engine, Chrome’s JavaScript engine.
- Uses event-driven, non-blocking I/O model which makes NodeJS lightweight and efficient.
- Ideal for data-intensive real-time applications that run across distributed devices.
- NodeJS comes with several JavaScript libraries that help basic programming.
- NodeJS eco-system ‘npm’ is the largest in the world for open source libraries.
Let's see what are key uses of using NodeJS,
- Not the best platform for CPU intensive heavy computational applications.
- Ideal for building fast and scalable network applications.
- NodeJS is capable of handling a huge number of simultaneous connections with high throughput.
- For each connection NodeJS does not spawn new Thread causing max out of memory instead handle all in single thread using non-blocking I/O model.
- NodeJS has achieved over 1 Million concurrent connections.
- Bubbling errors up to NodeJS core event loop will cause crashing the entire program.
- Ability to use single programming language from one end of the application to the other end.
- NodeJS applications are easy to scale both horizontally and vertically.
- Delivers improved performance since V8 engine compile the JS code into machine code directly.
- Performance increased via caching modules into memory after the first use.
- Easily extensible.
- Support for common tools like unit testing.
- Well build ‘npm’ package manager and it’s large number of reusable modules.
- Even though there are number of libraries available, the actual number of robust libraries is comparatively low.
- Not suitable for computationally intensive tasks.
- Asynchronous programming model is complex than synchronous model.
Comments
Post a Comment