大型JavaScript应用最佳实践指南
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787121307065
- 装帧:暂无
- 册数:暂无
- 重量:暂无
- 开本:32开
- 页数:216
- 出版时间:2017-02-01
- 条形码:9787121307065 ; 978-7-121-30706-5
本书特色
本书将带你设计和实现能从多个维度(如寻址能力、可配置性和性能)可伸缩的JavaScript的应用程序体系架构;了解常见的JavaScript缩放陷阱,并通过真实的解决方案和策略解决这些问题。内容包括:确定和评估应用程序的外部扩展影响力,创建构成大规模JavaScript应用程序的组件,对可扩展组件间的通信进行设计,设计一个不受限于环境的便携的且可测试的应用程序,等等。
内容简介
是否感觉自己发开的应用像建立在浮沙之上,是否需要创建一年以上不能重写的应用程序?本书会给出扩展性场景和真实示例,指导你构建经久不衰的应用程序,并从可寻址性、可测试性和组件组合等角度向你展示如何处理可扩展性。大规模框架需要能够“缩小”的能力、从出错组件恢复的能力,以及“扩大”并管理新功能或更多用户的能力。在此之上,你可以用任何JavaScript工具集构建起可扩展的应用。
√ 识别、评估影响应用程序可扩展性的外部影响因素。
√ 在大型JavaScript应用程序中构建组件。
√ 探索可扩展的组件间通信技术。
√ 定制、配置组件满足扩展需求。
√ 在各种规模和复杂性的情况下,确保应用程序有*好的用户体验。
√ 创建在各种环境中都可移植、可测试的应用。
√ 通过删除或重构组件来进行架构方面的权衡。
√ 设计以可扩展方式失败的组件。
目录
影响扩展的因素 ....................................................................................................................... 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
小结 ........................................................................................................................................ 17
2 可扩展性的影响因素 ................................................................................ 19
扩展用户 ................................................................................................................................ 20
许可证费用 ......................................................................................................................................... 20
订阅费用 ............................................................................................................................................. 21
消耗费用 ............................................................................................................................................. 21
广告支持 ............................................................................................................................................. 21
开源 ..................................................................................................................................................... 22
与用户沟通 ......................................................................................................................................... 23
支持机制 ............................................................................................................................................. 24
反馈机制 ............................................................................................................................................. 25
提示用户 ............................................................................................................................................. 26
用户维度 ............................................................................................................................................. 26
扩展用户示例 ..................................................................................................................................... 27
扩展功能 ................................................................................................................................ 28
应用价值 ............................................................................................................................................. 28
“杀手级”功能与“杀死”应用的功能 .......................................................................................... 29
数据驱动的功能 ................................................................................................................................. 30
与竞品比较 ......................................................................................................................................... 30
修改已有的功能 ................................................................................................................................. 31
支持用户分组和角色 .......................................................................................................................... 32
增加新服务 ......................................................................................................................................... 32
扩展功能示例 ..................................................................................................................................... 34
开发的可扩展性 ..................................................................................................................... 34
寻找开发资源 ..................................................................................................................................... 35
开发职责 ..............................................................
作者简介
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手册》一书的翻译工作。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0