大型JavaScript应用最佳实践指南

本书特色

[

本书将带你设计和实现能从多个维度(如寻址能力、可配置性和性能)可伸缩的JavaScript的应用程序体系架构;了解常见的JavaScript缩放陷阱,并通过真实的解决方案和策略解决这些问题。内容包括:确定和评估应用程序的外部扩展影响力,创建构成大规模JavaScript应用程序的组件,对可扩展组件间的通信进行设计,设计一个不受限于环境的便携的且可测试的应用程序,等等。

]

内容简介

[

是否感觉自己发开的应用像建立在浮沙之上,是否需要创建一年以上不能重写的应用程序?本书会给出扩展性场景和真实示例,指导你构建经久不衰的应用程序,并从可寻址性、可测试性和组件组合等角度向你展示如何处理可扩展性。大规模框架需要能够“缩小”的能力、从出错组件恢复的能力,以及“扩大”并管理新功能或更多用户的能力。在此之上,你可以用任何JavaScript工具集构建起可扩展的应用。
√ 识别、评估影响应用程序可扩展性的外部影响因素。
√ 在大型JavaScript应用程序中构建组件。
√ 探索可扩展的组件间通信技术。
√ 定制、配置组件满足扩展需求。
√ 在各种规模和复杂性的情况下,确保应用程序有*好的用户体验。
√ 创建在各种环境中都可移植、可测试的应用。
√ 通过删除或重构组件来进行架构方面的权衡。
√ 设计以可扩展方式失败的组件。

]

作者简介

