NoCode 实战 | 零代码应用开发,轻松搞定任务跟踪管理难题(上)
“让精益更精简”成为当前新诉求,即缩短从构思到 MVP 落地的时间周期,高效地实验连续不断的新想法。所以我们需要一种新方式,打破精益实践的最后一道坎。然而开发人才的短缺不会很快改变。由于应用程序的持续需求和熟练开发人员短缺,这就带来开发技能平民化的要求,以确保普通人能够更容易地开发自定义应用。
如果营销人员可以创建和更新网站,那么他就可以持续迭代并更快地尝试各种自己的构想;
如果咨询顾问可以在几个小时内将其独特的流程自动化为一种工具,那么他就可以更快地解决客户的问题并体现其努力的价值;
如果小型企业主可以根据自己的需求构建应用程序,则可以通过自动化提高业务效率,并节省宝贵的时间来扩展新的业务。
去年,亚马逊云科技推出了自己的 NoCode 平台,即 Amazon Honeycode。在本系列之前的文章中,已简单介绍过这种开发方法的价值和大致思路。
那么在了解基本概念后,如何从实践出发,真正用 NoCode 方法开发出一个产品呢?本文我们将通过上下两篇文章,从实例着手,介绍如何用 Amazon Honeycode 设计并实现一个轻量级的任务追踪系统应用。
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 构建应用总的来说是一个包含下列五个步骤的迭代过程:
定义要构建的应用
2. 在 Tables 中定义数据模型
3. 在 App Builder 中建立用户体验
4. 添加 Automations 工作流程
5. 应用测试,与团队共享,持续迭代
范例应用剖析
本例中,我们将开发一个简单的任务跟踪管理系统,简单来说,该系统可提供下列功能:
用于团队成员跟踪项目中各自的任务
用于主管跟踪与管理团队在项目中的任务
向团队成员发送自动提醒和告警
此外在数据模型方面,需要定义包括项目、任务和人员这三类实体:
为了更好地理解这些数据实体所代表的含义,我们可以使用虚构的示例数据来创建相应的数据表。
示例的项目表数据(Projects):
示例的任务表数据(Tasks):
示例的人员表数据(People):
按照上述的数据模型定义,分别创建三个数据表(Projects、Tasks、People),通过复制粘贴导入上述虚构的示例数据。
建立表链接
按照前述数据表之间的依赖关系,利用 Amazon Honeycode 内置的数据库,为项目表、任务表、人员表建立表链接。
选择“Wizards”按钮,可以看到:
选择“Data Modeling”,点击“Create Picklists”
使用任务表中的项目名称列,将其与项目表链接起来
点击“Apply”,等待若干秒
检查项目表,就会发现新增“Related Task”列,里面筛选出与该项目对应的任务项
点击筛选结果,自动链接到了任务表中与该项目对应的任务项详情
以此类推,我们可以用相同的做法,完成项目表与人员表的链接,任务表与人员表的链接。
项目进度自动核算
选中“进度”栏,点击“Formats”按钮,就可以在右侧看到“进度”栏的属性。
在 FORMAT 中,选择 Percentage,保留 2 个小数点。
在 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 函数返回的结果中统计行项的数量可在表的任何行或应用的任何列表中使用,特别适合在公式计算的上下文中使用。
原文链接:NoCode 实战 | 零代码应用开发,轻松搞定任务跟踪管理难题(上)
评论