比如douban及电子商务这类的网站?
我个人用Node做了几个中小Web项目,其中有两个投入了实际部署,偏重于业务处理,由于用户量并不多,目前运行也没出过问题。与之前我接触过的Web开发语言、框架来说,Node在开发效率方面算是可以了,至少在编码、部署方面简单有优势。有人说Node不适合高耗时、高计算操作,但这些完全可以交给其他语言来做,在项目中用C++、JAVA来承担耗时操作,再异步返回给的Node。以上,个人见解,离题了,供LZ问题作为一点小参考 :)
@saber nodejs做web还是很累的,就拿和php相比,node虽然提供了一些模块,但是很多做web基础的东西都没有搭建完善,包括mysql这样的模块还要别人写的一个包去下载,万一这个包中出现bug是致命的…nodejs而且如果项目大了,代码维护很困难,可以去看下现在网上的一些node写的代码,那个叫奔放啊!
我用 NodeJS 做 http 网关,后面接 oracle 数据库。然后用 PL/SQL 写存储过程来输出页面和做post处理。NodeJS 做 http 网关远胜于 oracle 自家的 apache + mod-plsql 模块。
但是直接用 javascript 写网站,暂时还不成熟,比如即使向 connect 这样流行的框架也经常可以看到明显的bug,而且主流数据库连接能力不足,缺少将 jdbc 这样的标准。因此不建议大规模使用。
但是 NodeJS 生态圈最终会完善,相关各个应用领域都会出现成熟的软件包,IDE 的支持也会跟进,那时在规模应用不迟。
没什么绝对的适合与不适合。当年Django刚出来的时候也有大队的人说不适合做网站呢,现在用的不也挺好的? 反正我现在正在用node+mongo来做大型的云服务网站,问题bug确实有,但是怕什么呢,改呗。看中的就是开发速度,以及上手的难度。最近招了几个应届毕业生,培训一个星期就能上手了干活了。人力成本不高的。
一部分,有一部分需借助其他语言的优势,要在nodejs实现语言统一的一个rpc方案,现在用thrift就可以解决,比如做电商的订单同步,购物车,结账这种大数据,高计算需要用JAVA或者TC,MQ去做服务,我觉得最主要是你选择的电商架构方式如何,有时候一些好的架构能弥补本身语言的一些不足.
nodejs的第三方库还是很丰富的,不过稳定性和强壮性于JAVA比起来就弱了很多,开发过程中各种蛋疼,第三方库的各种bug,各种坑让你去踩,如果遇到线上产品紧张的时候,你就悲剧了……好处是,踩坑的过程中,你会学到很多。