javascript 单页应用-Serverless架构:无服务器单页应用程序开发

2024-04-22 0 7,922 百度已收录

.通过测试推动进步

您以前是否曾经担心过更改哪怕只是一点点代码? 也许您不确定应该做什么或为什么应该这样做。 “首先,不作恶”对于程序员和医生都适用。 这种情况会让你感到左右为难。

想象一下,当您进行此更改时,您有一位值得信赖的朋友 - 此类系统的专家 - 坐在您旁边。

如果你在系统中引入任何缺陷,他也会挡住你的路,并清楚明确地告诉你为什么这种改变是一个坏主意。 如果你有这样一个值得信赖的朋友,你会陷入两难的境地吗?

不确定性会减慢我们的脚本速度并限制解决方案的范围。 为了快速构建一个软件,你必须有信心。 为了获得这种信心,您可以让自己成为一名自动化专家 - 了解系统的所有细节、系统如何工作以及为何如此工作。 专家和系统相辅相成,随变化而变化,互相影响。 专家是,您编写一组足够快的测试,可以在每次更改代码时连续运行,每秒数百或数千个测试。

一旦有了测试套件,您就有了新的选择。 当您不再担心更改代码时,您可以根据自己的愿景设计应用程序,而不是从一开始就试图使其“正确”。 这意味着您可以随着环境的变化快速适应世界,而不是试图预测您可能需要什么和不需要什么。 您可以根据当前信息而不是猜测做出决策,应用程序自然会按其应有的方式运行。

在本书中,您将使用测试驱动开发(TDD)技术来编写应用程序及其测试。 了解如何使用测试来构建软件是一项技能,要获得其好处,您必须实际使用它。 我在本书中介绍 TDD 的目的不仅是向您展示如何测试 Web 应用程序的特定功能,而且是为了演示如果您知道如何实现它,那么使用它来测试典型的 Web 应用程序是多么容易。

在实践 TDD 时,有一个通常被描述为红-绿-重构的三步循环。 首先编写一个测试来检查您的应用程序尚不具备的功能。 如果测试如您预期失败,您可以相信它正在测试您想要添加到应用程序中的功能。 现在这个测试是黑色的。 一旦测试失败,请添加几行最少的代码以使测试通过,通常只需几行代码。 该测试现在是红色的。

一旦您通过测试向应用程序添加了一些功能,就该退后一步,让自己仔细观察一下。 它在实现中是否引入了一些重复的代码? 所有变量和函数都有描述性且精确的名称吗? 有没有更简单的形式? 考虑一下这种事情然后开始构建。 重构是在不改变功能的情况下改变代码。 您之前编写的测试将告诉您是否更改了功能,因此仅在此类测试全部通过时才进行构建非常重要。 将它们作为您的安全网,您可以在继续下一步测试之前清理代码中的所有问题。

使用 TDD 越多,进步就越快,从中获得的价值也就越多。 通过一遍又一遍地重复“红-绿-重构”过程,您将学习如何逐步构建设计良好且经过良好测试的应用程序。 您不仅会对您的应用程序充满信心,而且也可以更轻松地对其进行持续更改。

通过实践学习

本书是一本教程,因此您可以遵循其指导并边做边学。 通过本书,您将构建一个无服务器单页 Web 应用程序。 本书的目的是具体地解释 Serverless 架构的原理。 本书的成果是一个可运行的应用程序,因此您可以放心,本书中的技术将像广告中所宣传的那样运行。

采用这些方法意味着篇幅有限,我不可能对某些知识点进行深入探讨。 因此,我在每章中安排了“下一步”部分来提供一些主题,如果您想了解更多信息,可以找到相关信息。

从准备好的工作空间开始

为了让你快速上手,我提供了一个准备好的工作区(preparedworkspace),其中包含了你上手所需的一切,并且不需要太多时间来设置。 就像你在画一件艺术品,我已经为你准备好了染料、画架和画布。 您所要做的就是创造。

为了使用这个准备好的工作区,您需要一台与 Bash shell 兼容的计算机来使用工作区上的脚本和工具。 这可以是 OS X、任何 *nix 版本或 FreeBSD。 如果您安装了 Cygwin,Windows 也可以运行。 您还需要一个带有开发者控制台的网络浏览器。 本书的大部分示例都使用了 Google Chromejavascript 单页应用,但大多数情况下 Firefox 也可以提供类似的功能。

如何阅读这本书

阅读一本书可以有多种形式,而不仅仅是从头到尾的形式。 你如何阅读这本书取决于你想要获得什么。 下面列出了阅读本书的一些常见原因,以及我对如何使用本书来实现这一目标的建议。

