文章


Node js:初学者入门介绍

由罗伯特·群
最后更新2017年9月19日

node-js-introduction-guide-for-beginners

在讨论全栈JavaScript时,您可能听过开发人员谈论Node或Node.js。但是什么是Node,您应该学习它吗?我们问DigitalCrafts首席教练Rob Bunch为我们深入介绍Node(针对初学者)!Rob介绍了Node的起源、它是如何与JavaScript一起工作的、Node有什么用处、学习Node的优缺点以及原因DigitalCrafts教节点。在本文的最后,了解如何开始免费学习Node.js。你将学习:

Node.js的起源是什么?

在过去的10到15年里,编程语言一直在争夺主导地位。有C语言、PHP、Ruby、Python、Go、R等等。你可以问10个开发人员他们使用什么,得到10个不同的答案。唯一的例外是JavaScript.任何为网页开发的人除了使用JavaScript别无选择,因为它是浏览器唯一能理解的语言JSON是在互联网上传递数据的主要手段。JavaScript已经成为所有后端语言中唯一的无所不在的语言。这就是后端和前端的二分法;后台一直是JavaScript的禁区,因为它存在于浏览器中,与此同时,有大量的后端语言,没有一个是浏览器的选项。所以在过去,前端开发人员必须学习任何一种糟糕的服务器语言才能实现跨越,而后端开发人员则必须学习JavaScript(如果他们还不知道的话)。

2008年9月,谷歌推出了V8引擎Chrome。它将JavaScript编译成机器代码,然后再运行,而不是让浏览器动态地解释它。这意味着JavaScript突然变成了1。crazy-fast, 2。机器代码(即使它仍然在浏览器中运行),与所有其他后端语言相同。

这给了《Node》的创造者Ryan Dahl一个机会。如果你能弥补差距呢?如果您可以使用人人都知道的语言,并使其在浏览器之外工作,那会怎么样呢用这台新的V8机器吗?

节点是什么?

它是JavaScript运行时;这意味着它是一种在浏览器之外运行JavaScript的方法.现在,它不是前端开发人员习惯使用的JavaScript,因为不再有浏览器可以使用。但是,JavaScript的所有核心部分都保留了下来:数组、对象、循环、条件、异步架构等等。这意味着,如果您可以在浏览器中编写JavaScript,那么您只需越过放弃浏览器的桥梁,就可以为任何东西编写代码。就像PHP、ASP等。

注意这一点很重要Node实际上并不是JavaScript.它读取JavaScript(诞生于为Chrome浏览器设计的谷歌的V8引擎)。因为它是用C编写的,所以它可以访问操作系统的内部,这是浏览器JavaScript本身所不能做到的。它也不是一个网络服务器。它不像Apache或NGINX那样有配置文件。它可以很容易地作为一个工具,但Node.js只是在计算机上执行代码的另一种方式。Node是一个程序饲料JavaScript。就是这样。这里最大的胜利是你不需要学习C语言,不需要了解套接字或网络协议,也不需要深入Linux的地牢去编写超级强大的东西……你可以使用JavaScript,因为Node运行JS。

学习Node有什么好处?

因此,由于有了这个新工具,您可以在浏览器之外运行JavaScript,但是什么时候Node真的比传统的后端语言更好呢?它不是完美的语言,但它有一些巨大的好处:

  • 一旦您学习了JavaScript,您就不必学习新的语言来使用Node,并且可以在整个堆栈中使用它。
  • 您可以从头到尾编写JavaScript,甚至可以本机接受JSON,这与所有其他语言都不同。
  • 因为JavaScript是异步的,所以当你有很多请求时,它都能很好地工作。
    • 如果您不知道什么是异步,简单地说,这意味着JavaScript可以处理无序的事情,而Internet上的许多事情都是这样发生的。这就像在黑色星期五去沃尔玛,不用排很长的队,也不用排很多很多的队,你可以有一个队,可以让所有人一次结账。这对于网站(作为web服务器)来说非常好。
  • 它处理交通的速度快得令人难以置信,而且它拥有最大的模块任何语言的市场。NPM(节点包管理器)以惊人的速度增长,几乎所有内容都有多个模块。

