初探Node.js

1、Node.js是什么?

Node.js是一个基于Chrome JavaScript运行时创建的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,很是适合在分布式设备上运行数据密集型的实时应用。前端

1.1 误解

因为JavaScript的缘故,人们经常对Node.js产生很多的误解,如:node

确定是前端搞出来的东西
又是一门新的语言?
是否是JavaScript框架?
会不会效率很慢?

固然,这些问题的答案都是否。既然它如此的强大,那么接下来就让咱们一块儿来了解了解Node.js吧!web

1.2 Node.js是什么?

是Javascript的运行环境,不是一门新的语言,也不是JavaScript的框架,采用Google的V8引擎。能够简单的理解为服务器看不见的浏览器,提供特殊的API能够读取请求、操做数据库等,已经脱离来前端体系,是后端体系的内容。数据库

1.3 Node.js用什么写的?

Node.js平台是用C/C++实现,运行的是JAVASCRIPT的脚本。它和JavaScript的关系就相似于JAVA和JAVA虚拟机。编程

1.4 为何是JavaScript?

既然Node.js并不是由JavaScript语言写出,为何就必定要使用JavaScript不可呢?后端

这里面就涉及到一个历史的小故事——Node.js,原名Web.js。其设计做者非纯粹意义上专业领域出生的码农,而是一位数学家,他但愿能经过实现事件驱动和异步IO来设计一个高性能的WEB服务器,在比较了众多语言以后,选择了JavaScript。浏览器

那么JavaScript又是凭借什么功能打动了这位大牛呢?缓存

函数式编程。
异步编程。在前端编程中,异步编程是习觉得常的事情。
没有历史包袱。如:Lua的同步库已经广泛被用户熟悉,改变用户习惯难度系数偏高。
V8引擎。在运行JavaScript以前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码,而且使用了如内联缓存等方法来提升性能。也所以,JavaScript程序在V8引擎下的运行速度媲美二进制程序。

1.5 Node.js

Node.js既是WEB服务器,又是高性能、可扩展的网络应用框架,仍是单线程、事件驱动简化网络编程的。
目的:成为一个快速构建、可伸缩的网络应用平台。服务器

1.6 Nodejs发展历史

图片描述

1.7 Node.js对于前端开发者意味着什么?

(1)无需再花费力气学一门新语言
(2)其余语言能作的JS也能作,甚至更好网络

2、 Node.js能够作什么?

2.1 WEB服务器

动态网页
Ajax cgi
Web Socket。主要解决长连接问题。

2.2 桌面应用

基于Electron,node-webkit

Atom
VSCode

2.3 命令行工具

网络爬虫
本地开发构建工具,如GRUNT等

2.4 基于TCP/UDP等SOCKET应用

APP后台服务
海量数据上报服务

2.5 Node.js优点

  • 高并发
  • 跨平台
  • 先后端同构

3、Node.js在QQ空间的应用

3.1 Node.js在QQ空间应用的简单介绍

2012年,接入Node.js。其团队目前已独立开发了服务器端等WEB标准组建TSW。现在,除部分古老的功能外,其他基本已转入由Node.js实现。既然如此强大,那么咱们就来看看TSW的应用成果吧。
图片描述

3.2 TSW组建

图片描述

3.3 TSW组建具体能够实现哪些功能呢?

进程管理
监控体系——日志系统、自动告警、恶意请求拦截等
问题定位——测试环境、用户染色、定向抓包等
研发效率——先后端分离、代码同构、页面直出等
支持多种框架——Express、Koa、自研框架等
相关文章
相关标签/搜索