首先,快速了解一下:AWS Amplify 有 一个新的管理界面。Amplify 一直拥有 CLI,它可以帮助你通过设置诸如身份验证、存储和 API 之类的东西来构建项目。这非常有用,但现在,你也可以使用新的管理界面来完成这些事情。还有更多功能,比如对你的数据进行建模(!!),直接从本地界面操作。这对像我这样的人来说太棒了(我喜欢我的 GUI)。
现在,慢慢来。
让我们从 Jamstack 的概念开始。静态托管 + 服务,对吧?Amplify 就是这样的:静态托管是其提供的一部分。你将一个 Amplify 项目连接到一个 Git 仓库(你不需要这样做,你可以上传一个 zip 文件,但我们在这里要现实一点)。当你推送到该仓库上的指定分支(可能是 main
或 master
)时,它就会部署。这是我们今天都 了解和喜爱 预期的开发魔力的一部分。
静态托管可能是你所需要的全部。完成了。
但很多网站需要更多东西。也许你的网站是客户端渲染的(部分内容),因此 JavaScript 会访问 API 获取数据,然后进行渲染。什么数据?什么 API? AWS 为你准备了这些东西。对于我们这些前端开发者来说,这可能是 AWS AppSync,它就像实时 GraphQL(很酷)。你如何设置它?好吧,你可以在 CLI 中完成,但现在使用 Amplify 管理界面 会容易得多。
假设你正在构建一个博客结构。博客有文章,文章有评论。因此...

我告诉你,从 WordPress 的背景而来,并且主要将自己定位为前端开发人员,我觉得这对我来说是可行的。这与在 WordPress 中使用高级自定义字段来为自定义帖子类型建模一些数据并不遥远。难怪前端和后端开发之间的界限如此模糊。
现在 Amplify 管理界面已经对这些数据进行了建模,我可以将其提取到我的项目中,整个模式就被模拟出来了。

我对 GraphQL 很看好,但我要告诉你,所有这些设置通常都超出我的能力范围。我通常很乐意只做已设置好的 GraphQL API 的使用者,或者做一些小的调整。不过,我觉得这个对我来说是可行的。可视化构建器和免费的模式脚手架……太棒了。
此时,你将拥有可以测试和部署的项目。部署完成后,云中就会有一个真实的数据库,准备好存放数据了。你如何使用它?是 CRUD 时间!创建、复制、更新和删除,所有优秀网站的核心原则,对吧?好吧,这仅仅是 JavaScript™。以下是如何创建一个新博客,然后在该博客中创建一个文章...
import { DataStore } from '@aws-amplify/datastore';
import { Blog } from './models';
const newBlog = await DataStore.save(
new Blog({
"name": "Name of Blog"
})
);
await DataStore.save(
new Post({
"title": "Blog Post Title",
"blogID": newBlog.id
})
);
这一切之所以有效,是因为数据库已经存在,我们的应用程序了解所有关于数据模型的信息。但是 AWS Amplify 中的DataStore
是什么呢?这也是 AWS Amplify 帮助解决的另一个问题。它们拥有可以使所有这一切变得更轻松的库。你不需要手动编写 fetch
调用并执行错误处理以及所有这些……Amplify 库通过各种帮助程序(如上面所示)使生活更轻松。
有了所有这些设置,我在他们的开发者预览中看到的一张幻灯片应该是有意义的

回到 Jamstack 的话题……现在我们有了静态托管,可以将我们的网站部署到它上面。顺便说一句,这可以是任何东西。一个普通的 HTML/CSS/JavaScript 东西。一个 React、Vue 或 Angular 应用程序。原生应用程序也可以。Amplify 不关心,它只帮助处理部署和服务。
这里展示了 管理界面,你可以在其中看到所有可以设置的服务的导航、部署活动、对数据进行建模(和编辑)的能力等。

还有其他什么?其中之一就是身份验证。如果你正在存储数据并使用 API 管理数据,那么很有可能你也会处理身份验证。Amplify 可以帮你解决。需要在服务器端运行一些代码吗?当然,你的函数就在那里。Lambda(无服务器函数)是 AWS 的核心优势。分析?没问题。
你肯定会感兴趣的另一个事情是不同的开发故事。比如本地开发是什么样子的?好吧,它很棒。猜猜看?! 上面管理界面的那些屏幕截图……那些不是 AWS 控制台中的某个在线仪表盘,那些是本地托管在你的网站上的。所有这些数据建模、存储、编辑等等都在本地进行。然后你可以推送到任何环境。当然还有生产环境,还有你需要的任何类型的暂存环境。
当你需要将生产数据拉取到本地时,你只需……这样做(使用管理界面中提供的命令)。
你可以加入 Amplify 团队了解更多信息 - 他们将在本周 Twitch 上进行演示并进行问答
周四,12 月 3 日,太平洋时间上午 10 点至 11 点 / 格林威治标准时间下午 7 点
周五,12 月 4 日,太平洋时间下午 1 点至 3 点 / 格林威治标准时间晚上 9 点
www.twitch.tv/aws
我认为这个新的管理界面世界将为更多人打开 AWS Amplify 的大门。拥有一个 UI 来管理你的网站感觉更好。对我来说,它让我对后端和服务发生了什么有了更完整的了解,并对事物有了更多控制。但是,它给了我在前端做我想做的任何事情的完全自由,并且还处理了许多我不愿意做的事情(部署、SSL 等)👏
你试过 https://www.wpgraphql.com/ 吗?它很酷。