1. Asynchronous event driven IO helps concurrent request handling. |
1. Node.js doesn’t provide scalability. One CPU is not going to be enough; the platform provides no ability to scale out to take advantage of the multiple cores commonly present in today’s server-class hardware. |
2. Uses JavaScript, which is easy to learn. |
2. Dealing with relational database is a pain if you are using Node. |
3. Share the same piece of code with both server and client side. |
3. Every time using a callback end up with tons of nested callbacks. |
4. npm, the Node packaged modules has already become huge, and still growing. |
4. Without diving in depth of JavaScript if someone starts Node, he may face conceptual problem. |
5. Active and vibrant community, with lots of code shared via github, etc. |
5. Node.js is not suited for CPU-intensive tasks. It is suited for I/O stuff only (like web servers). |
6. You can stream big files. |
|