In the past few years, everyone was enthusiastic about nodejs. Nodejs has high performance, the same language for the front and backend, and saves development resources. But why are the domestic server-side languages still mainly PHP and Java? In terms of front-end engineering, nodejs, such as gulp, webpack, and various front-end engineering tools are all based on nodejs, but nodejs has not become popular on the server side? I clearly remember that in the past few years, everyone was discussing that nodejs should be used to write server-side updates. Are there any advantages?
I wonder if Alibaba, PayPal and Uber are big companies? Taobao’s Double Eleven is based on Node services. Is it considered “popular”?
In fact, in any large factory, it is impossible to have just one technology, architecture, and service that works for all. Just like you can't simply say that Alibaba uses Java or Facebook uses PHP.
I don’t know how the questioner defines “fire on the server side”. If you mean all companies replacing their original services with Node then this is not possible.
First, even if a new omnipotent technology emerges that can instantly kill all other languages, existing services cannot be switched overnight. It is only possible to apply new technologies to new services and wait for new services to gradually replace old services before new technologies gradually replace old technologies. This is exactly what companies such as Alibaba are doing on Node.
Second, what technology a company adopts? The technology itself is only a less important factor. Demand and cost must be considered. A start-up company can achieve business no matter what technology it uses. What the boss considers more is personnel costs, difficulty of recruiting people, etc. There are a large number of practitioners in both PHP and Java, and the best Node programmers in China may be concentrated in a few large companies such as Alibaba.
Third, good programmers focus on what technology can solve what problems, not which language is better/hot/popular than which language.
Fourth, anything that can be implemented with JavaScript will eventually be implemented with JavaScript.
At the virtual machine level, the v8 VM based on Node.js looks very good, but compared with Java VM, it is far behind. In the server world, especially in environments with lots of CPUs and lots of memory, Java's VM is pretty much the best VM you can find on the planet. And v8 can neither fully utilize the performance of multiple CPUs nor fully utilize the memory. The only thing you can do is to open many Node.js instances to alleviate this, but this further creates more problems.
Node.js is particularly suitable for the rapid development of small and medium-sized systems. When the system becomes complex, Node.js is more suitable for acting as a Web Gateway and for front-end development. In both respects it has absolute advantages.
Nodejs has always been very popular, but it is mainly preferred by startup companies. For large companies, the cost of rewriting their Java architecture using nodejs is very high, so it is rarely used. In addition, a large number of startup companies have failed this year, so nodejs is not very popular.
In addition, friends who are more enthusiastic about nodejs are front-end friends, and I think they can be used together with front-end and back-end.
In fact, for back-end developers, they will never use nodejs no matter what they choose. For example, if I am engaged in data quality, my first choice is always Python, not even Java, let alone nodejs.
The number of people using it is not necessarily directly related to the advantages of the language. It may just be a habit.
http://fcode.cn/
How do you know that it has not become popular? PHP is no longer good. JAVA is a compiled language,