`
lizhicheng99
  • 浏览: 4049 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

读《了不起的Node.js 将JavaScript进行到底》后感

    博客分类:
  • web
阅读更多
下班后看了一遍试读部分,以下是自己的一些感受:
前言部分大体介绍了作者是在一个什么大环境下决定开发node.js的

原因一是在开发绝大多数web应用中,服务器端的实现在整个开发过程中与前端开发语言的差别太大,不得不让开发都使用多种编程语言,这就要求一个项目组的人员即要懂java的、又要懂php的、还要懂c#的等等。但又不能要求一个人什么都会,毕竟全才太少了,不太现实。

原因二是Google的V8引挚解决了javascript性能低下和内存管理不成熟的问题。但集成操作系统的接口还是没解决,

而作者正是洞察到了这一点,可以把V8引挚嵌到操作系统的集成层,做为一个桥梁;让javascript可以异步操作系统的接口,从而使javascript运行于服务器端。(说到这里可以对比phonegap来理解,phonegap也是一个桥梁的作用,让javascript可以操作设备的硬件,不过个人认为和node.js还是有本质上的区别,phonegap本身还是对接到Java的接口才使javascript拥有了操作设备硬件的能力,并不是对接到操作系统,不知道这一点理解是不是到位,望有心人指正了。)通过这种设计思路,开发者就可以在客户端和服务器端使用同样的编程语言了,而javascript是一种特别灵活,而且是极富表现力的语言,这就摆脱了那种静态语言又慢又重的编程模式。

“如果成真的话,以后开发web应用就只需要一种语言了”,真是太有吸引力了。作者通过一个简单的示例程序展示了node.js的强大功能,node.js的高效快速取决于两个条件:事件轮询技术和V8引挚。

node.js完全颠覆了web应用的开发模式:
1、无须再将书写部署到独立的web服务器中去运行;
2、服务器端和客户端使用同一种开发语言;

作者说道本书是一本关于javascript的书,所以必须得具备一定的javascript知识。

第一章第一部分分别介绍了node.js在windows、linux、os x平台下的安装过程
以及怎么样执行node脚本。
node.js加入了NPM包管理器,可以很方便的给服务器添加组件,“windows下有MSi安装器”这让我想到了Jmail.msi组件,熟悉asp或asp.net的开发者应该都不陌生吧,那么这个NPM就相当于是服务器组件的管理工具。需要什么组件我们提定它去下载安装就可以了。

自定义模块看得不是太明白,看来需要后期加深学习,不过有一点对我很有帮助:node.js对JSON格式的严格要求----在javascript中对象的属性名和值使用双引号和单引号均可,但node.js要求必须都是双引号; 看来这一点要特别注意了。

第二部分是对javascript语言的一个概述和V8引挚对其加入的一些特性: 正因为javascript太过灵活,要熟练运用确实不容易,真得下一番苦功。而且它的继承方式是基于原型对象来继承的,和基于类的继承方式完全不同,而且也不能以类的思维来理解。

我认为学习javascript应该清楚以下几个点:
1、函数和方法的区别(这一点特别重要,尤其是javascript这种没有明确类结构的语言)
2、原型对象
3、变量对象
4、作用域链
5、执行环境
6、this到底指向哪里?
如果以上5个点你还没清楚的认识,真正明白node.js可能还是会有困难的。

《javascript语言精粹》确实是一个工具书,不过讲得太过精简,没有基础根本不可能理解,应该先看《javascript语言精髓与编程实践》。

javascript发展到今天再不是用来验证表单的简单脚本了。
分享到:
评论

相关推荐

    adbkit,android调试桥的纯node.js客户端。.zip

    adbkit是Android Debug Bridge(ADB)的一个纯Node.js客户端,专为JavaScript开发者设计,提供了一套方便、高效的接口用于与Android设备进行交互。这个开源项目允许开发者通过Node.js环境进行远程控制、数据传输、...

    LightBlog是一个基于Node.js,Express框架,Mongodb的支持markdown语法的轻量级博客系统.zip

    Node.js是JavaScript运行环境,利用V8引擎的强大性能,使得JavaScript可以用于服务器端编程。LightBlog选择Node.js作为基础,得益于其异步非阻塞I/O模型,能够处理高并发请求,从而实现高性能的Web服务。 Express是...

    最新nodejs 书籍

    《Node.js The Right Way》对于希望深入了解 Node.js 并将其应用于实际项目的开发者来说是一本不可或缺的指南。无论是新手还是有一定经验的开发者,都能从中获得有价值的见解和实用技巧。该书通过详实的例子和深入浅...

    Nodejs入门经典

    Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它以其异步非阻塞I/O和事件驱动的模型,为构建高性能网络应用提供了强大的支持。本资源"Nodejs入门经典"旨在帮助初学者快速掌握Node.js的基础知识和实际应用。...

    JS.rar_javascript_js制作网页_js网页特效

    使用CommonJS(Node.js环境)或ES6的import/export语法进行模块化开发,可以让代码结构更清晰,便于维护和复用。 10. **Web API** 浏览器提供了许多内置的Web API,如WebSocket用于实时通信,Geolocation用于获取...

    node.js实现逐行读取文件内容的代码

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让JavaScript可以在服务器端运行,被广泛应用于后端开发。Node.js的一个重要特性是其异步I/O能力,这允许开发者以非阻塞的方式进行文件操作、网络请求等,这...

    Eloquent JavaScript.zip

    对于对后端开发感兴趣的读者,《Eloquent JavaScript》也提供了Node.js的相关知识。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,允许开发者使用JavaScript进行服务器端编程。书中将介绍如何使用Node.js...

    node-strategy:收集整理行业常用的node.js遇到的问题,持续完善中..

    前端开发解决问题全攻略 各位好, 欢迎来到我的技术博客, 如标题所示本教程的目的是提供一些前端开发过程中遇到的问题的解答, 尤其是针对...第五章: 前端架构设计与进化读后感 第六篇: Node.js开发体系实践 第七篇: No

    javaScript教学从入门到精通案例大集合(包含讲义文档,案例源码,内容共十二章)

    JavaScript,作为全球最广泛使用的编程语言之一,是前端开发的核心技术。这个名为“JavaScript教学从入门到精通案例大集合”的...无论是对JavaScript感兴趣的初学者,还是希望巩固提升的开发者,这都是一份宝贵的资源。

    PDFSave将网站转换为轻量级可读PDF

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行开发。Node.js的特点包括异步I/O、事件驱动和非阻塞I/O模型,使得它在处理大量并发请求时表现出色,特别适合构建...

    johnnyfiveDemo:我的 Node.js 用户组的 Johnnyfive 演示

    3. **事件驱动**:基于 Node.js 的事件模型,Johnny-Five 可以处理硬件事件,如按钮按下或传感器读数变化。 4. **易用性**:其简单的 API 设计使得新手也能快速上手,进行 IoT 项目的开发。 5. **社区支持**:...

    JavaScript读书笔记

    JavaScript是一种广泛...随着前端技术的发展,JavaScript还延伸出了Node.js用于服务器端编程,以及React、Vue等库用于构建现代Web应用程序。学习JavaScript不仅能提升网页开发技能,也为深入其他相关技术奠定了基础。

    Rockstar编程语言规范_JavaScript_下载.zip

    使用这个工具,开发者可以编写Rockstar代码,然后通过编译器将其转化为JavaScript,再在浏览器或Node.js环境中运行。 理解Rockstar编程语言的关键在于熟悉其独特的语法特性。例如: 1. **变量定义**:在Rockstar中...

    nodeschooluy-learnyounode

    1. **Node.js基础**:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行开发,打破了JavaScript只能在浏览器端使用的局限。在本教程中,你将学习到如何安装和设置Node...

    node-warrant-canary:具有数字签名验证和重放检测功能的 node.js 担保金丝雀模块

    #Node.js 保证金丝雀 ###创建密钥环 gpg -a --export MyKeyName | gpg --no-default-keyring --keyring ./CanaryKeyring --import ###准备和注意事项 有关权证金丝雀的一般信息,请访问 这个权证金丝雀是在签名...

    nodeJS:这些是我的一些nodeJS代码

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"nodeJS:这些是我的一些nodeJS代码"的压缩包很可能是包含了一些示例或者项目的源代码,用于学习和理解...

    神奇读心术HTML5游戏源码

    因此,你需要将源码部署到一个Web服务器上,例如Apache、Nginx或者简单的Node.js服务器,然后通过浏览器访问来运行游戏。 压缩包中的"duxinshu"可能包含以下文件和文件夹: 1. HTML文件:游戏的主页面,包含了HTML...

    note-taker

    "note-taker" 是一个基于JavaScript的项目,主要用于学习Node.js技术。这个应用设计为一个笔记...对于想要深入学习Node.js和JavaScript开发,尤其是对命令行应用感兴趣的人来说,"note-taker"是一个很好的实践项目。

    非常好看的confirm&error动态弹窗!

    布局上,可能采用了对齐、留白和层次感等原则,使信息清晰易读。字体的选择和大小也可能经过精心设计,以便于阅读且符合整体风格。 其次,动态效果是现代UI设计的一大亮点。动态弹窗可能包含了平滑的动画过渡,如...

Global site tag (gtag.js) - Google Analytics