问题描述
- node.js到底怎么样,它的劣势在哪里呢
-
现在node.js挺火的,但是node.js到底如何啊?和现在的PHP、JSP在后台上、在于前端的交互上相比怎么样?node.js的劣势在哪里呢
解决方案
首先跟你说说nodejs的优势。
1.如果你是一个对javascript非常熟悉的人,那么使用nodejs就会非常容易上手。
2.使用javascript一门语言就可以搞定前端后端,不用在几门语言中切来切去。
3.nodejs非常方便部署,本身已经带了v8引擎,直接运行命令就可以实现部署,无须依赖tomcat等大型的服务器,无须做复杂的配置。
4.nodejs基于事件驱动,异步回调机制,适合大并发量的请求。
5.nodejs社区非常活跃,有很多成熟的套件可以使用,而且还在持续更新。
当然,优点还有很多,这里简单列举几条。下面说说个人认为它的不好的地方。
1.调试比较困难,由于是类javascript语言,且是解释性语言,只有运行时才知道是否正确,如果是非语法错误是不会有错误提示的,定位错误不太容易。
2.异步回调机制可能会出现回调函数多层嵌套,代码优雅性不佳。
3.nodejs由于不支持多线程,不适合进行大数据分析和计算类型的项目。
总之,nodejs是一门新的语言,而且非常引人注意,需要根据项目需求和人力情况综合考虑。
解决方案二:
这种讨论没有任何意义。node.js就是将js这种语言代入web后端开发而已,而不同的编程语言都有它的拥趸。既然有人喜欢js,那么必然出现一种用它实现的服务器端框架。仅此而已。
解决方案三:
要说到优势和劣势,那么如果你精通一种语言,使用这种语言就能搞定需要的开发任务,而不是另外学一种语言,这就是最大的优势。好比火车上卖方便面,方便面本来没有优势,但是你坐火车这个前提的情况下,你中途下车就为了享受一顿午餐,而再换下一班火车继续履行显然就是不明智的决定。
要说劣势,如果你不擅长这种编程语言,不要被某个框架的一点特性迷惑,你要先学习这种语言,然后才能用这个框架,这个明显的学习成本就是最大的劣势。何况js是一种充满了坑的语言。
解决方案四:
NodeJs:采用异步单线程机制,适合于I/O密集的场景,I/O性能非常高,不适合计算密集的场景,且典型案例和规模应用案例比较少
PHP:是老牌的开发语言,也是采用异步单线程,适合各种WEB应用场景,优点是资料齐备,框架齐全,执行速度快,BUG少;缺点是容易产生代码耦合的情况.
JSP:社区活跃,开发者群体广大,典型案例和规模应用案例较多,缺点是性能低下,系统复杂度高
解决方案五:
node.js在高密集的I/O方面很适合,而且对于熟悉js的前端开发人员来说很适合入门