大型JavaScript应用最佳实践指南
  • 推荐0
  • 收藏12
  • 浏览2.7K

大型JavaScript应用最佳实践指南

Adam Boduch (作者)  黄小璐 (译者)

  • 书  号:978-7-121-30706-5
  • 出版日期:2017-02-06
  • 页  数:236
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: JavaScript at Scale
  • 原书号:9781785282157
  • 维护人:张春雨
本书将带你设计和实现能从多个维度(如寻址能力、可配置性和性能)可伸缩的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。
非常感谢Chuck、Mark、Eric和Adam,很荣幸能够跟他们一起工作和学习。谢谢我的家人、朋友,还有我所经历的一切。


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手册》一书的翻译工作。
读者可扫描以下二维码关注奇舞团周刊。

前言
能够一直正常运行的应用只是特例,大部分的JavaScript应用多多少少都有些问题。而这些问题产生的原因是由于我们总是习惯性地忽略可扩展性。这本书介绍了如何通过扩展前端架构来提高软件质量。扩展JavaScript应用是一件有趣的事情,需要考虑很多因素:用户、开发者、开发环境、浏览器环境等。我们的任务就是全面考虑这些因素,从而提供最佳的用户体验。我们要扩展什么?为何要扩展?本书将为大家解答这些问题。
本书内容
第1章,扩展JavaScript应用,介绍了何为可扩展的JavaScript应用,以及扩展JavaScript应用与扩展其他应用的区别。
第2章,可扩展性的影响因素,介绍了如何理解可扩展的需求,设计出更好的架构。
第3章,组件复合,介绍了构成架构核心的模式,以及如何以之为蓝图组合组件。
第4章,组件的通信与职责,介绍了组件之间的通信是如何制约扩展的。组件的通信模式功能有决定性作用。
第5章,寻址和导航,详细介绍了拥有指向不同资源的URI的大型Web应用,以及如何设计才能应对不断增长的URI数量。
第6章,用户偏好和默认设置,介绍了设置用户偏好的必要性,以及可配置的组件对扩展应用的重要性。
第7章,加载时间和响应速度,介绍了文件数量的增加是如何降低应用效率的。在添加新功能时,要有所舍弃,才能保证UI的响应速度。
第8章,可移植性和测试,介绍了如何编写不依赖于特定环境的JavaScript代码,包括创建可移植的模拟数据和测试代码。
第9章,缩小规模,介绍了移除无用或错误组件对扩展系统其他部分的重要性。
第10章,处理错误,介绍了优秀的JavaScript架构不会因为某个组件的错误而崩溃。许多时候,在设计时充分考虑对错误的处理是成功扩展的关键。
阅读本书的条件
? NodeJS
? 代码编辑器/集成开发环境
? 一个现代Web浏览器
本书读者
本书的目标读者是对前端架构感兴趣的高级JavaScript工程师。阅读本书无须预备框架知识,但本书介绍的大部分概念都来自于框架,例如Backbone、Angular、Ember。阅读本书需要扎实的JavaScript语言知识基础,本书中所有的示例代码都使用ECMAScript 6语法编写。
约定
在阅读本书时,你会发现许多代表不同类型信息的不同文本样式。这里展示了一些例子及其含义详解。
正文中的代码、数据库表名、文件夹名、文件名、文件后缀、路径、URI示例、用户输入,以及Twitter用户名等均按以下格式展示:“以users/31729为例。路由器应该找到一个模式,能够匹配该字符串,并能够提取出变量31729”。
代码块按以下格式展示:
// 渲染试图的各个部分。
// 各部分可能有renderer,也可能没有。
// 但不管有没有renderer,内容都会被返回。

警告和重要注解都会按此格式展示。

