Node Js tutorial for beginners
What is Node js
Developer of Node js:
Why Node js:
Node.js is an open source, cross platform and run time environment for development server side applications. Its also supported by Googles fast virtual machine V8. There are some points that gives strong reason for such huge popularity of this programming language.
- Open Source: Its available for free of cost. Due to its open source nature we have huge support from open source community and also we are free to share our code with MIT license.
- Node Package Manager : NPM is the default package manager for node.js. NPM support to create new tools and make it usable for further application. So our new tools will be further utilized in other application as well in very useful way.
- Asynchronous: Applications created using node.js are asynchronous means it wouldn’t wait for one thing to finish . So the benefit is if its doing some server processing then you can assign some other task like taking input and both task will keep performing in parallal. So that gives speed and performance.
- Developer Friendly: As a developer we have a lot of video, articles, code snippet and community support is available. Also tons of libraries are available through npm.
Advantage of Node Js
- One language all platforms means client, server, mobile
- Readily accepted by all communities be it php/ ruby/ dotnet/java
- Ability to handle thousands of concurrent connections with minimal overhead on a single process.
- Uses minimal internet bandwidth rather than any other server side programming language.
- Rich set of libraries that help us to achieve complex server side functionality with few lines of code . That not only gives better performance but helpful in network environment as well like chat application. Database interaction, file upload etc.
Disadvantage of Node Js
- Lack of maturity: Since it’s a new language and keep on improving with the time but since its also in development mode so we can’t say it’s a mature and stable in all the sense.
- Single-Threaded: Node being single-threaded means that one does not need to care about the problems of synchronizing between threads, or shared mutable state. Js has to decide from itself how to deal with concurrency.
Future of Node Js
Node.js (node) has already become more popular on github than Ruby on Rails if you compare it with PHP then PHP is not going to disappear from market but in the long run it could definitely give a good fight. But Yes, Since market needs a concrete application that works for all platform like client, server as well as mobile so the future is bright with MAN (Mongo, Angular and Node).