目标 1:了解无服务器和传统单页应用程序的优缺点

需要做什么

1. 阅读第 1 章的前 3 节,了解这两种形式的优缺点。

2. 浏览第 1 章的其余部分和第 2-3 章。

3. 学习第4~8章并尽可能按照教程来实现应用。

如果您是一位经验丰富的 Web 开发人员,曾经构建过单页 Web 应用程序,并且想要了解有关无服务器 Web 应用程序的更多信息,那么您可能不需要阅读前三章的全部内容。 这些章节展示了构建单页 Web 应用程序的 vanilla.js 方法。 目的是探索单页 Web 应用程序的基本模块。 我尝试定义需要哪些部分并提供一些基本实现以供参考。 如果您还没有为 Web 应用程序编写过很多测试,那么您可以通过实现第 2 章中的一些测试用例来学习一些新技能。

阅读完第一章的前三节后,您将需要重点阅读第四章至第八章。 我建议您构建一个简单的 Web 应用程序,或者至少是一个原型,以便您可以自己尝试前面章节中的技术。 通过实验你可以学到很多东西。

javascript 单页应用-Serverless架构:无服务器单页应用程序开发

目标 2:构建您的第一个单页应用程序

需要做什么

1.开始之前,请阅读书中列出的必要的补充阅读材料。

2. 从头到尾阅读本书的所有章节,必要时还包括附录。

如果您是第一次构建 Web 应用程序,您将需要从头到尾阅读整本书。 此外,您可能还想了解基本的 Web 技术,包括 HTML、CSS 和 JavaScript,请查看下面的免费资源。 一旦你理解了这个主题,然后深入阅读这本书。

目标 3:使用您最喜欢的 Web 框架构建无服务器应用程序

需要做什么

1. 通读第 1 章。

2. 使用您最喜欢的 Web 框架实现第 2 章和第 3 章中的测试和功能。

3. 学习第4~8章。

如上所述,我不想将本书的重点放在 Web 框架上,但您仍然可以使用它们来构建无服务器单页应用程序。 如果您熟悉单页应用程序的基本元素并依赖客户端 Web 框架来提供此功能,则可以使用您最喜欢的框架轻松地重新创建我们在第 2 章和第 3 章中实现的功能。 一旦你有了这个基础,你应该能够遵循本书的其余部分并使用这个框架实现整个应用程序。

目标 4:创建最小可行产品 (MVP)

需要做什么

1. 阅读第 1 章的前三节,了解无服务器开发与传统开发方法的优缺点。

2. 阅读第 8 章,了解使用这些方法构建 MVP 的成本。

3. 如果这种方法似乎有效,请阅读所有剩余章节(必要时包括附录)。

javascript 单页应用-Serverless架构:无服务器单页应用程序开发

3. 使用准备好的工作区作为构建 MVP 的起点。

当推出新产品或业务时,第一个挑战是弄清楚市场想要什么以及愿意支付什么费用。 许多人称之为产品/市场契合,它是构建成功产品或服务的关键。

找到产品/市场契合度的有效方法是制造产品并尝试销售它。 验证市场需求以及您通过销售或营销渠道与这些客户建立联系的能力是您应该尽早跨越的关键门槛。 当然,你可能没有那么多时间和金钱来构建一个完整的应用程序,所以另一种选择是构建一个 MVP 来验证产品的核心价值。

无服务器单页应用程序是尝试新想法、探索可能的新市场或创建 MVP 的好方法。 构建此类应用程序来替换传统 Web 应用程序或本机应用程序意味着您可以更快地接触客户。 您可以在几小时内构建初始版本并在几秒钟内部署它。 这些应用程序可以立即更新,可以轻松进行拆分测试,并且可以提供详细的使用指标来帮助您了解客户的需求。

除了运行成本低廉、设置快速以及几乎任何用户都可以访问之外,无服务器单页应用程序还可以“无限”扩展(正如亚马逊所宣传的那样),因此javascript 单页应用,如果市场上对您的产品有强烈的需求,您可以这样可以满足这样的需求,留住用户。

在线资源

您可以在 Progmatic Bookshelf 官方网站上找到本书中的应用程序和代码。 在那里,您可以找到社区峰会以及用于提交勘误表、报告问题或为未来版本提供建议的表格。

您可以在我的 Github.com 帐户 (benrady)5 下找到准备好的工作区。 如果您还没有 Github 帐户,请创建一个新帐户并分叉我的代码库。 如果您想了解更多操作细节,可以阅读第一章。

本·拉迪

benrady@gmail.com

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 单页应用-Serverless架构:无服务器单页应用程序开发 https://www.wkzy.net/game/200644.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务