Node.js 教程

  • 什么是Node.js?

    Node.js是基于Google Chrome的JavaScript引擎(V8引擎)构建的服务器端平台。Node.js由Ryan Dahl在2009年开发,官方文档提供的Node.js定义如下-
    Node.js是基于Chrome的JavaScript运行时构建的平台,可轻松构建快速且可扩展的网络应用程序。Node.js使用事件驱动的非阻塞I/O模型,使其轻巧高效,非常适合跨分布式设备运行的数据密集型实时应用程序。
    Node.js是用于开发服务器端和网络应用程序的开源,跨平台运行时环境。Node.js应用程序是用JavaScript编写的,可以在OS X,Microsoft Windows和Linux的Node.js运行时中运行。Node.js还提供了丰富的各种JavaScript模块库,这些库在很大程度上简化了使用Node.js的Web应用程序的开发。
    
    Node.js = Runtime Environment + JavaScript Library
    
  • Node.js的功能

    以下是使Node.js成为软件架构师的首选的一些重要功能。
    • 异步和事件驱动 - Node.js库的所有API都是异步的,即非阻塞。从本质上讲,这意味着基于Node.js的服务器从不等待API返回数据。服务调用后将移至下一个API,Node.js事件的通知机制可帮助服务器从上一个API调用中获取响应。
    • 速度非常快 - Node.js库基于Google Chrome的V8 JavaScript引擎构建,因此代码执行速度非常快。
    • 单线程但高度可扩展 - Node.js使用具有事件循环的单线程模型。事件机制可帮助服务器以非阻塞方式进行响应,并使服务器具有高度可伸缩性,而传统的服务器创建的线程数量有限,无法处理请求。Node.js使用单线程程序,并且与Apache HTTP Server等传统服务器相比,该程序可以为更多请求提供服务。
    • 没有缓冲 - Node.js应用程序从不缓冲任何数据。这些应用程序简单地以块的形式输出数据。
    • 许可证 - Node.js是根据MIT许可证发布的。
  • 谁使用Node.js?

    很多大型企业都在使用Node.js,包括eBay,通用电气,GoDaddy,Microsoft,PayPal,Uber,Wikipins,Yahoo!和Yammer等。使用Node.js的项目,应用程序和公司
  • 概念

    下图描述了Node.js的一些重要部分,我们将在随后的章节中详细讨论。
  • 在哪里使用或不使用Node.js?

    以下是Node.js证明自己是完美的技术合作伙伴的领域。
    • I/O绑定的应用程序
    • 数据流应用
    • 数据密集型实时应用程序(DIRT)
    • 基于JSON API的应用程序
    • 单页应用
    建议不要将Node.js用于CPU密集型应用程序。
  • 谁适合学习?

    Node.js是一个非常强大的基于JavaScript的平台,基于Google Chrome的JavaScript V8 Engine。它用于开发I/O密集型Web应用程序,例如视频流站点,单页应用程序和其他Web应用程序。Node.js是开源的,完全免费的,并且被全球成千上万的开发人员所使用。
    本教程是为想要学习Node.js基础知识及其体系结构概念的软件程序员设计的。本教程将通过适当的示例使您对Node.js的所有必要组件有足够的了解。
    在继续本教程之前,您应该对JavaScript有基本的了解。当我们将使用Node.js开发基于Web的应用程序时,如果您对HTMLCSSAJAX等其他Web技术有所了解,那将是一件好事。