下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > Web开发 >Javascript > JavaScript应用程序设计:使用Node、HTML5和现代JavaScript类库打造稳健的web应用

JavaScript应用程序设计:使用Node、HTML5和现代JavaScript类库打造稳健的web应用

综合评级:★★★★★

定价:59.00

作者:[美]Eric Elliott 著

出版社:机械工业出版社

出版日期:2015年10月

页数:219

字数:350000

ISBN:9787111506942

书籍介绍
本书带领专业JavaScript开发人员领略创**应用程序的所有必要步骤,包括:结构、模板、架构,与服务器通信,许多其他问题等。在本书中,你将使用现实示例应用程序帮助你掌握相关的概念。学习如何创建JavaScript应用程序,进而同提供更好的用户体验。本书主要内容包括:使用MVC模式,学习如何在应用程序中管理依赖关系;介绍模板和数据绑定;学习加载远程数据、Ajax和跨越请求;使用WebSocketandNode.js创建实用应用程序;通过进度指示器接受删除的文件和上传数据;使用主要的架构和库,包括jQuery、Spine和Backbone;编写测试和使用控制台调试应用程序;获得部署**实践,例如缓存和缩小尺寸。
相关课程
目录
前言

第1章 javaScript的革命时代

Javascript的特性

性能

对象

语法

函数是一等公民

事件

复用性

结论

解构现代JavaScript应用

基础架构

JSON ——数据存储与通信

NoSQL数据库

RESTful JSON web Services

第2章 函数

减少隐式副作用

函数声明

lambdas

立即执行函数表达式

方法上下文

函数作用域

变量提升

闭包

方法API的设计

参数命名

多态函数

范型编程与集合多态

链式调用与流式API

函数式编程

无状态函数(纯函数)

偏函数应用与函数加里化

异步操作

回调函数

Promises与Deferreds

小结

第3章 对象

过时的类继承

流式JavaScript

原型

原型代理

原型克隆

享元模式

创建对象

工厂函数

使用Stamps进行原型继承

小结

第4章 模块

模块化编程原则

接口

模块模式

AMD规范

加载器插件

CommonJS模块规范

npm包管理器

ES6模块规范

基于CommonJS、npm、Grunt与Browserify构建客户端应用

定义应用

特性实现

构建与部署

小结

第5章 关注点分离

客户端的关注点

模块管理

模型-视图-控制器

表现层与Dom操作

服务端关注点

Node与Express入门

在Node中组织代码

小结

第6章 访问控制

身份验证

密码认证

Credential类库

多因素身份验证

联合认证与授权认证

应用功能授权

应用授权

OAuth 2.0协议

小结

第7章 日志

调试

服务端数据监控

安全/入侵检测

审计

业务指标分析

传播力度

日志清单

应用请求日志

异常日志

日志输出示例

日志预警

跟踪业务指标(效果跟踪)

性能分析与优化

客户端事件记录

日志数据挖掘

小结

第8章 构建RESTful API

可用性

专一性

一致性

自描述的超媒体

功能可见性

超媒体即应用状态引擎

HTML:一种特别的API媒介类型

Jade

Jiron

响应式API

性能优化

小结

第9章 特性开关

组织特性

特性的规模

特性编组

特性的生命周期

开发阶段

预发布阶段

灰度测试

正式发布

默认激活

完整集成

客户端实现

小结

第10章 应用工程国际化

小结

附录A JavaScript编码风格指南

