请问做web程序,nodejs真的比java 开发效率高吗?java的三大框架我很熟悉,我知道nodejs搭建一个能跑起来的web很容易,但一个应用程序不是搭建起来用的时间长短那么简单,还要看开发数据库连接是否方便,模块之间连接是否方便等。
请问做web程序,nodejs真的比java 开发效率高吗?java的三大框架我很熟悉,我知道nodejs搭建一个能跑起来的web很容易,但一个应用程序不是搭建起来用的时间长短那么简单,还要看开发数据库连接是否方便,模块之间连接是否方便等。
Java向来都不是以开发效率著称的吧,项目周期长是Java Web的通病.
要说开发效率,Node在PHP面前也只有低头的份吧.
这也是为什么最不被看好没有大公司背景的草根语言PHP却能长盛不衰.
简单实用的东西永远不会过时,这个是硬道理.
这也是为什么有Google背景的AngularJS至今仍然无法撼动jQuery生态的原因.
就算那些资深前端如何鼓吹AngularJS好也无济于事,因为学习成本高,见效不明显,新手玩不转,打击自信心.
而像PHP+jQuery为代表的东西,对新手友好太多,而且深入进去功能也十分强大,能够帮助初学者建立信心.
一天到晚java,我也是做了几年java之后又做了node,我只想说,会三大框架就敢说自己是java工程师,以及只知道node回调地狱不知道promise的菜逼别来现眼了。比语法node比java简单太多了,比运行环境,v8 jvm都是c++的底层。比运行机制,事件驱动完胜好么?node没有多线程?我拜托,有一种架构叫微服务,两种语言都特么往这趋势发展,java的dubbo 不谢,用屁股想想都知道哪个语言更适合。之所以会有这么多瞎比比只是因为java只会ssh spring+mybatise 不想学新东西一天到晚瞎逼逼
脱离现状谈选型的都是耍流氓。
选型取决于需求和开发人员。
我认为你其实想了解的是nodejs的优劣势。
我随便说说
优势:
基于javascript是其最大优势。这给nodejs提供了大量的潜在用户。
nodejs易学。如果懂web开发的大部分知识,只要跟着教程和使用合适的框架,可以很快开发出简单的web app。
nodejs基于事件系统,面向web开发而开发。在io性能上有优势(其实是强制异步编程)。
nodejs热度很高,社区(开源)非常活跃。(跟1相关但是不是直接关系)
就是你说的,代码密度高。简短的代码可以完成开发任务。
(源自4)各种库和框架多、新、质量好。连接数据库的库什么的。
劣势:
nodejs难精。不是说一般人无法用nodejs做什么事情,而是因为其为动态语言,对编码质量要求高。否则将陷入无尽的debug。
cpu成本高。也是因为动态语言。
单进程/进程稳定性略逊。这个通过pm2可以轻松解决,但也是一个劣势。
基于异步,所以有一个叫callback hell的东西,es5写的话会比较难看。