Heim > Fragen und Antworten > Hauptteil
In den letzten Jahren waren alle von Nodejs begeistert, es verwendet die gleiche Sprache für Front- und Backend und spart Entwicklungsressourcen. Aber warum sind die inländischen serverseitigen Sprachen immer noch hauptsächlich PHP? und Java? In Bezug auf das Front-End-Engineering basieren NodeJS wie Gulp, Webpack und verschiedene Front-End-Engineering-Tools alle auf NodeJS, aber NodeJS ist auf der Serverseite nicht populär geworden. Ich erinnere mich noch genau daran? Alle diskutierten darüber, dass NodeJS zum Schreiben serverseitiger Updates verwendet werden sollte. Gibt es irgendwelche Vorteile?
怪我咯2017-05-16 13:23:00
不知道阿里、PayPal 和 Uber 算不算大公司?淘宝双十一就是建立在 Node 服务的基础上,算不算「火」?
实际上,在任何一家大厂,都不可能只有一种技术、架构、服务通吃。就像你不能简单地说阿里是用 Java 的或 Facebook 是用 PHP 的一样。
不知道题主如何定义「在服务端火」。如果你指的是所有公司都把原有服务替换成 Node 那么这是不可能的。
第一,即使现在出现一种新的全能技术,能秒杀所有其他语言,现有服务也不可能一夜之间都切换过去。只有可能在新的服务上应用新技术,等待新服务逐渐替换旧服务,新技术才逐渐取代老技术。这也正是如阿里等公司在 Node 上做的。
第二,一家公司采用什么技术,技术本身只是一个不那么重要的因素,更要考虑需求和成本。一家创业公司,不管用什么技术都能实现业务,老板更多地考虑的是人员成本、招人的难易度等等。PHP 和Java 都有大量从业者,而国内目前最优秀的 Node 程序员可能都集中在阿里等几个大厂里。
第三,好的程序员关注什么技术能解决什么问题,不是哪个语言比哪个语言好/火/流行。
第四,凡是能用 JavaScript 实现的,最终都会用 JavaScript 实现。
仅有的幸福2017-05-16 13:23:00
在虚拟机层面 Node.js 基于的 v8 VM 看起来很不错,但和 Java 的 VM 一比,差距甚远。在服务器领域,特别是拥有众多 CPU 和大量内存的环境下,Java 的 VM 几乎是你能在地球上找到的最好的 VM。而 v8 既不能充分利用多 CPU 的性能,也不能将内存充分利用。你唯一能做的事情就是开很多个 Node.js 实例来缓解,但这进一步带来了更多的问题。
Node.js 特别适合中小型系统的快速开发,而当系统变得复杂以后,Node.js 更适合充当 Web Gateway 的角色,以及用于前端开发。在这两方面它拥有绝对优势。
習慣沉默2017-05-16 13:23:00
nodejs一直很火,但是主要是创业公司比较喜欢。对于大型公司,人家Java什么的架构如果使用nodejs重写成本很好,因此几乎不用。加上今年创业公司倒了一大片,因此nodejs就不怎么火了。
加上对nodejs比较热衷的是前端的朋友,觉得可以前后端一起使用。
而实际上,对于后端开发人员来说,怎么选都不会使用nodejs。比如我是搞数据质量的,第1选择永远都是python,连java都不用,就不要说什么nodejs了。