nodejs的总结
来源:互联网 发布:淘宝上下架规则 编辑:程序博客网 时间:2024/06/05 00:46
简介:
Javascript之所以能在浏览器运行,是因为浏览器提供一个“上下文环境”,它定义了Javascript可以做什么事情。
Nodejs,说白了,其实也是一个“上下文环境" , 这个上下文环境,允许在后端运行Javascript代码。
Nodejs使用Google的V8虚拟机,来解析和执行Javascript代码。
所以,nodejs = 运行时环境 + 库。
应用:
nodejs可以写web(网站后台,网站前端),写服务(游戏后台,IM...),写工具(抢票,爬虫....)。还可以写更多的东西。
优点:
1:单线程+非阻塞IO = 性能提升,代码简洁
它通过事件轮询(event loop)来实现并行操作。由于是单线程,所以基本不用考虑多线程的问题,例如线程上下文切换,变量加锁解锁等等。
2:强大的npm 设计 = 海量代码库
Node.js 的包管理器 npm 设计得比 python 和 ruby 好很多。有很多的 module 开发者。
3:精准控制每个细节 = 高性能,大并发
nodejs是一个非常靠近底层的工具库(+ 环境)。Node.js 可以精细的控制 Request 和 Response 的时间和内容,websocket 似乎就是为 Node.js 而生的。(配合 http://socket.io 这库之后,在 realtime webapp 这个领域,Node.js 已经没有对手了。看淘宝对nodejs的重视度和使用量就知道了。)
4:DIY空间很大。
蛋疼无聊的时候,自己用nodejs写爬虫,写抢课工具,搞破坏(破解妹子的相册).......
使用经验小结:
1:javascript语法是非常自由的,而且nodejs也支持用c/c++去写addon(nodejs的插件)。但是,由于js的性能。。。所以,如果你的需求业务非常复杂的话,不建议使用。如果你的需求是轻业务,重性能,那么可以考虑一下nodejs。
2:很少的业务需求,高强度的密集计算。业务用js实现,计算用c++实现。但是,用c++写addon之前,会有一定的学习曲线。
(备注:Java + C++/ PHP + C++ / Nodejs + C++ ,这三种做法,第一种更多的是大型架构的结合使用做法,第二种很多中小型项目都在使用,最后者就是我刚刚提到的,目前很少人用,但是性能测试确实不错,有一定的潜力。)
3:写blog,写小型的网站,基本没什么学习曲线,前后端都是javascript,方便前端的同学接触后端,js一统天下?。
4:nodejs的调试困难,编码不方便等等很多“缺点”,老早就不存在了。现在的nodejs对于线程的管理使用,也在发展的很不错。
总结:
nodejs现在发展很快,非常出名(出名不代表很多人用)。BUT,nodejs在后端的世界怎么算,都只是一个很有潜力的小孩子,现在的地位和java,php的地位还是差距非常大。因为nodejs本来就不合适写复杂的业务,nodejs目前更多的合适去做工具之类的开发。除非nodejs在设计的方向上能做出更大的变革,否则也很难和java平分天下。当然,nodejs本来的诞生目的也不是做“大佬”。nodejs很像geek,追求自由发展。
上面说了一大堆废话,接下来,来一个简单的教程:http://blog.csdn.net/l402398703/article/details/9993785
- nodejs的总结
- nodejs留言板的一些总结
- 关于Nodejs的小总结
- NodeJS总结(一):快速调试nodejs的三种工具
- nodejs总结
- Nodejs总结
- 学习NodeJS的一点总结---Express
- 总结学习nodejs遇见的一些错误
- nodejs 入门总结
- window NodeJS学习总结
- nodejs 调试总结
- Nodejs调试技术总结
- nodejs http 总结
- nodeJs知识点总结
- NodeJS基本知识总结
- nodejs知识总结
- nodejs安装总结
- Nodejs学习中一些javascript特性的总结
- sqlplus常用命令
- 两天没更新了
- poj 1062"错误“代码
- [Oracle] SQL*Loader 详细使用教程(3)- 控制文件
- Stanford Algorithms: Design and Analysis, Part 1[week 6]
- nodejs的总结
- -------
- SQL Server 2008阻止保存要求重新创建表的更改的解决
- 查找峰值点,求相关
- hdu 4578——Transformation
- (Ext基础篇) 表单与输入控件
- Quick Change hdu
- 在Xlib中,从XImage中取出R,G,B三分量
- Gray Code