零、前言
有些应用就是这样做的。 这些都是例外,而不是规则。 许多 JavaScript 应用有一两件事是正确的,还有一些是错误的。 我们做错的事情是我们从未考虑过的规模影响的副作用。 这是一本关于扩展前端架构以满足质量要求的书。 扩展 JavaScript 应用是一个有趣的问题。 有许多移动的部分——用户、开发人员、部署环境、浏览器环境,以及将所有这些因素结合在一起以形成有意义的用户体验的任务。 我们在扩展什么,为什么? 这本书的目的就是帮助我们回答这些问题。
这本书的内容
第 1 章,从 JavaScript 的角度进行规模,介绍了可伸缩的 JavaScript 应用的概念,以及它们与其他可伸缩应用的区别。
第 2 章、规模的影响者,帮助我们理解规模的需求有助于我们设计更好的架构。
第 3 章、组件组成解释了构成我们架构核心的模式如何作为组装组件的蓝图。
第 4 章、组件通信和责任解释了组件之间如何进行通信是一个伸缩约束。 它告诉我们特性如何是组件通信模式的结果。
第 5 章、可寻址性和导航详细阐述了具有指向资源的 uri 的大型 web 应用,以及这种规模的设计如何处理越来越多的 uri。
第六章,User Preferences and Defaults,告诉我们为什么用户需要控制我们软件的某些方面。 它还解释了可伸缩应用组件是可配置的。
第 7 章、加载时间和响应能力解释了移动部件越多,应用的性能就会下降。 这包括在添加新特性的同时,对保持 UI 响应进行权衡。
第八章,可移植性和测试,涵盖了 JavaScript 代码的编写,而不是与单一环境紧密耦合。 这包括创建可移植模拟数据和可移植测试。
第 9 章,Scaling Down,解释了如果我们想在其他领域扩大规模,如何从应用中删除未使用或有 bug 的组件。
第 10 章、应对失败解释了大型 JavaScript 架构不会因为一个组件的错误而崩溃。 这包括如何在脑海中考虑失败是在大量场景中实现规模的关键。
你写这本书需要什么
- NodeJS
- 代码编辑器或 IDE
- 一个现代的网络浏览器
这本书是给谁的
本书是专为对前端架构问题感兴趣的高级 JavaScript 开发人员编写的。 这本书不需要具备框架知识的先决条件,然而,本书中介绍的大多数概念都是骨干、Angular 或 Ember 等框架中的组件的改编。 需要很强的 JavaScript 语言技能,所有代码示例都使用 ECMAScript 6 语法。
会议
在本书中,您将发现许多文本样式,它们可以区分不同类型的信息。 下面是这些风格的一些例子和它们的含义的解释。
文本代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 url、用户输入和 Twitter 句柄显示如下:“例如,users/31729
。 在这里,路由需要找到一个匹配这个字符串的模式,这个模式还将指定如何提取31729
变量。”
代码块的设置如下:
// Renders the sections of the view. Each section
// either has a renderer, or it doesn't. Either way,
// content is returned.
render() {
注释
警告或重要注释出现在这样的框中。
提示
提示和技巧是这样的。
读者反馈
我们欢迎读者的反馈。 让我们知道你对这本书的看法——喜欢或不喜欢。 读者反馈对我们来说很重要,因为它可以帮助我们开发出你真正能够从中获得最大收益的游戏。
要向我们发送一般的反馈,只需发送电子邮件<[feedback@packtpub.com](mailto:feedback@packtpub.com)>
,并在邮件的主题中提及书名。
如果你对某一主题有专长,并且你对写书或投稿感兴趣,请访问www.packtpub.com/authors查看我们的作者指南。
客户支持
现在,您是包书的骄傲所有者,我们有一些东西来帮助您从您的购买中获得最多。
下载示例代码
您可以从您的帐户http://www.packtpub.com下载您所购买的所有 Packt Publishing 书籍的示例代码文件。 如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,直接将文件通过电子邮件发送给您。
勘误表
尽管我们已经尽一切努力确保内容的准确性,但错误还是会发生。 如果您在我们的任何一本书中发现了错误——也许是文本或代码中的错误——如果您能向我们报告,我们将非常感激。 通过这样做,您可以避免其他读者感到沮丧,并帮助我们改进本书的后续版本。 如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书,点击勘误表链接,并输入勘误表的详细信息。 一旦您的勘误表得到验证,您的提交将被接受,勘误表将被上传到我们的网站,或添加到该标题勘误表部分的任何现有勘误表列表中。
要查看之前提交的勘误表,请到https://www.packtpub.com/books/content/support,并在搜索栏中输入书名。 所需信息将出现在勘误表部分下。
盗版
在互联网上盗版有版权的材料是所有媒体都存在的问题。 在 Packt,我们非常重视版权和许可的保护。 如果您在互联网上发现任何形式的我们作品的非法拷贝,请立即提供我们的地址或网站名称,以便我们采取补救措施。
请在<[copyright@packtpub.com](mailto:copyright@packtpub.com)>
联系我们,并提供疑似盗版资料的链接。
我们感谢您的帮助,以保护我们的作者和我们的能力给您带来有价值的内容。
问题
如果你对这本书的任何方面有问题,你可以通过<[questions@packtpub.com](mailto:questions@packtpub.com)>
联系我们,我们会尽力解决这个问题。
版权属于:月萌API www.moonapi.com,转载请注明出处