前言
前言在本书中我们先后提到了不少Web开发类书籍,但对于那些想从头开始学习构建完整JavaScript应用的读者来说,市面上真正值得推荐的JavaScript教程又显得十分稀缺。与此同时,现在几乎每一个互联网创业公司的人员配备中都少不了资深JavaScript应用程序开发者的角色。本书旨在帮助人们了解如何构建易于扩展和维护的完整JavaScript应用。

  本书并不打算向读者详细讲解JavaScript语言基础,它基于你现有的JavaScript知识结构,向你展示那些会让你的编码工作长久受益的JavaScript特性与技巧。一般来说,随着应用程序的规模不断扩大,添加新功能与缺陷修复开始变得越来越难以下手,代码随之变得脆弱、臃肿,甚至一个非常小的改动都可能带来大范围的代码重构。如果你在编码过程中遵循了本书中介绍的设计模式,你会发现代码开始变得灵活而富有伸缩性,对代码的细微变更不会再对其他模块产生负面影响。

  本书的内容主要聚焦在客户端JavaScript应用设计上,同时也会穿插一些较为基础的Node、RESTful API等服务端技术介绍。应用逻辑前端化已经是大势所趋,以往我们常常将模板渲染、与第三方服务通信等任务交给服务端去处理,诸如此类的工作如今通常在浏览器中完成。

  事实上,现今的JavaScript应用已经在浏览器中扮演起了传统桌面级应用的角色。当然,这一切仍然离不开服务端的技术支撑,像静态资源托管、动态模块加载、数据持久化、操作日志记录以及第三方API服务调用等,这些都属于服务端的职能范畴。

  本书内容涵盖:

  面向应用开发者的JavaScript特性与**实践。

  代码组织、模块化与复用。

  . 客户端关注点分离(MVC等)。

  . 服务端与API的通信机制。

  . 用Node.js设计并实现RESTful API。

  . 构建、测试、团队协作、应用部署与扩展。

  . 应用工程的国际化。

  本书目标读者具备一定的JavaScript开发基础,有至少1或2年的JavaScript实践经验,并想了解如何使用JavaScript开发大规模Web或企业级应用的开发者。

  抱有强烈的学习热情,尤其是对闭包、函数式编程、原型继承这些JavaScript语言独有的强大特性想做了解与尝试的编程入门者。(即使你是**次听到这些概念。)也许你想在下一个具有挑战性的JavaScript项目中使用TDD(测试驱动开发)技术,本书所有的代码范例中均包含测试用例。在你读完本书后,代码自测的意识与方法也会随之建立起来。

  不太适合本书的读者本书不面向JavaScript初学者,涉及JavaScript基础技术点的地方会一带而过。如果你想对这些技术点进行深入了解,可以在Douglas Crockford的《JavaScript精粹》(O扲eilly,2008)以及David Flannagan的《JavaScript 权威指南》编注1(O扲eilly,2011)中找到相关解读。由著名的“四人帮”(Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides) 合著的《设计模式:可复用面向对象软件的基础》编注2(http://bit.ly/1pwzcUc)(Addison-Wesley,1994)会帮助你更好地理解设计模式。

  Google与维基百科同样是信息查阅的好帮手,对软件设计模式来说,维基百科是一份非常不错的参考资料。

  如果这是你**次接触JavaScript,我建议你在步入正篇之前先把基础功课做足。Marijn Haverbeke所著的《Eloquent JavaScript》(http://eloquentjavascript.net/)(No Starch Press,2011 )是我个人比较喜爱的一本JavaScript入门教程,还有上文中提到的《JavaScript 精粹》,*好每一个章节都通读一遍。另外,特别留意下附录A,这是JavaScript开发前辈们对自己所犯的错误做的系统总结,从中你可以获得一些启发。

  单元测试很难估量单元测试在应用中的重要性,本书中几乎所有的代码样例中均附有单元测试用例。编写测试用例让你对功能实现了解得更为透彻,对方案与接口设计的把握越来越谨慎,设计测试用例的过程同样是迫使你思考将代码解耦的过程。保持编写单元测试与解耦代码的习惯会使你在今后的工作中持续受益,相信在读完本书之后你会收获这种编码习惯。

  关于单元测试与编码风格的更多内容,请参见本书附录A。

  本书的约定本书使用下列排版约定:

  斜体 (italic)用于表示新术语、URL、电子邮件地址、文件名、文件扩展名。

  等宽字体 (constant width)用来表示程序列表和代码片段,包括变量或函数名、数据库、数据类型、环境变量、语句和关键字等。

  等宽加粗字体 (constant width bold)用来表示命令或者其他用户直接输入的文本。

  等宽斜体 (constant width italic)用来表示可被替换的字符或文本,这些字符在合适的场景和特定的条件下会被替换成其他的值。

  注意: 表示一种提示、建议或一般的消息提醒。

  警告: 表示一种警告。

  Safari Books OnlineSafari在线图书是一个数字图书馆,读者可以在这个图书馆里自选图书, 在这里可以搜索到超过7500本与技术和创作相关的书籍和视频,在这里可以迅速找到你想要的内容。

  订阅之后,你就可以阅读在线图书馆的任意图书的任意章节和任意视频。你还可以将图书 下载到手机和移动设备里。在纸质书籍出版前就可以抢先阅读,甚至可以抢先阅读作者手稿,并实时给作者反馈。同时还可以复制和粘贴实例代码、组织你的收藏内容、下载章节、将关键段落加入书签、创建笔记、打印出来,你既可以节省时间,又可以提升阅读效率。

  O'Reilly Media已经将本书上传至Safari在线图书馆里了。如果想在线阅读本书和其他相关内 容,请免费登录http://my.safaribooksonline.com

  联系我们对于本书的评论或问题请联系出版商:

  美国:

  O'Reilly Media,Inc.1005 Gravenstein Highway NorthSebastopol,CA 95472中国:

  北京市西城区西直门南大街2号成铭大厦C座807室(100035)奥莱利技术咨询(北京)有限公司我们为本书制作了一个Web页面,页面中包含了简介、样章以及其他信息。可以从这里访问这个页面:

  http://bit.ly/programming-jsa如果要留言或者提交关于本书的技术问题的反馈,请发邮件至:

  bookquestions@oreilly.com本书的更多信息、资源、参考文献和新闻,请登录出版社官网:

  http://www.oreilly.com.cnhttp://www.oreilly.comFacebookhttp://facebook.com/oreillyTwitterhttp://twitter.com/oreillymediaYouTubehttp://www.youtube.com/oreillymedia致谢感谢@JS_Cheerleader(https://twitter.com/JS_Cheerleader)给予我的鼓励,你提供的JavaScript在线资源非常棒!

  感谢Brendan Eich一直以来不知疲倦地推动JavaScirpt与Web技术向前发展。感谢整个O'Reilly团队,感谢Simon St. Laurent,是你让这本书有机会与读者见面,我知道你一直都在给我加油鼓劲!感谢Brian McDonald对本书的宝贵意见,感谢Meghan Blanchette,你总是不断地给我打气!感谢以下每一个人对本书的技术审校与建议:

  . César Andreu. James Halliday (Substack). Hugh Jackson. Ramsey Lawson. Shelley Power. Kyle Simpson. Kevin Western特别感谢本书中所有开源软件项目的作者,向开源社区中那些不断提升JavaScript应用程序用户体验的开发者致敬,身为软件开发者,我们正站在巨人的肩膀上。

热门图书
推荐新闻
技术文库
论坛推荐