[

Adam Boduch在开发大型 JavaScript应用方面有近 10年的工作经验。在转型为前端工程师之前,他曾使用 Python与 Linux参与了许多大型云计算产品的构建。Adam拥有非常丰富的开发经验,擅长处理复杂的场景,提高软件的可扩展性。他编写了很多 JavaScript方面的书籍,其中包括 Lo-Dash Essentials,并且,他还热衷于优化用户体验和性能。
Adam现居住于多伦多,是 Virtustream的一名高级软件工程师。
August N. Marcello III是一位充满激情的软件工程师,在客户端的 Web应用架构相关的设计、实现、部署方面,有着近 20年的工作经验。他专注于基于 SaaS创造良好的用户体验,并将其传播到 Web生态系统,这无论从个人还是从专业角度来说都极具价值。对新兴通用技术的热爱以及对先进的 JavaScript平台的专注,驱动着他在技术上精益求精。在工作之余,他会参加越野跑、山地自行车骑行,或者陪伴家人和朋友。他的个人网站为: www.augustmarcello.com。
Yogesh Singh毕业于印度 JSS技术教育学院。他是一位全栈 Web开发者,在服务端 Web开发栈方面( ASP.NET以及 Node.js)很有经验,而且熟练掌握 HTML、CSS以及 JavaScript。
Yogesh热爱 JavaScript以及相关的库和框架( Backbone、 AngularJS、jQuery和 Underscore)。Adam Boduch在开发大型 JavaScript应用方面有近 10年的工作经验。在转型为前端工程师之前,他曾使用 Python与 Linux参与了许多大型云计算产品的构建。Adam拥有非常丰富的开发经验,擅长处理复杂的场景,提高软件的可扩展性。他编写了很多 JavaScript方面的书籍,其中包括 Lo-Dash Essentials,并且,他还热衷于优化用户体验和性能。
Adam现居住于多伦多,是 Virtustream的一名高级软件工程师。
关于审校者
August N. Marcello III是一位充满激情的软件工程师,在客户端的 Web应用架构相关的设计、实现、部署方面,有着近 20年的工作经验。他专注于基于 SaaS创造良好的用户体验,并将其传播到 Web生态系统,这无论从个人还是从专业角度来说都极具价值。对新兴通用技术的热爱以及对先进的 JavaScript平台的专注,驱动着他在技术上精益求精。在工作之余,他会参加越野跑、山地自行车骑行,或者陪伴家人和朋友。他的个人网站为: www.augustmarcello.com。
Yogesh Singh毕业于印度 JSS技术教育学院。他是一位全栈 Web开发者,在服务端 Web开发栈方面( ASP.NET以及 Node.js)很有经验,而且熟练掌握 HTML、CSS以及 JavaScript。
Yogesh热爱 JavaScript以及相关的库和框架( Backbone、 AngularJS、jQuery和 Underscore)。
他最开始从事的是数据挖掘和数据仓库方面的工作,在数据库开发方面十分专业。他是 MSSQL的微软认证解决方案成员(MCSA)。
Yogesh自学能力很强,喜欢学习算法和数据结构,并在斯坦福大学 Coursera上获得了算法课的结业证明。
他曾就职于 OLX India和 MAQ Software,目前为 Gainsight公司的全栈开发者。
业余时间,他喜欢在 http://mylearning.in上写博客。他的 LinkedIn简历地址为 https://www.linkedin.com/in/yogesh21。
Nikolay Sokolov是一名软件工程师,他在云计算、自动化部署和企业软件开发方面有着丰富的经验。现在就职于 Tonomi(http://tonomi.com/),负责基于弹性组件模型分发云应用的自动管理包。
可通过 https://twitter.com/chemikadze随时联系他。
Serkan Yersen是一名洛杉矶的软件开发者。他是一些开源库的作者,例如: ifvisible.js、underscore.py以及 kwargs.js。Serkan专门从事构建大型 JavaScript应用,以及为用户广泛的应用创建 UI。2006年至 2012年,就职于 http://www.jotform.com/期间,他开发了一个复杂的表单生成器,供上百万用户使用。现在,他就职于 Home Depot和 Redbeacon(http://www.redbeacon.com/),负责 Web应用开发。你可以访问他的个人网站:http://serkan.io/。
关于译者
本书翻译工作由月影领衔的奇舞团翻译小组承担,由王韦华、黄小璐、黄薇负责翻译。王韦华网名 Aztack,前端技术专家。曾就职百度、奇虎 360等国内知名互联网公司。拥有丰富的 Web前端开发经验,擅长 JavaScript、Ruby、Java、C 等语言。
个人博客:https://aztack.wang
黄小璐
毕业于华中科技大学计算机学院。现为奇虎 360软件开发工程师。曾参与开源项目
[stcjs](https://github.com/stcjs/stc)(高性能前端工作流系统)。参与翻译了《高性能 HTML5》等书。
黄薇
毕业于中山大学,于 2013年加入奇舞团,近期参与了 Nova.js(Web Component框架)、声享(在线制作 PPT)等项目,对大型 JavaScript 应用有浓厚的兴趣和丰富的开发经验。
以上三位译者曾共同参与《移动 Web手册》一书的翻译工作。

]

目录

1 扩展JavaScript 应用 ……………………………………………………………………… 1影响扩展的因素 ……………………………………………………………………………………………………….. 2对可扩展的需要 ………………………………………………………………………………………………………………….. 2不断增长的用户 ………………………………………………………………………………………………………………….. 3添加新功能 …………………………………………………………………………………………………………………………. 3雇佣更多的开发者 ………………………………………………………………………………………………………………. 4架构角度 …………………………………………………………………………………………………………………. 5浏览器是一个独特的环境 …………………………………………………………………………………………. 5组件设计 …………………………………………………………………………………………………………………………….. 7组件通信 …………………………………………………………………………………………………………………………….. 7加载时间 …………………………………………………………………………………………………………………………….. 8响应性 ………………………………………………………………………………………………………………………………… 9可寻址性 …………………………………………………………………………………………………………………………….. 9可配置性 …………………………………………………………………………………………………………………………… 10架构性取舍 …………………………………………………………………………………………………………….. 11确定不可变内容 ………………………………………………………………………………………………………………… 11从开发的便捷性考虑性能 …………………………………………………………………………………………………… 11性能的可配置性 ………………………………………………………………………………………………………………… 12从可替换性考虑性能 ………………………………………………………………………………………………………….. 13可寻址性的开发便捷性 ………………………………………………………………………………………………………. 13性能的可维护性 ………………………………………………………………………………………………………………… 13减少功能以提高可维护性 …………………………………………………………………………………………………… 14利用框架 …………………………………………………………………………………………………………………………… 15框架与类库 …………………………………………………………………………………………………………….. 16一致地实现模式 ………………………………………………………………………………………………………………… 16内建的性能 ……………………………………………………………………………………………………………………….. 16利用社区智慧 ……………………………………………………………………………………………………………………. 16框架并非天生支持扩展 ………………………………………………………………………………………………………. 17小结 ………………………………………………………………………………………………………………………. 172 可扩展性的影响因素 …………………………………………………………………….. 19扩展用户 ……………………………………………………………………………………………………………….. 20许可证费用 ……………………………………………………………………………………………………………………….. 20订阅费用 …………………………………………………………………………………………………………………………… 21消耗费用 …………………………………………………………………………………………………………………………… 21广告支持 …………………………………………………………………………………………………………………………… 21开源 ………………………………………………………………………………………………………………………………….. 22与用户沟通 ……………………………………………………………………………………………………………………….. 23支持机制 …………………………………………………………………………………………………………………………… 24反馈机制 …………………………………………………………………………………………………………………………… 25提示用户 …………………………………………………………………………………………………………………………… 26用户维度 …………………………………………………………………………………………………………………………… 26扩展用户示例 ……………………………………………………………………………………………………………………. 27扩展功能 ……………………………………………………………………………………………………………….. 28应用价值 …………………………………………………………………………………………………………………………… 28“杀手级”功能与“杀死”应用的功能 ……………………………………………………………………………… 29数据驱动的功能 ………………………………………………………………………………………………………………… 30与竞品比较 ……………………………………………………………………………………………………………………….. 30修改已有的功能 ………………………………………………………………………………………………………………… 31支持用户分组和角色 ………………………………………………………………………………………………………….. 32增加新服务 ……………………………………………………………………………………………………………………….. 32扩展功能示例 ……………………………………………………………………………………………………………………. 34开发的可扩展性 ……………………………………………………………………………………………………… 34寻找开发资源 ……………………………………………………………………………………………………………………. 35开发职责 ……………………………………………………..

封面

大型JavaScript应用最佳实践指南

书名:大型JavaScript应用最佳实践指南

作者:亚当.博达哈

页数:216

定价:¥65.0

出版社:电子工业出版社

出版日期:2017-02-01

ISBN:9787121307065

PDF电子书大小:66MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注