本周学习笔记
一、node.js 简介
1.Node.js 是一个能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。
2.Node 采用 Google 开发的 V8 引擎运行 js 代码,使用事件驱动、非阻塞和异步 I/O 模型等技术来提高性能,可优化应用程序的传输量和规模。
3.Node 大部分基本模块都用 JavaScript 编写。在 Node 出现之前,JS 通常作为客户端程序设计语言使用,以 JS 写出的程序常在用户的浏览器上运行。
3.目前,Node 已被 IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、 LinkedIn、Rakuten、PayPal、Voxer 和 GoDaddy 等企业采用
4.Node 主要用于编写像 Web 服务器一样的网络应用,这和 PHP 和 Python 是类似的。
但是 Node 与其他语言最大的不同之处在于,PHP 等语言是阻塞的而 Node 是非阻塞的。
Node 是事件驱动的。开发者可以在不使用线程的情况下开发出一个能够承载高并发的服务器。其他服务器端语言难以开发高并发应用,而且即使开发出来,性能也不尽人意。
Node 正是在这个前提下被创造出来。
Node 把 JS 的易学易用和 Unix 网络编程的强大结合到了一起。
5.Node.js 允许通过 JS 和一系列模块来编写服务器端应用和网络相关的应用。
6.核心模块包括文件系统 I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL 等)、二进制数据流、加密算法、数据流等等。Node 模块的 API 形式简单,降低了编程的复杂度。
7.使用框架可以加速开发。常用的框架有 Express.js、Socket.IO 和 Connect 等。Node.js 的程序可以在 Microsoft Windows、Linux、Unix、Mac OS X 等服务器上运行。
8.Node.js 也可以使用 CoffeeScript、TypeScript、Dart 语言,以及其他能够编译成 JavaScript 的语言编程。
二.Node.Js 用途
1.Web 服务 API,比如 REST
实时多人游戏
2.后端的 Web 服务,例如跨域、服务器端的请求
3.基于 Web 的应用
多客户端的通信,如即时通信