提示和技巧都会按此格式展示。
下载示例代码
你可以从http://www.broadview.com.cn下载所有已购买的博文视点书籍的示例代码文件。
勘误表
虽然我们已经尽力确保内容的准确性,但错误仍然可能存在。如发现任何错误,可登录博文视点官网http://www.broadview.com.cn 提交勘误信息。一旦勘误信息被本书作者或编辑确认,即可获得博文视点奖励积分,可用于兑换电子书。读者可以随时浏览图书页面,查看已发布的勘误信息。

目录

目录 阅读
第1章 扩展JavaScript 应用
第2章 可扩展性的影响因素
第3章 组件组合
第4章组建的通信与职责
第5章 寻址和导航
第6章 用户偏好和默认设置
第7章 加载时间和响应速度
第8章 可移植性和测试
第9章 缩小规模
第10章 处理错误

读者评论

  • 示例代码在哪里

    aprilfall发表于 2017/4/24 2:18:12
    • 在页面右侧的“下载资源”处。

      张春雨发表于 2017/4/24 14:42:20
    • @张春雨 thank you

      aprilfall发表于 2017/4/24 22:00:00
  • 所有电子书都不能到付款页?神马情况?

    Jack Che发表于 2017/3/23 20:18:49
    • 可以跳转到支付页面,请问您用的什么浏览器?

      陈晓猛发表于 2017/3/24 9:44:10
    • @陈晓猛 chrome

      Jack Che发表于 2017/3/24 13:25:50
    • @Jack Che 我看您已经购买成功了啊

      陈晓猛发表于 2017/3/24 14:38:17

下载资源

相关博文

  • 影响JavaScript应用可扩展性因素

    影响JavaScript应用可扩展性因素

    管理员账号 2017-02-20

    小编说:JavaScript 应用变得越来越庞大。这是因为使用JavaScript 能做的事情远比我们大多数人所需求的要多得多。我们不能仅因为技术上可行,就去考虑软件系统的扩展问题。为一个不需要扩展的系统增加扩展性是不值得的,尤其对最终...

    管理员账号 2017-02-20
    436 0 0 0
  • 可扩展架构取舍

    可扩展架构取舍

    管理员账号 2017-02-28

    小编说:“架构”是前端开发中一直以来都缺少的。由于近几年Web 应用日趋复杂,前端架构开始流行起来。成熟的工具使得开发人员可以针对要解决的问题设计出可扩展的架构。 构建可扩展的软件,可以从很多角度来思考软件架构。但是如果每个角度都去...

    管理员账号 2017-02-28
    732 0 0 0

相关图书

基于MVC的JavaScript Web富应用开发

Alex MacCaw(亚历克斯·麦卡劳) (作者) 李晶 (译者)

在琳琅满目的Web富客户端应用实现方式中,JavaScript在其中巧妙地穿针引线,扮演着"黏合剂”的作用。JavaScript与各种浏览器插件技术(Silve...

¥39.00

Learning TypeScript中文版

Remo H. Jansen (作者) 龙逸楠 (译者)

本书首先介绍了TypeScript 的基本语法和基本的自动化工作流配置方法,然后从面向对象入手,着重介绍了面向对象的概念和它的一些最佳实践,并结合例子讲解了如何...

¥89.00

实战ES2015:深入现代JavaScript 应用开发

甘超阳 (作者)

JavaScript在ES2015标准中的表现,以及利用ES2015中新特性在JavaScript应用开发中的实践。以清晰的思路说明ES2015的详细特性和意义...

¥49.00

Effective Javascript:编写高质量JavaScript代码的68个有效方法 英文版

(美)David Herman(大卫·赫尔曼) (作者) 无 (译者)

本书由资深 JavaScript 技术专家 David Herman 所著。书中基于 JavaScript 标准的新版本前所未有地阐明了 JavaScript ...

¥65.00

高性能JavaScript

Nicholas C. Zakas(尼古拉斯.泽卡斯) (作者) 丁琛 丁琛 (译者)

浏览器解释执行JavaScript 程序时不会对代码进行优化,因此代码的结构极大地影响着程序的运行速度。本书分享高效的代码结构和开发模式,帮助读者获得更好的程序...

¥39.00