【有奖讨论】Node.js发展现状与展望

[复制链接]
查看11 | 回复9 | 2014-2-19 11:55:14 | 显示全部楼层 |阅读模式
本帖最后由 jieforest 于 2012-11-12 13:17 编辑
Node.js今年有点火。
Node.js是一个Javascript运行时环境(Runtime)。实际上它是对Google V8 JavaScript引擎进行了封装。V8引擎本身使用了一些最新的编译技术。Node.js采用一系列“非阻塞”库来支持事件循环的方式。
Node.js可以用于创建快速、可扩展的网络应用程序。Node.js使用了事件驱动、非阻塞的I/O模型,使得它更轻量级、更高效,对于数据密集型的应用或者是实时应用非常适合。
【发展简史】
1. 2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。
2. 2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用。
3. 2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。
4. 2010年年底,Node.js获得云计算服务商Joyent资助,创始人Ryan Dahl加入Joyent全职负责Node.js的发展。
5. 2011年7月,Node.js在微软的支持下发布Windows版本。
6. Node.js当前的版本为0.8.12版。
【讨论话题】
1. Node.js一般应用于哪些应用场景?适合于哪些场景?
2. Node.js在Web开发中有哪些优势和劣势?
3. 根据您的经验判断,Node.js的未来会怎么样?
【活动时间】2012-10-18——2012-11-8
【活动奖励】针对以上任意一个问题跟帖回答,我们会在讨论结束后,随机抽选讨论最积极的5名网友赠送《深入分析Java Web技术内幕》这本书作为奖励。
【图示信息】


深入分析JavaWeb技术内幕.gif (8.38 KB, 下载次数: 112)
下载附件
2012-10-18 01:16 上传

作  者:许令波 著
出 版 社: 电子工业出版社
ISBN:9787121179907
《深入分析Java Web技术内幕》围绕Java Web相关技术从三方面全面深入地进行阐述。首先介绍前端知识,主要介绍Java Web开发中涉及的一些基本知识,包括Web请求过程、HTTP协议、DNS技术和CDN技术。其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理等。最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、Spring容器、Ibatis框架和Velocity框架等原理介绍。本书不仅介绍这些技术和框架的工作原理,而且结合示例来讲解,通过通俗易懂的文字和丰富生动的配图,让读者充分并深入理解它们的内部工作原理,同时还结合了设计模式来介绍这些技术背后的架构思维。

本期活动获奖会员为:
chszs
jief
注:打酱油的、讨论不够积极的没有奖励哦!


回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
本帖最后由 chszs 于 2012-10-18 18:54 编辑
1. Node.js一般应用于哪些应用场景?适合于哪些场景?
正如NodeJS官方所言,NodeJS最适合用于开发网络程序,尤其适合开发数据密集型的应用或者是实时应用程序。
比如说,用NodeJS可以开发静态文件服务器,海报图片服务器等。据说LinkedIn公司的程序员用NodeJS程序代替原先的Rails程序,结果节省了27台服务器,速度和效率都得到了大幅度的提升。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
2. Node.js在Web开发中有哪些优势和劣势?
NodeJS的优势有:
1)性能优异,内存占用少,在某些场景下性能提升极大;
2)尤其适合做Web开发的程序员,因为可以充分发挥他们所掌握的JavaScript技能;
3)前端开发者可以与后端开发者在一个小组内协作开发,因为前后端都采用了JavaScript语言;
4)NodeJS对硬件资源的利用率极高,而且Google V8引擎处于不断的发展过程中,性能还将日益提高;
5)NodeJS的开发者可以更加专注于应用和逻辑的开发;
6)NodeJS周边库非常多,可以重用以便快速完成开发任务。
NodeJS的缺点有:
1)有很多的库需要掌握,学习时间长,破耗精力;
2)NodeJS的函数较多,要记住并掌握的难度不小;
3)NodeJS开发偏底层一些,代码的易读性不如Java;
4)NodeJS的文档较少,中文书目前只有一本,而且写得很差。

回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
3. 根据您的经验判断,Node.js的未来会怎么样?
从长期来看,我对NodeJS看好。如果NodeJS能整合Dart语言或TypeScript语言,那么前景会更好。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
不看好这东西!
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Node.js作为服务器端的JavaScript语言,有很多思想来源于以前的CommonJS项目。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
Node.js实现一个Web服务器太简单了,只需几行代码:
比如一个"Hello World"的Web程序,代码如下:// 载入http模块
var http = require('http');
// create http server
http.createServer(function (req, res) {
// content header
res.writeHead(200, {'content-type': 'text/plain'});
// write message and signal communication is complete
res.end("Hello, World!\n");
}).listen(8124);
console.log('Server running on 8124');复制代码其次,用Node.js读取服务器文件也非常简单,比如代码如下:var http = require('http');
var fs = require('fs');
http.createServer(function(req, res){

fs.readFile('greeter.js', 'utf-8', function(err, data){

res.writeHead(200, {'Content-Type': 'text/plain'});

if(err)

res.write('Could not find or open file for reading\n');

else

res.write(data);

res.end();

});
}).listen(8124, function(){

console.log('bound to port 8124');
});
console.log('Server running on 8124/');复制代码
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
这样,一个读写服务器文件的程序就完成了,可以看到,Node.js的功能确实非常强大。
HTML5的规范之一:WebSocket,是一种非常好的通信技术,用Node.js实现WebSocket也并不难。所以,用Node.js开发网络程序是一个很好的选择。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
2. Node.js在Web开发中有哪些优势和劣势?
javascript写的,开发起来快速但不知道性能怎么样
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
我们公司还在用spring和ibatis,不知楼主推荐的这项技术如何
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行