今天,Node.js成为热门话题。这是服务器端编程环境 严谨 用于快速,轻量级的开发。但这并非总是如此。 Node.js 发明人Ryan Dahl将Node.js视为个人实验,而不是其他。开发人员嘲笑JavaScript(主要是客户端)的想法 语言,在服务器端运行。 

也可以看看: 您需要了解的关于Node.js的知识

但是,在它首次出现四年后,现在显然已经成为主流。 Node.js通过利用来运行JavaScript V8,这是Google为Chrome设计的快速JavaScript引擎。这允许Node.js创建一个运行时环境,以将内容和数据从服务器快速推送到客户端。 V8将JavaScript转换为本地机器语言,而不是加班地将其解释为字节码,从而提高了Node.js的速度。 今天,这就是使Node.js成为开发人员世界的宠儿的原因。

作为Node.js的企业管理员Joyent的工程高级副总裁, 布莱恩·坎特里(Bryan Cantrill),在此转型中拥有前排座位。 

“两年前,人们会谈论Node.js功能,说:'是,但尚未投入生产。''是,但尚未得到证实,''是,但是,” Cantrill说。 “现在随着Node.js中内置的更多项目的问世,这种怀疑逐渐消失了。”

修补Node.js中的空白

当然,在早期,开发人员没有实施Node.js的原因很实际,因为该平台在生产中很难调试。

Cantrill之所以与众不同,是因为他具有工程背景,而不是像大多数Node.js使用者一样具有Web开发人员背景。他带着自己的创造来到乔恩特, 名为DTrace的应用程序,可实时诊断软件错误。 

他说:“这听起来像是一个低级的细节,但是能够将外部活动与程序内部的活动相关联,实际上可以使您了解程序。” 

他和他的团队着手将Node.js与DTrace集成在一起进行调试,Joyent至今仍在使用该技术来诊断Node.js的问题。 

为了使Node.js的部署尽可能无风险,该团队致力于解决内存泄漏问题。在Cantrill所说的经典开发问题中,有时Node.js程序会使用越来越多的内存,而似乎却什么也没做-当时,没人知道为什么。 

他说:“最后,Joyent工程师Dave Pacheco取得了重大突破,这使我们能够查看核心转储(正在运行的进程的图像)并确定更高级别的JavaScript状态。” “它实际上可以告诉程序员哪些JavaScript对象正在消耗内存。我们一直将其用于调试和开发。”

对于负责Java语言的Sun Microsystems的前Cantrill来说,这具有很大的个人意义。 Sun的员工们争论了是否让Java开源多年,而Node.js从一开始就是这样。对于在两家公司都曾工作过的开发人员来说,他认为这是一个解决方案。 

他说:“由于我们的指导,Node的发展已超越Java。” “ Node.js在服务器端比Java更可调试且更健壮。自从Java开创了十年之久以来,这真是太神奇了。

有什么好处?

Node.js不断提高的稳定性导致其被越来越多的用户采用,从而刺激了其在越来越大的项目中的增长。一些公司,例如通信创新者Speek和Voxer,完全建立在Node.js之上。而且大多数人会意识到目前正在使用它的知名人士:沃尔玛,微软,雅虎等。 

不过,据Cantrill称,不是Node.js成为主流的一种显着用途或大名。他说,微软和雅虎已经使用了多年。

“ Java的杀手级应用是什么?没有一个。 Java不仅代表了一系列非常好的想法,而且这些想法都是基于自己的优点而传播的。人们出于所有正确的理由采用Java。”

他说,Node.js也是如此。但是Node.js也被他称为“通用”。 Cantrill说,尽管其他开发人员会如此强烈地支持该框架,但“如果我必须选择一个动态环境来带走,我认为Node.js可能是我的荒岛动态语言。”

例如:Node.js在从事基于Web的应用程序(如聊天和游戏应用程序)的开发人员中特别受欢迎。但是Cantrill的团队实际上使用Node.js来开发命令行工具。 

他说:“我认为这对某些人来说可能违反直觉。” “他们问,‘为什么要使用Node?’,我们的柜台:‘因为这是完成工作的正确工具。’”

他继续说:“我永远不会说您将拥有Node.js操作系统或Node.js数据库。”但是它仍然有非常广泛的用途。对于需要讲HTTP并面向网络的任何内容,Node.js都将入围。”

但是,Node.js三年来最大的变化?开发人员可以不费吹灰之力地自己找到答案,而不必相信Cantrill的话。

“关于Node的好处是,开发较小的东西真的很容易。它可以帮助人们建立真正简单的概念证明,而在其他环境中则需要更长的时间。”他说。 “当涉及到Node.js时,人们不应该相信其他人会怎么做。他们应该自己弄乱它,看看它是否符合他们的需求。”

布莱恩·坎特里(Bryan Cantrill)的照片作者: 乔恩特.