《Node.js实战(第2季)》读后感
NodeJS简介:
Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。Node是一个Javascript运行环境。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
NodeJS的优点或意义:
1.简单性:Nodejs基于Javascript语言,不用再单独新学一门陌生的语言,从而减低了学习的门槛。
2.稳定性:Nodejs并没有重新开发运行时环境,而是选择了目前最快的浏览器内核V8做为执行引擎,保证了Nodejs的性能和稳定性。
3.高效性:Nodejs的开发非常高效,而且代码简单,得益于Nodejs的单线程机制。
4.普遍性:Nodejs的社区在壮大,不仅包的数量在快速增加,而且包的质量也要明显好于其他语言的。
NodeJS的缺点:
NodeJS的缺点在于异步特征的难以理解和控制,如果没有相当过硬的js开发经验和特征理解,项目稍微大一点,代码结构就会一片混乱。node是在考验一个人的代码设计和掌控能力。
NodeJs的应用环境:
1.RESTful API是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。
2.统一Web应用的UI层,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,负责生成和拼接页面。不讨论这种架构是好是坏,但是有另外一种实践,面向服务的架构,更好的做前后端的依赖分离。
3.大量Ajax请求的应用。
点评总结:
本书最大的特点在于实例,关于NodeJS的各种demo都有详细的介绍,具有实际指导作用,试读样章的局限,没能学到太多的东西,很期待能够读到完整版本的,从头到尾详读一番再实际操作一遍。对于以后实际工作指导查询也会有很大的帮助。