Looking back three years working with Node.js
Node.js is improving day by days as the high-throughput, fast server side framework. Companies like Facebook, Paypal, Uber, LinkedIn using Node.js (or it eco-systems) to build their product and whatever product they have build is working more expected, so can we say future is bright?
Node.js is so attractive
Node.js was originally written in 2009. After 7 years, Node.js have more than 300.000 node modules. At more times, Maven Central (Java) have lower than 160.000 modules. At this view, we can see Node.js had developed so fast. When I have a difficult problem. Almost, I can see some modules help me solve that problem.
Due to Non-blocking IO mechanism. Node.js is fast in network communication or database interaction. With the development of Micro-service. Node.js used to make Gateway to authenticate or authorization in many product.
So hot but not the future with me…
After three years work with Node.js, I saw some problems, I sill work with Node.js, but Node.js is not my first priority. I hope Node.js can change faster to consistent with the trend.
Problem from inside of Node.js
- Management of Node.js. Node.js had published from 2009, but now some API still changing. Node module is too much. Many module is not standard and similar. It will make developer being confused. Many module is interdependence and nobody is quality censorship. If one module not working correctly many modules is the same fate.
- Fault-tolerant in Node.js. Many programmer complain about this problem. It doesn’t give you all of the tools necessary to make systems reliable and fault-tolerant.
- Single-threaded. Node.js has more than proven itself capable of handling
multiple events concurrently such as server connections. Nowadays, each server have many thread. If you need to solve a complex business like read multiple file. Node.js is too slow to do that job.
The development of other programming language.
When Node.js is created, C and C++ is good for computer but not good for developer. Python and Ruby are good for developer but not good for computer. Java is good but it hard to learn. At that time, Node.js is easy for developer. Startup and full-stack are trend in USA. So they choose Node.js. But, after one or two years their product run with Node.js they saw some problem and they are moving to other programming language. Some of my friend around the world has changed their business logic to use Java or Python. And programming language created everyday. Some of them had run faster Node.js and easy for developer like Go.
Node.js is the best choice to build a fast product use MEAN (Mongodb, Express.js, Angular.js, Node.js). With the disadvantages mentioned above, It can work well in a small range.But when that product is bigger, millions of user and have more complex business programmer should think more about another programming language.
That’s some of my comments about Node.js. I hope in next version run on multiple thread and have fault-tolerant. This only my idea about Node.js, If you have any opinion or something to talk with me or something wrong in this post, please comment to let me know. It will make me improve my knowledge. I’m always willing to listen to your opinion