node适合用于什么项目? - 网站

node适合用于什么项目?

分类:Node.js常见问题 · 发布时间:2019-08-30 13:47 · 阅读:1148

Node是一个基于Chrome JavaScript运行时建立的平台, 可以方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

首先,node新开一个http连接的开销,相当于一个大函数调用,相比php的新开线程动辄花费2MB内存和上下文切换的漫长时间,已经很小很小了。

所以,node天生就是为高并发的应用而诞生,在设计之初就承载着巨大的使命。而这种极度追求代码效率和美感的设计,是以提升学习理解的难度,和考验编程能力为代价。

如果你像我一样,有代码洁癖,追求极致,那么node将是不二选择。如果你仅仅是为了完成工作,或者快速搭建项目上线运营,那么还是用php或其它什么看似方便却一点也不“美”的语言吧。

再者,由于js的异步特征,始终有用户代码在执行,省去了等待查询数据库和文件系统的时间,相比CPU的时钟频率,去读一次数据库太久太久,久到让CPU等得花儿都谢了。

node让CPU不在等待,node让妈妈不用担心我的内存。但是这种高效运用CPU的异步回调,将会带来逻辑上的混乱,一不小心就会一团乱麻理都理不清。

以上两点,导致node适合在具有大量细小的http请求环境下工作,典型的就是一个web即时聊天程序,或者一个支撑上万人同时在线的游戏服务器。你甚至不用考虑http请求数太多的问题。

如果用node开发网站,你可以把数据请求分的很细,也就是说不必像php那样把所有数据一次性加载到客户端,而是加载一部分,让浏览器渲染页面的同时,再去加载另一部分。

Facebook的页面优化技术(叫big...什么的,我忘了),就是这种分块加载的模式。可以让页面的加载速度在用户体验上提升5到10倍。

node无论从代码执行速度,还是开销,都是最完美的选择。但是缺点在于js异步特征的难以理解和控制,如果没有相当过硬的js开发经验和特征理解,项目稍微大一点,代码结构就会一片混乱。

node是在考验一个人的代码设计和掌控能力,如同九阴真经,练的好就一身绝学独霸武林,练的不好就走火入魔精神崩溃。动不动就长达8层的回调嵌套,可不是闹着玩的。

除了采用step同步方案解决控制流倒置和深层回调嵌套问题,把数据请求分得很细,再分多次加载,不仅在代码流程上更美观,也更符合node的特性。

标签:
node

相关文章

如何设置 nodejs 的环境变量

在前端开发过程中,我们需要对 application 运行的环境进行设置,一般会包括开发环境development,生产环境production,每个环境可以对应不同的一些配置,例如不同环境下请求的地址...

谈谈Node.js与JavaScript的差异

Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行。Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台。

npm install安装报错怎么解决?

解决方法:1、报“operation not permitted”错误,通过“npm i 包名 --no-optional”解决;2、报“Missing: chromedriver”错误,表示没有安装chromedriver,安装一下即可。

怎么使用npm下载vue.js?

使用npm下载vue.js的方法:1、安装node.js和npm;2、安装cnpm;3、使用命令cnpm install -g vue-cli来安装即可。

vue.js和node.js是什么关系?

vue.js和node.js并没有关系,vue.js是前端框架,算是js的三大框架之一吧,node.js是后端开发语言,同php、java、c#一样的。但是他们可以配合使用。

返回分类 返回首页