`
sammor
  • 浏览: 409611 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

引言:

       就如我前面提到的,对于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


 

 

 

分享到:
评论
6 楼 vb2005xu 2011-05-31  
又要把 封装的代码 再换一种语言封装啊 郁闷啊
5 楼 jilen 2011-03-25  
膜拜啊!膜拜!
4 楼 裴小星 2011-03-25  
不错。我看好。

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

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

也有人担心性能问题,一般Web应用的性能瓶颈都在数据库和网络IO上,编程语言很难成为瓶颈。当然,这要看具体情况了。
3 楼 aninfeel 2011-03-23  
和python比呢,python概念和js差不多,但是语法简洁很多,运用也是遍地开花。
2 楼 fanfq 2011-03-23  
担心其安全性问题
1 楼 clue 2011-03-21  
呵呵,NodeJS的兴起,对于使用JavaScript的开发人员来说是一个非常好的消息,也意味着不必再多花精力去掌握另一门语言才能前后端一起开发。

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

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

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

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

JS个人很看好NodeJS的前景

相关推荐

Global site tag (gtag.js) - Google Analytics