「关注」并「星标」我们,
每天接收关于亚马逊云科技的最新资讯!
“让精益更精简”成为当前新诉求,即缩短从构思到 MVP 落地的时间周期,高效地实验连续不断的新想法。所以我们需要一种新方式,打破精益实践的最后一道坎。然而开发人才的短缺不会很快改变。由于应用程序的持续需求和熟练开发人员短缺,这就带来开发技能平民化的要求,以确保普通人能够更容易地开发自定义应用。
NoCode 就是改变游戏规则的新模式,也是“人人都可以成为 Builder”的典型实例。
-
如果营销人员可以创建和更新网站,那么他就可以持续迭代并更快地尝试各种自己的构想;
-
如果咨询顾问可以在几个小时内将其独特的流程自动化为一种工具,那么他就可以更快地解决客户的问题并体现其努力的价值;
-
如果小型企业主可以根据自己的需求构建应用程序,则可以通过自动化提高业务效率,并节省宝贵的时间来扩展新的业务。
去年,亚马逊云科技推出了自己的 NoCode 平台,即 Amazon Honeycode。在本系列之前的文章中,已简单介绍过这种开发方法的价值和大致思路,感兴趣的“童鞋”,可以扫描下方二维码查阅《NoCode 热身系列:你准备好了吗?》。
那么在了解基本概念后,如何从实践出发,真正用 NoCode 方法开发出一个产品呢?本文我们将通过上下两篇文章,从实例着手,介绍如何用 Amazon Honeycode 设计并实现一个轻量级的任务追踪系统应用。
01 Hello,Honeycode
首先我们需要访问 Honeycode Builder 并为自己创建账户。(https://builder.honeycode.aws/)
Amazon Honeycode 是一项完全托管的服务,可快速构建功能强大的移动和 Web 应用且无需编程,支持 iOS 和 Android 平台,适合流程审批、事件计划、客户关系管理、用户调查问卷、待办事项以及内容和库存跟踪等多种场景,不需要通过邮件发送电子表格或文档这种容易出错的方法,也不需要雇用工程师开发昂贵且耗时的定制应用。
借助 Amazon Honeycode,我们可使用简单的可视化应用构建器,创建交互式 Web 和移动应用,并通过亚马逊云科技内置数据库完成数据跟踪、用户通知、流程审批以及交互式业务流等功能。Amazon Honeycode 支持不同复杂度的系统实现,从小团队的任务跟踪应用到大部门复杂工作流管理系统。
Amazon Honeycode 的核心组件包括:
- Tables:表格,是存储数据的地方;
- App Builder:应用构建器,可以将静态数据转换为交互式 Web 和移动应用;
- Automations:自动发送通知,触发基于数据和用户输入的自动化任务;
而借助 Amazon Honeycode 构建应用总的来说是一个包含下列五个步骤的迭代过程:
- 定义要构建的应用
- 在 Tables 中定义数据模型
- 在 App Builder 中建立用户体验
- 添加 Automations 工作流程
- 应用测试,与团队共享,持续迭代
02 范例应用剖析
本例中,我们将开发一个简单的任务跟踪管理系统,简单来说,该系统可提供下列功能:
- 用于团队成员跟踪项目中各自的任务
- 用于主管跟踪与管理团队在项目中的任务
- 向团队成员发送自动提醒和告警
此外在数据模型方面,需要定义包括项目、任务和人员这三类实体:
为了更好地理解这些数据实体所代表的含义,我们可以使用虚构的示例数据来创建相应的数据表。
示例的项目表数据(Projects):
示例的任务表数据(Tasks):
按照上述的数据模型定义,分别创建三个数据表(Projects、Tasks、People),通过复制粘贴导入上述虚构的示例数据。
03 建立表链接
按照前述数据表之间的依赖关系,利用 Amazon Honeycode 内置的数据库,为项目表、任务表、人员表建立表链接。
1. 选择“Wizards”按钮,可以看到:
2. 选择“Data Modeling”,点击“Create Picklists”
3. 使用任务表中的项目名称列,将其与项目表链接起来
4. 点击“Apply”,等待若干秒
5. 检查项目表,就会发现新增“Related Task”列,里面筛选出与该项目对应的任务项
6. 点击筛选结果,自动链接到了任务表中与该项目对应的任务项详情
7. 检查任务表,亦可查到任务项对应的项目详情
以此类推,我们可以用相同的做法,完成项目表与人员表的链接,任务表与人员表的链接。
04 项目进度自动核算
关于项目数据表的进度一栏,实际上是应该通过“计算”得到的。以“龙坞”项目为例,我们可以从任务数据表中,筛选项目名称为“龙坞”的任务项,则可得到“龙坞”项目的任务项总数为 4 个,再从中计算任务进度为“完成”的任务项数为 2 个,两者相除就是项目数据表中的进度值(2/4=50%)。因此,我们需要为项目数据表的进度栏,添加跨表的筛选和进度值计算功能。
1. 选中“进度”栏,点击“Formats”按钮,就可以在右侧看到“进度”栏的属性。
2. 在 FORMAT 中,选择 Percentage,保留 2 个小数点。
3. 在 FORMULA 中,我们需要为其添加跨表的筛选和进度值计算功能。
这里可以看到很长的一串公式,简单解释下,详细可以参考下面这两个文档:
- https://honeycodecommunity.aws/t/filter/923
- https://honeycodecommunity.aws/t/thisrow/899
=ROWS(FILTER(Tasks,"Tasks[状态]=% AND Tasks[项目名称]=%","完成",THISROW()))/ROWS(FILTER(Tasks,"Tasks[项目名称]=%",THISROW()))
这个公式可以拆成分子和分母两个部分:(滑动查阅完整代码)
分子:通过项目名称和任务状态进行筛选,并统计该项目中任务状态为“完成”的任务项数量。
ROWS(FILTER(Tasks,"Tasks[状态]=% AND Tasks[项目名称]=%","完成",THISROW()))
分母:通过项目名称进行筛选,并统计该项目中所有任务项的数量。
ROWS(FILTER(Tasks,"Tasks[项目名称]=%",THISROW()))
其中,相关函数的功能描述如下:
● FILTER:返回符合条件的行项。FILTER(表名,“筛选条件”, [条件参数 ...]),筛选条件可使用 AND和 OR 等运算符,%为条件参数的引用。
● ROWS:在 FILTER 函数返回的结果中统计行项的数量。
● THISROW:返回正在执行公式的行链接。THISROW 在FILTER函数返回的结果中统计行项的数量可在表的任何行或应用的任何列表中使用,特别适合在公式计算的上下文中使用。
朋友们,看完了以上详细的步骤
让我们看看下面这个视频
一起再次回顾下操作步骤吧!
05 总结
以上,我们已经完成了:
● Honeycode 入门
● 任务追踪应用的功能目标设置
● 数据模型的定义
● 数据表的创建
● 表链接的建立
根据 Amazon Honeycode 五步迭代应用构建法,下一步就可以为任务追踪应用创建移动端和 Web App 了。
接下来的下篇,我们会深入探讨如何为这个轻量级任务追踪和管理系统,利用 App Builder 从团队成员和主管两个不同的角度构建交互式用户体检 - stay tune for next episode!
●作者个人简介
黄帅,亚马逊云科技专业服务部 架构现代化咨询顾问。负责企业级客户的云上现代化架构设计和优化、XOps 组织以及运维现代化的转型咨询和实施。在软件研发领域有十多年架构设计、运维及团队管理经验,对 XOps、微服务治理框架、云原生平台运维现代化、大规模分布式系统的可观测性构造与混沌工程实践等有深入的研究和案例经验。
END