关于Node的用途有哪些例子?

  • 沃尔玛将他们的网站切换到Node专门为所有发生在黑色星期五的请求。它对API和实时应用程序(如即时消息或游戏)也很有用。
  • 在之前的工作中,我们有一个Node开发人员,负责处理来自实时摄像头的图片,并将它们发送到另一个服务器上。据我所知,这些照片从未上过网。
  • 我接触过的许多公司并不使用Node作为他们的主要语言,但使用它来管理依赖关系,因为NPM(节点包管理器)市场是如此巨大和稳固。

这只是几个例子,但它的应用并不局限于网络。它是一种通用语言,几乎可以做任何其他语言可以做的事情。

Node的替代方案是什么?

Node现在正在与PHP、Python和所有其他后端语言竞争。如果组织正确,他们可以一起工作,但这真的是一个选择的问题。

ASP和PHP是特别有效的网络语言,因为对于初学者来说,学习曲线几乎为零。

Node的缺点是什么?

  • 用Node编写web服务器需要相当多的知识。
  • 与大多数入门级语言相比,它是一项相当年轻的技术,这意味着没有那么多入门级资源,因为它们还没有被开发出来。
  • JavaScript最大的优点是它是异步的,但这也是一个主要的抱怨。
    • 困惑、回调歇斯底里和挫败感很常见,因为JavaScript不是从左到右、从上到下运行的。
  • 你需要拥抱承诺如果你有机会的话——这是其他语言不需要担心的。
  • Node在cpu密集型的应用程序中并不理想,就像在超级计算机上寻找石油一样。Node可以做到这一点,只是它并不理想,它已经在其他地方找到了主要位置。

为什么DigitalCrafts教授Node?

我们选择在DigitalCrafts教授JavaScript的原因有以下几点:

  • 它允许我们永远不会离开JavaScript,当需要教后端时,只需要一个小小的支点。
  • 就业市场对它有着疯狂的需求,因为许多现代应用都有很高的投入/产出要求。

我不认为JavaScript是初学者最好的“第一”语言(DigitalCrafts在其训练营的前两周教授Python),但我认为在JavaScript之后学习任何东西都很容易,因为它所有的细微差别都让其他语言看起来相当简单。我们的毕业生找到使用其他语言的工作是很常见的,事实也是如此。我们做的东西都有,从即时消息客户端到投票应用程序,再到一些api,甚至是一个成熟的电子商务网站。

我如何学习Node.js?

跟随以下由DigitalCrafts提供的免费四部分教程:

  1. http://www.digitalcrafts.com/blog/getting-started-nodejs-part-1
  2. http://www.digitalcrafts.com/blog/getting-started-nodejs-part-2
  3. http://www.digitalcrafts.com/blog/getting-started-nodejs-part-3
  4. http://www.digitalcrafts.com/blog/getting-started-nodejs-part-4

了解更多并阅读DigitalCrafts对课程报告的检讨hth华体会体育app苹果.检查DigitalCrafts的网站。

关于作者

Robert Bunch是全叠沉浸式讲师DigitalCrafts在亚特兰大。在加入DigitalCrafts之前,Rob在Turner Broadcasting、Two Rivers Marketing和webfiles等公司担任了11年的网页开发人员。

不知道你在找什么?

我们将匹配你!

相关的帖子


指南


咨询职业教练

没有技术背景的我能从事网络安全工作吗?

招生聚光灯


如何为炼金术做准备

关于炼金术师的录取,你需要知道什么!

课程关注的焦点


在DigitalCrafts学习数据分析

了解DigitalCrafts如何帮助新兵在数据分析领域启动职业生涯!