`
lizhicheng99
  • 浏览: 3946 次
  • 性别: 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发展到今天再不是用来验证表单的简单脚本了。
分享到:
评论

相关推荐

    Node.js Javascript运行环境(runtime environment)

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好...

    Node.js英文书籍2015出版共9本(一次下载)

    Full Stack Javascript - Learn Backbone.js, Node.js and MongoDB (APress 2015).epub Learning Node.js for Mobile Application Development (Packt 2015).pdf Microsoft Press Node.js for .NET Developers (2015...

    Node.js(node-v16.15.1-win-x86.zip)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Professional Node.js Building Javascript Based Scalable Software

    Node.js is a powerful and popular new framework for writing scalable network programs using JavaScript. This no nonsense book begins with an overview of Node.js and then quickly dives into the code, ...

    Node.js(node-v16.15.1.pkg)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js(node-v16.15.1.tar.gz 源码)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js(node-v16.15.1-linux-arm64.tar.xz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Smashing Node.js JavaScript Everywhere 无水印pdf

    Smashing Node.js JavaScript Everywhere 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...

    Beginning Node.js

    Beginning Node.js is your step-by-step guide to learning all the aspects of creating maintainable Node.js applications. You will see how Node.js is focused on creating high-performing, highly-scalable...

    Server Side development with Node.js and Koa.js

    Modern versions of JavaScript have made this possible in Node.js, and Koa is a Node.js framework that makes it easy. This book is the ideal introduction for JavaScript developers who want to create ...

    Node.js(node-v16.15.1-aix-ppc64.tar.gz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    Node.js-TensorFlowNode.js为Node.js用户提供惯用的JavaScript语言绑定和高层API

    TensorFlow Node.js 为Node.js用户提供惯用的JavaScript语言绑定和高层API

    Smashing Node.js JavaScript Everywhere

    Smashing Node.js: JavaScript Everywhere equips you with the necessary tools to understand Node.js and its uses in developing efficient web apps. With more traditional web servers becoming obsolete, ...

    Node.js 开发指南.pdf

    第5章 使用Node.js进行Web开发 79 5.1 准备工作 80 5.1.1 使用http模块 82 5.1.2 Express框架 83 5.2 快速开始 84 5.2.1 安装Express 84 5.2.2 建立工程 85 5.2.3 启动服务器 86 5.2.4 工程的结构...

    Node.JS V8.12.0

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是...

    捷训Node.js视频教程

    资源名称:捷训Node.js视频教程教程内容:01-Node.js-JAVAscript解释程序02-Node.js Javascript脚本文件03-Node.js Javascript数组用法04-Node.js Javascript函数用法05-Node.js ...

    Professional Node.js Building Javascript Based Scalable Software 无水印pdf

    Professional Node.js Building Javascript Based Scalable Software 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本...

    Node.js(node-v16.15.1-x64.msi)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

    01-Node.js介绍.zip

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是...

    Node.js(node-v16.15.1-darwin-arm64.tar.gz)

    Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...

Global site tag (gtag.js) - Google Analytics