node.js知识框架培训方案
2022-10-20 14:53:08 0 举报
AI智能生成
node.js知识框架培训方案
作者其他创作
大纲/内容
node.js是什么?
1.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
2.Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。
3.Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
4.发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
5.Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。
5.Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
6.Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
node.js功能
1.异步事件驱动的IO有助于并发请求处理-这可能是Node.js的最大卖点。此功能基本上意味着如果Node收到某个输入/输出操作的请求,它将在后台执行该操作并继续处理其他请求。
2.Node使用V8 JavaScript Runtime引擎,即Google Chrome使用的引擎。Node在JavaScript引擎上有一个包装器,使运行时引擎更快,当然Node内的请求处理也变得更快。
3.并发请求的处理,Node的另一个关键功能是能够在单个进程上以极小的开销处理并发连接。
4.Node.js库使用JavaScript,这是Node.js中开发的另一个重要方面。开发社区的一个主要部分已经精通javascript,因此,对于了解javascript的开发人员来说,Node.js中的开发变得更加容易。
5.Node.js框架有一个活跃且充满活力的社区。由于活动社区,始终可以为框架提供密钥更新。这有助于使框架始终与Web开发的最新趋势保持同步。
node.js用途
1.Node.js最适合在流媒体应用程序中使用,还有一些聊天应用程序。
2.游戏服务器
需要一次处理数千个请求的快速和高性能服务器,这是一个理想的框架。
3.广告服务器
在这里你可以有数千个请求从中央服务器提取广告,Node.js可以是一个理想的框架来处理这个问题。
4.流服务器
使用Node的另一个理想方案是用于多媒体流服务器,其中客户端有请求从该服务器提取不同的多媒体内容。
谁在用node.js?
1.我们熟知的公司有LinkedIn, Yahoo, Paypal, eBay, Walmart,Groupon,还有很多的中小型公司,国内的公司如雪球、淘宝、网易、百度等也都有很多项目运行在Node.js之上。
2.为什么很多公司要用node.js?
①动态语言:开发效率非常高,并有能力构建复杂系统,如ql.io。
②性能和I/O负载:Nodejs非常好的解决了IO密集的问题,通过异步IO来实现。
③连接的内存开销:每个Node.js进程可以支持超过12万活跃的连接,每个连接消耗大约2K的内存。
④操作性:实现了Nodejs对于内存堆栈的监控系统。
node.js优缺点
1.node.js优点
①Nodejs基于Javascript语言,不用再单独新学一门陌生的语言,从而减低了学习的门槛。
②Nodejs并没有重新开发运行时环境,而是选择了目前最快的浏览器内核V8做为执行引擎,保证了Nodejs的性能和稳定性。
③Nodejs的开发非常高效,而且代码简单,得意于Nodejs的单线程机制。
④Nodejs的另一个特点异步编程,让Nodejs处理IO密集型应用有了明显的优势。
⑤Nodejs的社区在壮大,不仅包的数量在快速增加,而且包的质量也要明显好于其他语言的。
2.node.js缺点
单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
node.js不适合的领域
1. 计算密集型应用,让Javascript和C去拼计算性能,估计是不可能赢的。
2. 内存控制,让Javascript和Java比较复杂数据类型定义,也是很困难的。因为Javascript的面向对象是基于JSON的,而Java是直接使用内存结构。所以,通过JSON序列化和反序列的过程控制内存,Javascript就已经输了。
3. 大内存的应用,由于V8引擎有内存设计的限制,32位环境中最大堆是1G,64位环境中最大堆也不到2G,如果要一次读入10G数据,对于Nodejs来说也无法实现。
4. 静态服务器,虽然Nodejs的优势在IO密集集应用,但是和Nginx的处理静态资源还是有很大的差距。
5. 不需要异步的应用:比如系统管理,自行化脚本等,还是Python更顺手,Nodejs的异步调用可能会给编程带来一些麻烦。
node.js应用的场景
1.Web开发:Express + EJS + Mongoose/MySQL
2.REST开发:Restify
3.Web爬虫:Cheerio/Request
4.Web博客:Hexo
5.Web论坛: nodeclub
6. Web幻灯片:Cleaver
7.前端包管理平台: bower.js
8.OAuth认证:Passport
9.定时任务工具: later
10.浏览器环境工具: browserify
11.命令行编程工具:Commander
12.Web控制台工具: tty.js
13.客户端应用工具: node-webwit
14.操作系统: node-os
0 条评论
下一页