node js-node.js到底怎么样,它的劣势在哪里呢

问题描述

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的前端开发人员来说很适合入门

时间: 2024-10-03 17:00:01

node js-node.js到底怎么样,它的劣势在哪里呢的相关文章

node问题-node.js的函数问题 急求

问题描述 node.js的函数问题 急求 function add(domanName,name,email,age,click){ var website=[]; website[0]=domainName; website[1]=name; website[2]=email; website[3]=age; website[4]=click; return website; } 急求这句话是什么意思呢? 是不是函数返回的结果,返回到数组里?这样函数add 的结果就跟数组建立了联系? 解决方案

动态-关于js,node一次性扒下来整个网站

问题描述 关于js,node一次性扒下来整个网站 一个游戏网站,页面动态展示游戏列表,把网站和里边的游戏都扒下来.只是前端页面. 解决方案 如果只是前端的话,你可以到那个游戏网站,然后查看网页源文件,可以将代码全部拷贝,图片的路径在代码里有,你可以在浏览器框输入完整的图片地址,就能 将图片下载下来,还有css文件,js文件都可以用这种方式获得的,只不过看代码找路径耗点时间,然后将图片放入你的地址,在黏贴过来的代码里将图片,css,js的路径 改为你的就行了 解决方案二: 既然你是"耗子"

Node.js实现JS文件合并小工具_node.js

临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了. 代码如下所示: /*符合CommonJs规范*/ var writePath = 'min.js',/*默认输出到本目录min.js文件里*/ fs = require('fs'), r1 = /^(.+)$/mg,/*分行*/ r2 = /\s{2,}/g,/*去空格*/ r3 = /([

代码-一个很奇怪的js不清楚到底是什么意思

问题描述 一个很奇怪的js不清楚到底是什么意思 Q x$=[ 'KKorupo1ikllkwKK', 'KKorupo1ikllkwKK', 'Drzpiq', 'orupoCryl', 'W1a1KmXmXmW', 'W1I1amW1m1Jm', 'AhhhmoitClpjjmuqAhhhmoitClpjjmzkAhhhmoitClpjjmzrTiAhhhmoitClpjjmqklAhhhmoitClpjjmrwtAhhhmoitClpjjmyrAhhhmoitClpjjmlGAhhhmoiG

Cocos2d-x Lua Node与Node层级架构

Cocos2d-x Lua采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节点可以是场景.层.精灵.菜单.文本.地图和粒子系统等任何对象.节点的层级结构如下图所示. 节点的层级结构 这些节点有一个共同的父类Node,Node类图如下图所示.Node类是Cocos2d-x Lua最为重要的根类,它是场景.层.精灵.菜单.文本.地图和粒子系统等类的根类. Node类图

c语言-求教C语言单项链表逆置NODE * fun(NODE *h)函数每步步骤详细解读

问题描述 求教C语言单项链表逆置NODE * fun(NODE *h)函数每步步骤详细解读 #include #include #define N 5 typedef struct node { int data; struct node next; } NODE; /*********found**********/ NODE * fun(NODE h) { NODE *p, *q, *r; p = h; if (p == NULL) return NULL; q = p->next; p->

js-JSP中如何用JS给JS生成的table其中一列加上超连接

问题描述 JSP中如何用JS给JS生成的table其中一列加上超连接 JSP中如何用JS给JS生成的table其中一列加上超连接 生成table的JS如下: columns : [ [ { title : '编码', field : 'ID', align : 'left', width : 100 }, { title : '名称', field : 'NAME', align : 'left', width : 150 } ] ] 解决方案 easyui的datagrid? 配置render

第二次聊一聊JS require.js模块化工具的基础知识_javascript技巧

前一篇:JS模块化工具我们以非常简单的方式引入了requirejs:http://www.jb51.net/article/82527.htm,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短 define 从名字就可以看出这个api是用来定义一个模块require 加载依赖模块,并执行加载完后的回调函数

cocos2d-x中Node与Node层级架构

Cocos2d-x采用层级树形结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点Node对象.一个场景包含了多个层一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节点可以是场景.层.精灵.菜单.文本.地图和粒子系统等任何对象.   节点的层级结构 这些节点有一个共同的父类Node.Node类是Cocos2d-x最为重要的根类它是场景.层.精灵.菜单.文本.地图和粒子系统等类的根类. 更多内容请关注最新Cocos图书<Cocos2d-x实战 C++卷> 本书交流讨论网站

【Cocos2d-x】开发基础-Node与Node层级架构

本篇博客讲解: 1.Node与Node层级架构 2.Node中重要的操作 3.Node中重要的属性 4.游戏循环与调度 Node与Node层级架构 首先来看一张图 这个图反应了Node与Node的层级架构 所谓层级架构其实就是树形结构/层次结构,从图上可以看出来,树的根是Scene(场景),然后是层,层里面又包含了精灵,菜单,粒子系统,瓦片地图 所有这些元素,都有一个共同的父类,就是Node 这个树形结构,其实就是一种包含关系 这2个文件共同定义了一个HelloWorld的层 class Hel