职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 416|回复: 8

NodeJS初探之三——新星的力量

[复制链接]
醉倚西风 发表于 2011-7-8 09:17 | 显示全部楼层 |阅读模式
引言:
       就如我前面提到的,对于NodeJS这一服务端JS所思考的一些问题,”这样的东西,适用于什么样的场景下?相对于传统的服务端方式来说,它又有什么优势呢? “
  
内容:
      今天特意请教了一下,上次在淘宝分享的那个讲师,也提了一些相关的问题,希望也能给大家解决一些相同的疑惑。

问题一:
服务端JS的实现,和我们传统的服务端实现相比,优势在哪里呢?

答:从几个方面看
1、和传统的服务端脚本语言, 原生的非阻塞io,能够很大程度上提高并发负载能力
2、对于java,c等直接开发的非阻塞服务,在开发效率和成本上要更胜出.
3、从语言特性上讲,js语言本身对事件机制由很好的支持,

问题二:
对于第二点中的开发效率和成本,具体体现在哪呢?我不是很明白,而且用起来也很别扭。

答:
1、java的nio实现代码量要比node多出很多,c的就要更多,而且debug起来比较复杂。
2、相对ruby等语言,node在执行效率上又胜出不少,而且node无协程个人觉得是比较好的选择。
3、而对于这种JS方式,刚开始使用确实要适应一段时间

问题三:
对于NodeJS,怎么样进行调试呢?

答:
1、进调试模式以后help就能看到了,具体的就是v8的debug命令.
进入调试模式方式为:$node debug node.js






秋秋 发表于 2011-7-8 09:17 | 显示全部楼层
呵呵,NodeJS的兴起,对于使用JavaScript的开发人员来说是一个非常好的消息,也意味着不必再多花精力去掌握另一门语言才能前后端一起开发。

不了解JS或没有深入探究过的人,无法知道JS的独特之处:
极其灵活(无类,连函数都是对象)
单线程

灵活意味着能用更少的代码写出同一个逻辑,开发效率高

单线程并不意味着它不能处理多个任务。
浏览器的JS也是单线程,一个JS不执行完是不会有任何响应的。但由于它可以使用事件、回调,从而实现任务分段执行,异步由此而来。
它要么全力执行,要么结束,等待下一次事件触发或后面某个地方执行回调。
这样,多个任务就可以在各个片段中切换。(可以以变通理解为,它自行“指定”任务切换点,其它地方永远是单线程的)
单线程的优势不用说了,多线程同步问题伤不起啊。

可能有人会说它的效率不高,Java效率也比不过C/C++,但用的人还是那么多,就是因为它开发快,可以将精力集中到要实现的业务逻辑上。
况且,它使用的v8引擎速度并不慢

JS个人很看好NodeJS的前景

fl 发表于 2011-7-8 09:17 | 显示全部楼层
担心其安全性问题

秋秋 发表于 2011-7-8 09:17 | 显示全部楼层
和python比呢,python概念和js差不多,但是语法简洁很多,运用也是遍地开花。

有烟没火 发表于 2011-7-8 09:17 | 显示全部楼层
不错。我看好。

以前看过Jaxer,就语法特性而言,Javascript是很不错的。
闭包,函数传递,函数与Object的统一,Array与Object的统一等等。

to fanfq
哪方面的安全问题?
这些JavaScript是在服务器端运行而不是客户端,不能与浏览器中运行的JavaScript混淆了。浏览器是看不到的,可以在服务器端完全控制。
安全性方面,应该与其他语言是一样的,靠自己的代码来保证吧,在服务器端代码中对输入做足够的验证和控制就行了。

也有人担心性能问题,一般Web应用的性能瓶颈都在数据库和网络IO上,编程语言很难成为瓶颈。当然,这要看具体情况了。

走失的猫咪 发表于 2011-7-8 09:17 | 显示全部楼层
膜拜啊!膜拜!

钰云 发表于 2011-7-8 09:17 | 显示全部楼层
又要把 封装的代码 再换一种语言封装啊 郁闷啊
shmilyyu 发表于 2011-7-20 09:53 | 显示全部楼层
额~哦........偶无语
ksdal 发表于 2011-7-22 10:32 | 显示全部楼层
一个子 没看懂
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-23 21:17 , Processed in 0.136633 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表