Node.js是什么
Node.js,或者 Node ,是一个可以让 JavaScript 运行在服务器端的平台。它可以让
JavaScript 脱离浏览器的束缚运行在一般的服务器环境下,就像运行 Python、Perl 、PHP 、Ruby 程序一样。你可以用 Node.js 轻松地进行服务器端应用开发,Python 、Perl 、PHP 、Ruby 能做的事情 Node.js 几乎都能做,而且可以做得更好。
Node.js 是一个为实时Web(Real-time Web)应用开发而诞生的平台,它从诞生之初就充分考虑了在实时响应、超大规模数据要求下架构的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步式I/O、事件驱动式
的程序设计模型。这些特性不仅带来了巨大的性能提升,还减少了多线程程序设计的复杂性,进而提高了开发效率。
Node.js 是一个让 JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统 API 、网络通信
等 Core JavaScript 没有或者不完善的功能。
Node.js 的 JavaScript 引擎是 V8 ,来自 Google Chrome 项目。V8 号称是目前世界上最快的 JavaScript 引擎,经历了数次引擎革命,它的 JIT (Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js 不运行在浏览器中,所以也就不存在 JavaScript 的浏览器兼容性问题,你可以放心地使用 JavaScript 语言的所有特性。
Node.js适用场景
Node.js 为网络而生。Node.js 能做的远不止开发一个网站那么简单,使用 Node.js ,你可以轻松地开发:
具有复杂逻辑的网站;
基于社交网络的大规模 Web 应用;
Web Socket 服务器;
TCP/UDP 套接字应用程序;
命令行工具;
交互式终端程序;
带有图形用户界面的本地应用程序;
单元测试工具;
客户端 JavaScript 编译器。
Node.js 内建了 HTTP 服务器支持,也就是说你可以轻而易举地实现一个网站和服务器的组合。
Node.js特点
Node.js 最大的特点就是采用异步式 I/O 与事件驱动
的架构设计。对于高并发的解决方案,传统的架构是多线程模型,也就是为每个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式 I/O 调用时的时间开销。Node.js 使用的是单线程模型,对于所有 I/O 都采用异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。 Node.js 的异步机制是基于事件的,所有的磁盘 I/O 、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理。
分享到:
相关推荐
第5章 使用Node.js进行Web开发 79 5.1 准备工作 80 5.1.1 使用http模块 82 5.1.2 Express框架 83 5.2 快速开始 84 5.2.1 安装Express 84 5.2.2 建立工程 85 5.2.3 启动服务器 86 5.2.4 工程的结构...
Node.js是一种方兴未艾的新技术,诞生于2009年。... 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱动的异步式编程风格,以便进一步利用Node.js的高级特性。
内容概要:《Node.js开发指南-课件和源代码.rar》是一份包含课件和源代码的压缩文件。该资源提供了关于Node.js开发的详细指南,涵盖了Node.js的基础知识、核心模块、异步编程、Web开发、数据库访问等内容。 适用...
本书首先简要介绍Node.js,然后通过各种示例讲解Node.js 的基本特性,再用案例式教学的方式讲述如何用Node.js 进行Web 开发,接着探讨一些Node.js 进阶话题,最后展示如何将一个Node.js 应用部署到生产环境中。...
node.js 作为构建高并发,多线程应用的利器,是前端开发人员也可以进入后端开发
《Node.js权威指南》旨在成为Node.js领域最全面、最系统和最具实战性的一本书,供初学者系统学习和开发者工作时参考。本书作者是资深Web开发专家,不仅全面、细致地讲解了Node.js的所有功能、特性、使用方法和开发...
本书是一本Node.js的入门教程,写给想了解Node.js的开发人员。
本书是一本 Node.js 的入门教程,写给想了解 Node.js 的开发人员。我的目标是使读者通 过阅读本书,学会使用 Node.js 进行 Web 后端开发,同时能熟悉事件驱动的异步式编程风格, 以便进一步了解 Node.js 的许多高级...
我的目标是使读者通过阅读本书,学会使用 Node.js 进行 Web 后端开发,同时能熟悉事件驱动的异步式编程风格,以便进一步了解 Node.js 的许多高级特性,以及它所应用的更多领域。 本书共6章,分别讨论了 Node.js 的...
Node.js 开发指南是一本入门级的Node开发中文指南
《Node.js 调试指南》是本人整理的从事 Node.js 开发这几年的一些调试经验和思路,希望授人以鱼也能授人以渔。