• 1. Nodejs基于Javascript语言,不用再单独新学一门陌生的语言,从而减低了学习的门槛。同时,Javascript语言在Web前端开发中至关重要,特别HTML5的应用必须要使用,所以前后台统一语言,不仅可以实现程序员的全栈开发,还可以统一公共类库,代码标准化。单凭这一 点,Nodejs就已经赢得市场的青睐了。
  • 2. Nodejs并没有重新开发运行时环境,而是选择了目前最快的浏览器内核V8做为执行引擎,保证了Nodejs的性能和稳定性。
  • 3. Nodejs的开发非常高效,而且代码简单,得意于Nodejs的单线程机制。而Nodejs的另一个特点异步编程,让Nodejs处理IO密集型应用有了明显的优势。个人感觉,用Nodejs比Java做Web开发要高效10倍,比PHP的代码还要简单。
  • 4. Nodejs的社区在壮大,不仅包的数量在快速增加,而且包的质量也要明显好于其他语言的。很多明星级的包,都是简单而灵巧的,为了开发者的使用习惯而设 计。我最常用到的工具包,如socket.io, moment.js, underscore.js, async.js, express.js, bower.js, grunt.js, forever.js…,确实在改变我以前的编程习惯。
  • 动态语言:开发效率非常高,并有能力构建复杂系统,如ql.io。
  • 性能和I/O负载:Nodejs非常好的解决了IO密集的问题,通过异步IO来实现。
  • 连接的内存开销:每个Node.js进程可以支持超过12万活跃的连接,每个连接消耗大约2K的内存。
  • 操作性:实现了Nodejs对于内存堆栈的监控系统。

不适合的领域:

  • 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的异步调用可能会给编程带来一些麻烦。

最新文章

  1. [原创]如何在Parcelable中使用泛型
  2. 在simplescalar中添加基于PISA架构的指令
  3. JS-随机排序
  4. xamarin UWP图片读取
  5. C# WebClient 使用http免费代理。
  6. 利用jar命令打包和解压
  7. LeetCode 217 Contains Duplicate
  8. 操作JNI函数以及复杂对象传递
  9. MFC添加自定义消息
  10. SQLserver 连接+开窗函数+视图+事务
  11. cocos2d-x3.2中map的基本操作和使用
  12. 分区表在安装系统(MBR)丢失或损坏
  13. Linux下Nginx、PHP、MySQL、Redis开机自启动设置
  14. Docker 生态概览
  15. Structs2 中拦截器获取请求参数
  16. python 的生成器,yield的使用
  17. 在香港用什么软件可以唱歌?香港K歌app推荐
  18. java高级工程师开放面试题集<一>
  19. Sql Server 2008 数据库18456错误怎么解决?
  20. win7 wamp 64位 php环境如何开启curl服务?

热门文章

  1. JAVA设计模式之不变模式
  2. Codeforces Round #228 (Div. 1) B
  3. ORACLE 常用函数 日期/时间函数
  4. 深入理解JS异步编程三(promise)
  5. JSP调用JAVA方法小例子
  6. redis基础使用
  7. Visual Studio 2015完全离线安装
  8. java 常见关键字的使用
  9. knockoutJS+knockout.multimodels使用记录
  10. MongoDB-JAVA-Driver 3.2版本常用代码全整理(3) - 聚合