低代码开发
- 216 次浏览
Power平台
- 182 次浏览
【Power平台】Power Apps项目规划阶段(10):机会评估之必要性
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
这个流程是否值得自动化?
现在是时候考虑构建解决方案需要付出的努力,并决定它是否合理了。这涉及到权衡业务价值和自动化流程的成本。业务价值是业务从项目中获得的持续收益。
无所事事的代价
为了弄清楚自动化流程是否值得,您首先必须了解不解决问题的成本。
作为定义希望从Microsoft Power Platform解决方案实现的业务价值的一部分,您应该更好地了解以当前方式解决问题的组织成本是多少。换句话说,就是衡量什么都不做的成本。
要计算当前成本,请确定执行当前流程所花费的时间,并乘以执行该流程的人员的成本。您可以通过确定一次端到端运行流程的成本,然后乘以每年执行该流程的次数来度量年度成本。再加上其他成本,如软件许可、纸张、邮费等等。
例:当前费用流程的成本
我们首先要了解的是,组织继续手工做费用报告的成本是多少?以下是我们与同事交谈时的发现:
- 我们发现他们每周大概要花一个小时把所有的收据放在一起,然后填写人工费用报告。Abhay指出,每周大约有140份费用报告。我们还了解到,每个团队成员的全部费用大约是90美元/小时。
(140费用报告* 1小时/周)* $90 = $12,600/周
52周乘以$12,600 = $655,200一年
- 尼克没有审阅或批准费用报告;这一切都落到了Abhay和他的团队的肩上。因为他没有定期监控团队的开支,Nick错过了一个重要的机会——检查开支,注意舞弊,优化他的团队的开支习惯。
- Abhay与我们分享了他的团队在每个费用报告上花费大约15分钟的时间,平均每周会收到140份报告,其中25%的报告由于信息缺失而返回。
初审:140份费用报告×15分钟复查= 35小时
初审:35小时×$90 = $3,150周= $163,800/年
返工评审:35份费用报告×15分钟评审= 8.75小时
返工复查:8.75小时×$90/hr = $787.50/周= $40,950/年
每周总花费:3,937.50美元
每年总费用:204,750美元
- 在确认费用报告准确无误后,每份费用报告大约需要7分钟的时间来查找每个费用类别的总分类代码,并将其写在报告的每个费用行上。
140份费用报告×7分钟编码= 16.5小时/周= $1,485/周= $77,220/年
- 在财务系统中创建一个支付日志来处理支付并出现在夏洛特的财务报告中,每个费用报告大约需要10分钟。
- 140份费用报告×10分钟= 23.8小时/周= $ 2142 /周= $ 111384 /年
Charlotte想要每周检查预算,但是直到周四Abhay完成了他的检查并拿到了有缺失信息的报告之后,她才能拿到她的报告。(虽然这不是金钱成本,但它确实会对业务产生影响。)
整个过程的成本是公司:
$655,200 + $204,750 + $77,220 + $111,384 = $1,048,554
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/worth-automating-process
本文:http://jiagoushi.pro/node/1301
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 26 次浏览
【Power平台】Power Apps项目规划阶段(11):机会评估之业务价值
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
这个流程是否值得自动化?
现在是时候考虑构建解决方案需要付出的努力,并决定它是否合理了。这涉及到权衡业务价值和自动化流程的成本。业务价值是业务从项目中获得的持续收益。
定义解决问题的业务价值
商业价值分为四类,很容易记为REVO:
- 收入:这个解决方案通过新的业务线或以前没有提供的服务带来了其他方式无法实现的收入。
- 效率:效率实际上就是节省成本。此解决方案允许执行流程的参与者更快地完成此任务。
- 数量:通过使当前用户能够处理更多的交易,从而避免额外资源的成本,从而实现成本避免。
- 其他:解决方案帮助组织遵守其“必须做”的要求,这可能会避免经济处罚。
定义类别后,我们需要定义我们将实现的价值:
收入
- 确定服务的费用
- 确定有多少客户会购买服务或产品
- 确定要度量的时间范围(月、季、年)
- 收入=(价格乘以客户)的时间范围
效率
- 确定今天从事这项工作的人数
- 确定他们今天完成工作的直接时间(“旧时间”)
- 确定在构建完Microsoft Power平台解决方案后将从事这项工作的人数
- 确定使用新解决方案所需要的直接时间(“新时间”)
- 节省的时间=旧时间-新时间(要将节省的时间转换成美元,将节省的时间乘以人们在时间单位(例如小时)上的全部成本。)
容量
- 确定一个人在一定时间单位(“每个人的事务”)内可以处理的事务量
- 确定新解决方案在此时间内能够处理的事务量(“每个人的新事务”)
- 确定在此时间内需要处理的事务量(“量”)
- 成本规避=(交易量÷人均交易量)-(交易量÷人均新增交易量)
- 这将计算不需要处理事务的人数,以实现解决方案所处理的数量。
其他
- 确定通过在解决方案中捕获并提供信息可以避免的惩罚
如果您通过自动化流程获得的业务价值比不上什么都不做的成本,那么您必须问问自己,这是否是需要关注的正确业务问题。
但是,如果您通过解决业务问题获得的业务价值大于什么都不做的成本(加上您的开发时间和任何软件许可证的每月成本),那么将流程自动化是有意义的。
示例:费用流程自动化的业务价值
在我们的示例应用程序中,业务价值的主要类别是效率。这款新应用程序将减少处理每周、每月和每年相同数量的费用报告所需的时间。我们回顾了新的流程,以及我们希望这个应用程序能够对未来的用户实现什么。我们询问了他们希望通过新流程节省多少时间,以及他们希望在费用报告应用程序中加入一些规则。
- 我们每周仍有140份费用报告要提交;这并没有改变。然而,当我们与提交报告的人交谈时,我们发现我们能够将他们花费的时间减少到20分钟——通过他们能够在需要收据时立即输入信息并为收据拍照。满载成本也保持不变。
(每周140份费用报告×20分钟)×$90/hr = $4,158 /周= $216,216 /年
- Nick将审阅他的团队(大约100名销售人员)的费用报告,估计审阅每一份费用报告大约需要5分钟。他的评论仅限于所提交的费用类型,他意识到收据的需要——包括进餐时客人的姓名以及将酒店费用分配到适当类别的需要——将由应用程序控制。
(每周100份费用报告×5分钟)×$90/hr = $750 / week = $39,000 / year
其他经理将审查和批准他们部门未来的费用报告,所以剩下的40份费用报告每年将花费$15,600。
Abhay和他的团队现在的工作已经转向了抽查报告。他们不应该做任何返工;事实上,Abhay的团队可能会被分派其他活动的任务,这是因为审查费用报告所需的工作量减少了。
- 我们优化了这个过程,将正确的总分类账会计代码与每个费用类别关联起来。现在Abhay和他的团队可以提取数据来创建支付日志,将每周40.3小时(编码16.5小时+发布23.8小时)减少到几分钟,每年节省188,604美元(编码77,220美元,发布111,384美元)。Abhay可能会让他的团队中的一些人承担他部门中其他更重要的工作。
- 有了这个新流程,Abhay和他的团队可以考虑每天发布费用报告,这将为Charlotte提供每天更新的预算视图,并允许她在预算限制的情况下更快地做出响应。
- 公司使用自动应用程序的新成本大致如下:
$216,216 + $39,000 + $15,600 = $270,816 /年
每年为公司节省大约777,738美元
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/defining-business-value
本文:http://jiagoushi.pro/node/1302
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 26 次浏览
【Power平台】Power Apps项目规划阶段(12):机会评估之衡量成功
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
根据业务价值衡量成功
在您确定了您认为可以实现的业务价值之后,您必须弄清楚如何度量实现该价值的进展。要做到这一点,就要确定明智的措施。SMART measures的意思是:
- 具体:什么,在哪里,如何。一个明确的目标是明确的,不包含任何模棱两可的语言。
- 可测量的:从和到的测量给出反馈,让你知道什么时候目标已经实现。通常,“从”价值是我们今天所处的位置,“到”价值是我们的目标。
- 可分配的:这是“谁”:将实现目标的个人或团体。很多时候,行为的改变是由一个人知道某件事正在被测量这一事实触发的。A有时被定义为可实现的,但Assignable承认现实的措施与目标是否可实现有关。
- 现实:被测量的东西是可行的吗?现实的目标具有挑战性,但可以在给定的时间框架内实现。
- 基于时间的:目标什么时候能实现?时间框架必须积极而现实
在确定度量时,总是问自己:它是否有助于实现我们确定的业务价值?不要花时间度量那些不能帮助实现业务价值的活动。
有些措施将是一美元的数额,但其他可能只是一个数字。只需一点努力,就可以将这些值转换成金额。例如,如果您知道每个人将节省的时间量,那么将时间量乘以执行该流程的人的负载成本。结果就是节省了多少美元。
你可以使用的另一种目标设定方法是定义目标和关键结果(OKRs)。目标是你想要实现的远景。关键的结果是你衡量目标进展的方式。例如,目标可能是“增加会计团队的留存率”,而关键结果可能是“应用程序发布后,调查测量的工作满意度增加20%”。
投资回报
投资回报(ROI)的计算是通过审查构建解决方案的成本来完成的,以确保价值大于成本。
在许多情况下,当业务用户在解决一个问题时,这个问题是在他们的业余时间完成的,并不一定需要计入成本。然而,当您需要确定ROI时,了解构建解决方案所需的时间是很重要的。为了帮助您进行评估,请进入下一部分,创建项目计划。
示例:度量费用报告解决方案的成功
为了确定我们的目标,我们回顾了一下我们的项目目标:
费用报告:创建一个对员工和会计部门有效的流程,允许更快的预算跟踪,并减少审计暴露。
在我们的示例中,我们可以考虑几个有意义的成功度量。
最初,我们考虑跟踪返回返工的费用报告的数量。然而,如果这个应用程序是为了强制执行商业规则——比如超过75美元的费用需要收据——提交费用报告的员工在提供收据之前就不能提交报告,所以这个措施就没有多大意义了。
一个有价值的度量是能够跟踪员工完成他们的费用报告所花费的时间;毕竟,我们的成本节省是基于用户能够从1小时减少到20分钟。跟踪用户在应用程序中的实际时间来验证这个数字并对其进行报告可能是值得的。
既然Nick和其他经理负责批准费用报告,那么跟踪从员工提交费用报告到Nick和其他经理批准费用报告之间的时间是值得的。跟踪它,并让管理者意识到它正在被跟踪,这将有助于改善这种行为。人们倾向于关注被测量的东西。
我们决定的明智目标是:
- 对于至少80%的费用报告,费用报告创建者花在创建报告上的时间不超过20分钟。
- 对于至少90%的费用报告,从提交报告到在财务系统中记录付款之间的时间少于三个工作日。
- 到今年年底,部门经理会在批准后的一个小时内查阅最新的所有费用的每周预算报告。
- 在解决方案可用的一个月内,100%的费用报告使用了数字系统。
- 在半年一次的审计中发现的错误数量减少了50%。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/measuring-success
本文:http://jiagoushi.pro/node/1303
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 21 次浏览
【Power平台】Power Apps项目规划阶段(1),识别业务问题
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
确定要解决的业务问题(用例)
使用Microsoft Power平台解决业务问题的第一步是确定您想解决什么问题。
在IT术语中,要解决的业务问题通常称为用例。
问问你自己,“我要解决的业务问题是什么?”(提出问题时要简明扼要;在许多情况下,它将成为您所构建的应用程序的名称!)当你定义问题时,把它分解成一个问题陈述和你想要达到的结果。
对于我们将在这些文章中用作示例的应用程序,我们提出了以下声明:“费用报告:创建一个对员工和会计部门有效的流程,允许更快的预算跟踪,并减少审计暴露。”
如果您已经确切地知道您要解决的问题是什么,那么您可以跳到考虑手动解决问题的成本的部分。如果你在处理你最初的灵感之前需要一些想法或者想要练习一个小问题,读下去。
我能用Power Apps做什么?
如果你正在用Power Apps制作你的第一个应用,想想你的业务和你和你的团队每天要做的工作,并确定一个你目前正在使用手动流程来解决的业务问题。
自动化的潜在用例是存在于您当前工作环境中的差距、抱怨或低效率。那些仍然需要纸张或电子邮件的处理,以及那些需要手动将数据从一个地方移动到另一个地方(从电子邮件到数据库或从一个电子表格到另一个电子表格)的处理,很可能需要应用程序来解决。
提示
不要选择一个大到会让你陷入困境的问题。然而,当您将整个流程分解为可管理的元素时,即使是大型流程也可以在很小的范围内实现自动化。
想要获得灵感,请看看这些来自客户的真实故事。
知道你想要的应用程序如何让你的同事和老板受益是件好事,尤其是当你在制作或使用应用程序时需要寻求合作的时候。下面列出了平台可以解决的问题类型:
- 可用性——在任何时间、任何地点访问应用程序
- 移动性——允许人们在移动中使用应用程序
- 整合——以更自动化的方式收集数据,以最小化手工整合
- 培训——让员工跟上进度,跟踪他们的培训结果和认证
- 民主化——增强在部门或科内自行解决问题的能力
- 包容——减少与其他员工工作环境不同的员工(如远程工作人员或残疾人)的摩擦
- 效率-减少获得预期结果所需的时间,减少不必要的步骤
- 生产力-增加一个过程的生产能力
- 及时性——提高不同利益相关者之间端到端协作的速度
- 可伸缩性——允许更多的吞吐量
- 分析——收集需要额外的信息,以一种便于分析的方式存储它
- 报告——能够更快或更完整地向管理层报告
- 安全性——安全地存储和使用数据
- 合规——解决有关处理个人信息、符合法律或会计要求的问题
- 可持续发展-减少废物(如纸张和电力)和污染
考虑手动解决问题的成本
在你开始这个项目之前,再花一点时间来思考这个项目是否值得。
手工解决问题的高成本是有可能的。这可以表示时间完成流程的端到端,当你知道工人的“满载”成本(工资或按小时收费的,好处,等等),你可以解决这个问题的时间乘以速度到达成本每次运行过程。在此基础上,如果您知道流程运行的次数,就可以计算年度成本。
请注意,并不是所有的项目都能节省时间或成本。有时,自动化流程可以提供更干净或更及时的数据,或避免成本(例如,捕获数据允许进行审计跟踪,从而在发生审计时避免罚款)。
这将是一个“餐巾背面”的评估,以确保它值得你的应用项目。在另一篇文章中,我们将详细分析成本与业务价值之间的关系( analyzing cost versus business value)。
假设您认为这个项目值得进行,那么下一步是完全理解当前流程,并寻找可以对其进行的优化。
例如:费用报告
下面的例子说明了组织内典型的基于纸张的费用审批对于多个部门和员工是如何没有效率的。
从这个例子中你可以看到,每个人都有自己的问题,但这里的共同问题是,费用审批过程都是在纸上完成的,这对于Lee、Shawna和Rebecca来说是非常繁琐和困难的。尼克被他的团队送来的文件搞得不知所措。Abhay然后需要转录和把所有的东西放入Excel为每周预算报告,除了张贴到财务系统。过了一段时间,夏洛特才知道李、肖娜和丽贝卡花了多少钱。
这是Microsoft Power平台要解决的一个理想问题,因为纸质表单可以重新创建为Power Apps屏幕,在Power automation中设置审批,在Power BI中进行数据分析。在这一系列文章中,我们将回到这个示例。
团队决定解决的业务问题是:
费用报告:创建一个对员工和会计部门有效的流程,允许更快的预算跟踪,并减少审计暴露。
我们认为,很明显,数字化是值得的。快速计算一下,审计团队告诉我们,他们每周处理大约150份费用报告,我们使用90美元/小时作为我们的标准员工成本。如果我们能在每个报告的生命周期中节省一个小时,那么仅仅是浪费时间就能节省至少50万美元。我们需要抵消许可成本和应用程序开发时间,但是CFO提到预算可见性和报告遵从性的改善是值得投资的。
在规划Power Apps项目的整个过程中,我们将回顾这个示例。
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 贡献者解决业务问题
- 记录业务流程
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/planning-phase
本文:http://jiagoushi.pro/node/1292
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 71 次浏览
【Power平台】Power Apps项目规划阶段(2):识别关键贡献者
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 贡献者解决业务问题
- 记录业务流程
识别关键贡献者
仔细考虑每一个为这个过程做出贡献的人。这包括您部门和其他部门的人员,他们都在一起解决这个问题。理解他们在正在解决的业务问题上下文中做什么。
当您在下一节中开始记录业务流程时,您将希望依靠这些人来帮助您理解每个步骤。您很可能会在这个过程中学习,并且您可能需要向您的项目团队添加新的人员来提供他们的透视图。
提示
避免盲点!如果你到达了“然后,奇迹发生了”的过程中的一个步骤,你需要找到一个能照亮它的人。同时,从不同的角度考虑工作偏好和约束条件。
在我们的示例场景中,我们确定了这些关键贡献者:
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/planning-phase
本文:http://jiagoushi.pro/node/1292
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 31 次浏览
【Power平台】Power Apps项目规划阶段(3):任务和任务的人物,时间,地点
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 贡献者解决业务问题
- 记录业务流程
任务是什么?
在业务流程文档中,写下任务是什么。这应该是一个整体,而不是完成任务的单个活动。(我们会讲到的!)
写下你知道的所有任务,然后一次为一个任务完成所有这些文档步骤。你可能会发现新的任务。
你的Power Apps项目不需要处理每一个步骤,但是知道它们是什么是很好的。
例如:费用报告任务
对于我们的费用报告示例,我们写下了以下任务:
- 员工创建费用报告
- 员工向经理提交费用报告
- 经理批准或拒绝费用报告
- 经理将费用报告交给会计处理
- 会计核实费用报告的合规性
- 会计职位费用,以Contoso财务软件
- 会计为快速报告创建周费用电子表格
- 财务部每周向财务总监和部门经理提供电子表格
- 财务总监每周检查电子表格,并提供任何关于预算超支的通知
后来通过与其他团队成员的交谈,我们发现了额外的任务:
- 会计部门查找并记录每个费用项目的总分类代码
- 会计根据保留政策对纸质费用报告进行归档
- 审计组进行每半年一次的合规审计
谁在何时何地做这项工作?
对于这一步,您需要了解谁在执行这项工作。他们的作用是什么?
从人名开始可能是最简单的,但是您需要了解他们在执行任务时的角色是什么。例如:
- 任何提交费用报告的员工
- 报告提交者的经理批准报告(与提交者的关系是关键)
- 会计专家检查报告(关键是特定团队的成员资格)
- CFO审查汇总财务报表(具体的标题是关键)
一个人有时可能会扮演其中的每一个角色,但关键是要理解他们在完成任务时所扮演的角色。理解角色将帮助您设计应用程序屏幕,并配置访问和安全性。(我们将在设计阶段讨论这些。)
在IT术语中,执行相同功能的每个人或一组人被称为一个工作角色,对他们相关特征的描述在一个角色中被识别(通常有一个名字附加到它以方便引用)。
确定了“who”之后,请考虑:
- 使用什么设备?工作的主要地点在哪里?在办公室吗?客户的网站?工厂吗?(我们将在接下来的章节中进一步讨论这个问题。)
- 还有哪些系统是常用的?(了解这一点在设计阶段很有用。例如,一个“住在”微软团队的经理可能希望在那里获得批准请求,而不是通过电子邮件。)
- 这个人通过使用应用程序或与这个新流程合作会得到什么?
最后一点非常重要,因为在你的应用处理步骤之前或之后,可能会有参与过程的人的反对或犹豫。这可能会导致你的应用因为缺乏合作而无法被使用。
提示
了解哪些人将受到业务流程更改的影响是很重要的。确定谁将会使用这个应用程序,以及谁将会受到这个变化的影响,即使他们不会使用这个应用程序。
提示
当你分析你可能不知道的信息时,最好的方法就是和那个人谈谈,了解他们的观点。你当然可以假设他们是如何工作的,但在快速的交谈中,你能学到令人惊奇的东西——不仅是他们现在是如何工作的,而且是他们将来更喜欢怎样工作的。
他们多久做一次工作?
同时写下任务完成的频率。每天,每周,偶尔,季节性?
每天使用的应用程序与偶尔使用的应用程序有不同的设计考虑。(例如,前者可能需要精简,而后者可能需要包含更多解释性文本。)
他们在哪里工作?
当你考虑每个为解决问题做出贡献的人时,想想他们是如何工作的:
- 这是他们在办公桌上做的事吗?
- 他们是否在一个特定的地点工作?
- 他们会从一个地方搬到另一个地方吗?
最好了解每个用户的工作方式,这样您为他们创建的解决方案就可以工作。
这是一个移动应用程序吗?
它会成为桌面应用程序吗?
手机版和桌面版都应该有吗?
连接注意事项
当每个工人执行他们的部分流程时,他们能联机吗?
他们是否在一个没有任何连接的领域?用户能否使用自动解决方案实时捕获数据,并在建立连接时实现数据同步?
当执行此步骤的人员脱机时,流程中的其他参与者需要知道什么(如果有的话)?
理解这一点有助于确定是否需要在本地捕获数据的流程,以便在用户执行其部分流程时“断开连接”,然后在重新连接时同步结果。
设备注意事项
当您了解每个参与者如何解决问题时,了解他们正在使用的设备也很重要。如果一个工人在现场工作,而且只在手机或平板电脑上工作,那么当你开始了解屏幕的外观和功能时,知道这一点是很好的。如果所有的贡献者都是台式机或笔记本电脑,您可以采用不同的设计方法。您可以构建桌面和移动解决方案一起工作。
例如:用于费用报告过程的人物角色
这些是我们在研究费用报告过程中发现的角色类型、工作风格和偏好。
李-销售人员
几乎总是在移动
与客户见面时,更喜欢使用平板电脑
不能总是连接互联网,所以必须能够离线工作
希望在支出和收据发生后尽快记录下来
Nick -销售经理
几乎总是在移动
只需要一个触摸屏
需要对远程位置提供离线支持
负责批准其所有直接下属的费用报告
Shawna -客户支持
主要使用桌面
通常会导致团队士气方面的支出,并且必须确定包括员工在内的员工
丽贝卡-审计师
需要与所有地点的所有员工互动
偶尔有差旅费用
她主要使用台式机,但更喜欢使用手机
通常可以上网
负责确保全体员工遵守报告程序
Abhay -会计
必须能够检查所有的费用报告和收据
负责确保各项费用报告的执行
处理大量的工作;需要能够快速处理信息
必须能够报告费用是如何平衡到预算的
夏洛特-首席财务官
必须关注整个费用预算并帮助部门经理保持在预算之内吗
出差到不同的办公室,参加外部会议,必须自己支付费用
她可以在办公室、远程或在家使用各种设备工作——台式电脑、平板电脑和手机
并不总是连接到互联网上
当我们特别关注流程中的第一步(实际创建费用报告)时,以下是我们记录的内容。
任务1:创建费用报告
谁(who) | 所有员工 |
工作在哪里发生? | 在办公室,在客户现场,或在路上 |
什么时候做功? | 特别的。一些员工至少每周都这样做。其他人可能一年做一两次。 |
在线或离线? | 目前这是在纸上完成的,但该团队想要在数字上完成。当没有连接可用时,数据输入可以离线完成。销售人员不希望不得不在网上开始记录他们的收据和费用。(例如,他们可能更喜欢在回家的飞机上这样做。) |
设备呢? | 手机、平板电脑、笔记本电脑或台式电脑 |
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/who-is-doing-work
本文:http://jiagoushi.pro/node/1293
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 29 次浏览
【Power平台】Power Apps项目规划阶段(4):识别活动
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 解决业务问题的贡献者
- 记录业务流程
在这个步骤中执行了哪些活动?
写下用户在业务流程的这个步骤中完成任务的活动。了解活动的细节。
在决定活动时,你需要考虑每个活动的因果关系,它们之间的联系,以及它们如何使你更接近你的目标。确定过程的起点,并填写导致目标的活动。
活动可以是顺序的,也可以是并行的,这意味着一个活动在另一个活动完成之前不能发生,或者两个活动可以在流程中同时发生。
例如:填写费用报告
当我们与李、肖娜和丽贝卡交谈时,他们告诉我们这些步骤是:
- 决定提交费用报告。这种情况有时发生在一周或一个月后,有时发生在旅行归来时,有时一旦有了收据就会发生。
- 找到一个空白的副本,或打印,费用报告表格。
- 输入个人信息(姓名、员工ID等)和费用原因。
- 收集收据以获得费用信息(如果需要,上交)。
- 填写每一项的详细信息。
- 弄清楚费用类别和哪些费用需要额外的细节。(通常通过在费用报告手册中查找这些信息。)
- 出差相关费用,列出公司已经支付的日常开支。
- 计算小计和合计。
- 弄清楚哪些收据需要附上,然后用回形针夹在报表上。(通常他们会为自己的记录复印(照片或复印件)。)
- 把表格和收据交给经理(或者走到他们的办公桌前,通过办公室间的邮件,或者邮寄邮件)。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/create-edit-data
本文:https://jiagoushi.pro/node/1294
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 52 次浏览
【Power平台】Power Apps项目规划阶段(5):识别数据和数据操作
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 解决业务问题的贡献者
- 记录业务流程
需要什么数据?
是否有他们开始使用或需要访问的数据或信息?
当他们开始这些活动时,向他们展示了哪些数据(如果有的话)?这些数据从何而来?问问你自己:
- 这些数据来自前一步吗?
- 这些数据来自现有的系统吗?用户需要登录才能访问数据吗?
- 是否从外部系统提取数据,例如市场或天气数据?
例子:
要填写支出报告,员工首先要填写自己的姓名、员工ID、经理姓名和日期;他们收集收据;他们需要访问费用类型列表和每种类型的规则。
数据隐私和许可的考虑
考虑用户执行流程的这些步骤,并询问:
- 他们需要访问哪些现有数据?
- 他们是否需要访问其他用户不应该访问的数据?
- 他们能完成其他用户不能完成的任务吗?
理解用户应该能够访问哪些数据有助于定义解决方案中需要包含哪些安全和隐私控制。
理解用户还有助于确定用户可以看到多少数据。如果用户是管理人员,他们能够看到所有工作人员的所有工作项吗?如果用户是工作人员,他们应该只看到自己的工作项吗?
例子:
- 数据隐私会因使用者角色的不同而有所不同:
- 费用报告的发起者:他们应该只能看到他们自己的费用报告。
- 经理们(尼克):尼克应该只能看到他的直接下属的费用报告。
- 会计:会计应该有权审查所有的费用报告。
数据刷新问题
传入数据多久更改一次?它应该多久刷新一次?这些数据是实时地来自设备或系统,还是这些数据很少变化?应用程序应该多久更新一次新数据?
例子:
来自Azure Active Directory的数据不会经常改变;然而,当人们在组织和报告结构中从一个角色转换到另一个角色时,它有时会发生变化。因此,对于这个应用程序,在用户创建费用报告时查找信息是合适的。没有必要再检查一遍信息。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/what-data-needed
本文:http://jiagoushi.pro/node/1297
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 33 次浏览
【Power平台】Power Apps项目规划阶段(6):识别数据操作
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
理解当前的业务流程
现在应该分解当前正在解决业务问题的业务流程,详细检查流程的每个步骤。
在本节中,你将了解:
- 解决业务问题的贡献者
- 记录业务流程
他们创建或编辑数据吗?
理解这一步中的任务将帮助您回答这个问题,解决方案需要捕获任何数据吗?如果是,需要捕获哪些数据?下面是解决方案捕获的每个数据元素需要考虑的一些事情。
是否存在一种表单?
目前是否有用于捕获这些数据的纸质表单或电子表单?当您考虑屏幕布局和如何捕获数据时,这样的表单可以作为一个很好的起点。
同时,批判性地思考形式:
- 数据元素是否应该以更符合捕获方式的不同顺序显示?
- 表单是否可以被划分为独立的、更小的表单,以允许流程的各个部分并行地发生,而不是一次一个?
捕获哪些数据?
被捕获的数据是什么?叫什么名字?这是数据源的真实名称还是业务的这一部分中使用的公共名称?您可能需要将数据源中的数据名称映射到用户知道的“友好”名称。
数据有层次结构吗?例如,每个费用报告可能有多个费用,并且某些类型的费用需要额外的信息。
从公式或计算中创建什么数据?
是否需要进行计算来创建数据?如果是,计算结果必须存储,还是只在使用应用程序时显示?可以在任何时候重新计算的数据(例如项目总和或计数)可能不需要存储。
例如,我们的费用报告的唯一ID将使用今天的日期和员工姓名来创建;它需要被存储,所以它永远不会改变。我们还将计算费用小计和合计,但因为这些可以随时从报告中的其他数据中重新计算,我们不需要单独保存它们。
需要这些数据吗?
对于流程的这一步,是否需要这些数据来完成流程?如果需要,为什么需要?是否只有在某些情况下才需要数据?
它是什么类型的数据?
要捕获什么类型的数据?
- 自由格式的文本:是否有一个设置的长度是允许的?该字段的输入是否依赖于另一个字段(例如,关联的字段值,如Other的下拉菜单选项)?是否有需要填充的默认条目?文本是否来自其他数据?
- 数字:它是一个百分比吗?是整数吗?是否需要一定数量的小数位?这个数字有允许的最小值或最大值吗?这个数字是否依赖于另一个数字(例如,它不能大于或小于另一个条目)?是否应该提供一个默认的数字,还是一个基于其他条目计算的数字?
- 日期:日期应该使用什么格式?它应该包括日期和时间吗?日期有规定吗(最小或最大值不能在今天之前)?是否计算过(例如,“从今天算起7天”)?是否有需要填充的默认日期?
- 选择:响应应该被限制在一组特定的响应中吗?什么是有效的回应?响应是否依赖于另一个数据元素?是否存在默认选择,还是基于另一个数据元素的默认选择?您是只允许选择一个选项,还是可以同时选择多个选项?
- 图像或视频:应该捕获图像或视频吗?图片或视频是从用户设备上的摄像头捕捉到的吗?这是通过电子邮件发送的图片或视频吗?是否有任何AI应该运行在这个图像(检测元素的图像,例如)?
今天你把数据放在哪里?
在您解决当前的业务问题时,数据从何处捕获?它会回到现有的系统吗?它会进入电子表格吗?它会被捕获吗?
如果数据还没有数字化存储,那么您将为其创建一个数据存储库,这在“数据在哪里?”
另一件需要考虑的事情是,这些数据是否对组织中的其他流程有价值。如果这些数据对其他流程可用,它们是否可以自动执行这些数据?
是否有人在流程的后期使用这些数据?
该过程中是否有后续步骤使用这些数据?他们如何使用这些数据?如果该数据在流程中较早时可用,那么后续的流程是否可以更早启动或并行运行?
有时,自动化流程有助于减少解决业务问题的总时间,因为数据可以更早地获得,并且致力于解决问题的其他参与者可以更早地采取行动。这有助于实现业务流程自动化所提供的业务价值。
还有其他人能从这个过程之外的数据中获益吗?
是否有其他团队或流程可以使用该流程中获取的数据?(不是流程中的后续步骤,而是业务中其他地方可能捕获相同信息或可能使用此信息的流程?)
业务用户有时只考虑他们每天所做的事情。如果您后退一步,您是否看到了将此数据扩展到其他可以自动化的流程的机会?很多时候,流程是手动的,因为另一个区域的流程不具备获取数据的手段。既然这个过程已经被自动化了,那么其他过程是否有机会在这个过程的基础上进行构建呢?
示例:费用报告数据创建
下面是费用报告捕获流程工作表中的一些数据元素。
Data level | Data item | Item type | Editable? | Format allowed | Validation | Default / Calculation |
---|---|---|---|---|---|---|
Expense report | Expense report number | Text | No | Can't be blank | "EXP" + Date (YYYYMMDD) + UserID | |
Expense item | Date of expense | Date | Yes | MM-DD-YYYY | Can't occur in the future | |
Expense item | Type of expense | Choice | Yes | Select from list: Travel, Meal, Hotel, Transportation, Parking, Supplies | Can't be blank | |
Expense item | Amount | Number | Yes | ###,###.## | Can't be blank, can be negative | |
Expense item | Receipt | Image | Yes | JPG, PNG | Required if the amount is greater than $74.99 | |
Expense item | Reimbursable | Yes/No | Yes | Yes/No | Defaults to No | |
Expense detail | Guest name | Text | Yes | Anything | Required for a Meal-type expense where the amount is greater than $75 |
在本例中,要捕获三个级别的数据。(这对于屏幕设计和数据存储设计在设计阶段都非常重要。)
- 费用报告:这些元素在整个费用报告中被捕获一次。
- 费用项目:对于在费用报告中报告的每一项费用,这些要素都被记录下来。多个费用项目可以与同一费用报告相关联。
- 费用明细:这些元素与特定的费用项目(餐饮和酒店)相关联,并有助于分解这两种费用类型。如果费用是餐费,需要填写客人姓名和客人所在的公司。如果支出项目是酒店,则需要支出的类型和金额——而且每一项的金额必须与支出项目的金额相等。
将在应用程序中显示但不会存储在任何地方的数据是这些即时计算:
- 将费用项目合计成费用报告的总数
- 将费用明细合计为一个费用项目的总额
- 计算费用报告的分录数量
- 确定费用报告总额是否超过提交者经理的批准限制
在费用报告过程中获取的数据最终必须在财务系统中过帐。不过,费用报告本身目前并没有存储在网上,而是纸质的。所以没有现有的系统可以把这些数据放进去;我们必须创造一个。
如果我们用数字化的方式来获取这些费用数据,那么这些数据将有助于未来的分析。例如,如果所有员工出差时都住在同一家酒店,采购部门就可以提取费用数据,并可能协商出更优惠的价格。我们将在项目计划中注意到这一点。
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 27 次浏览
【Power平台】Power Apps项目规划阶段(7):识别决定和审批
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
在本节中,你将了解:
- 解决业务问题的贡献者
- 记录业务流程
是否基于数据或要遵循的业务规则进行决策?
数据是否决定任何决策的结果?
- 在这个活动结束的过程中,是否做出了一个决定?有没有一种方法可以让解决方案根据数据自动做出决策?
- 这个决定是否已告知任何人?它是如何传达的?
- 该决定是否决定执行流程的下一个步骤?这是如何传达的呢?
- 你有“如果/然后”的逻辑吗?例如,如果一顿饭花费了75美元或更多,那么员工需要附上用餐收据;如果总金额大于500美元,那么我们的费用报告需要额外的审批。
该决定需要批准吗?
- 流程的下一个步骤开始之前需要批准吗?这些批准是如何获得的?是否有特定的用户或角色可以批准流程的下一步?这个人是否有权限访问该应用程序,或者是否可以使用其他方法(比如向用户发送电子邮件以获得批准,以便继续访问)?
- 如何向流程中的下一个人发出响应警报,以便他们能够继续(或不继续)进行流程的下一个步骤?是否有特定的方式提醒流程中的下一个人
- 当一个工作项因为没有在分配的时间框架内工作而将被升级时,是否有一种方法让用户知道?
提示
当你考虑这些不同的方面时,总是寻找最优的方法来帮助减少对批准的响应时间。
是否需要升级?
- 此业务流程需要升级吗?
- 在某些情况下,是否应该自动升级物品?这个解决方案是否必须在一定的时间范围内完成?如果使用该解决方案的工作人员错过了审批,那么在活动转移到另一个工作人员之前您需要等待多长时间?或者你会再发一个通知吗?
- 用户是否可以将问题升级?
- 如果需要升级,将如何进行?过期的工作项是否浮在顶部待处理?解决方案是否改变颜色,让工人知道一些活动落后于计划?
- 需要生成任何警报或通知吗?
例如:费用报告审批
费用报告流程需要批准。所有销售人员的费用报告都必须经过经理尼克的批准。当员工提交报告时,需要向Nick发送一个警报,以审查和批准费用报告。
我们知道Nick是一个很忙的经理,所以我们应该考虑将等待他批准的费用报告上报超过5天。我们可以考虑几种升级方法:
- 我们可以发送另一个警告给nicke -也许我们考虑发送一个文本信息而不是电子邮件。
- 如果Nick仍然没有回复,也许我们会将报告发送给Nick的经理——或者甚至是abhai——来审查和批准。
讨论:请加入知识星球【快速和低代码开发】或者QQ群【11107767】
- 42 次浏览
【Power平台】Power Apps项目规划阶段(9):优化您的业务流程
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
现在您已经检查了整个业务流程,挑战自己来优化它。简化流程可以避免太多步骤让员工不堪重负或感到困惑。
一些有助于优化流程的方法:
- 从目标开始。确定您希望通过业务流程实现的目标。这些目标应该提供您对未来过程的希望的总体远景。
- 考虑一下是否可以更有效、更便宜或更高质量地完成某件事。
- 寻找关键的绩效指标,以确定哪些运作良好,哪些需要改进。
- 后退一步,通过与您的团队共享流程文档来获取输入。
- 与管理层共享流程文档,以获得更高层次的视角,并为流程中的每个步骤提供透明的责任。
- 从可能从流程中受益的用户或客户的角度来看您的流程,并考虑可以改进他们的体验和总体满意度的方法。
一些关键问题:
- 是否可以将剩余的活动从流程中删除,以提高效率或质量,或降低成本?
- 如果cut活动对整个业务很重要,它是否可以在单独的业务流程中处理?
- 是否可以通过改进步骤来更好地实现目标?
- 步骤的顺序可以重新安排吗?
- 可以组合步骤吗?
- 此流程中的步骤可以并发运行吗?
- 你能减少执行流程所需的人员数量吗?
- 你能否改变通知下一个人的方式,让他们更快地做出反应?
- 流程的哪些方面可以进一步自动化?如:
- 自动捕获数据与手动输入
- 基于数据的自动化决策
- 自动执行动作
- 使用人工智能代替人类的注意力
示例:优化费用报告流程
我们回顾了当前的费用流程,发现了一些明显的改进:
- 整个过程无纸化。(我们注意到节约和环境影响也是项目的效益。)
- 在将报告提交审批之前,进行所有可能的遵从性检查。(大大减少返工和端到端处理时间。)
- 当费用报告提交时,自动查找和添加会计代码。
- 使会计部门能够将批准的费用转移到财务系统中,而无需重新输入任何数据。
- 根据数字数据自动创建每周费用报告。
夏洛特正在考虑进一步的方法来优化预算审查过程。丽贝卡正在研究如何利用人工智能优化半年一次的审计。
我们建议的优化流程如下图所示。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/optimizing-business-process
本文:http://jiagoushi.pro/node/1300
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 53 次浏览
【Power平台】Power App项目规划阶段(8):识别决定和审批
计划是应用程序制作过程中最重要的部分。在计划时,你应考虑以下事项:
- 这个应用程序将解决什么问题?
- 谁会使用这个应用程序?
- 它将满足用户哪些目标和目标?
知道答案可以帮助你在设计应用程序时保持正轨。我们很容易陷入将应用程序作为目标的陷阱,而不是解决问题。
在本节中,你将了解:
- 确定要解决的业务问题(用例)
- 深刻理解业务流程
- 使用您的解决方案优化业务流程
- 决定是否值得自动化这个过程
- 创建项目计划
在本节中,你将了解:
- 解决业务问题的贡献者
- 记录业务流程
这个任务如何传递给下一个任务?
现在是时候转移到流程中的下一个任务了。那是什么样子的?
它是否基于此任务所使用的数据?下一个任务是否会根据数据而有所不同(例如,超过500美元的费用报告需要额外的审批层)?
下一个任务是由完成这个任务的同一个人完成的吗?下一个任务是由另一个人完成的吗?那个人怎么知道他们可以开始下一个任务呢?
开始下一个任务!
现在已经检查了这个任务,继续流程中的下一个任务—从任务是什么开始?-直到你检查完所有的任务。
可视化地映射流程
下一步是绘制您试图解决的用例的业务流程。
提示
您可以在纸上绘制地图,也可以使用Visio或PowerPoint等工具。
这个业务流程不仅应该包括与您试图创建的应用程序直接相关的步骤,还应该包括之前和之后的步骤,这样您就可以看到应用程序是如何融入整个业务流程的。
使用您的地图与您的团队确认您已经准确地捕获了业务流程。
下面是一个示例业务流程图:
按顺序列出每个活动,并将其链接到流程的下一部分:
- 从实现目标的第一件事开始。
- 画一条线到一个方框。用从该事件到您的目标所需的第一个活动填充此框。
- 当你到达一个需要做出决定的点时,在必须做出的决定周围画一个菱形。通常这是一个对/错的问题。菱形中应该有两行,每一行都指向将根据决定发生的活动——一行表示“真”,另一行表示“假”。
- 按顺序链接每个活动。有些可能在您的企业的不同部门同时运行。
- 以达到你的目标的活动达到高潮。
您还可以向您的地图添加数据,例如花费的时间或任务的成本。然后你就可以比较并了解哪些方面需要改进。你也可以用它来比较新流程所节省的金钱或时间。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/visually-map-process
本文:http://jiagoushi.pro/node/1299
讨论:请加入知识星球【快速和低代码开发】或者微信【it_training】或者QQ群【11107767】
- 43 次浏览
【Power平台】Power应用程序和传统应用程序开发方法的区别
与传统的app开发相比,Power Apps项目在两个关键领域有所不同:
- 组织的不同成员如何一起工作来创建解决方案
- 开发方法
不同的人开发了应用程序
Power Apps是一个同时惠及“专业开发者”和“普通开发者”的平台。
在传统的开发环境中,只有专业开发人员可以参与实际的应用程序制作。而在Power应用程序中,每个人都可以通过使用以前只有专业开发人员才能使用的高级功能来构建自己需要的应用程序。Power Apps通过让用户无需编写代码就可以构建功能丰富的自定义商业应用程序,从而“平民化”了定制商业应用程序的构建体验。
开发方法的差异
等传统应用程序开发的“瀑布式”模型,在流程流向下从设计阶段到释放,有一个很长的时间用户实际看到工作应用。因此,有风险增加之间有差距用户最初请求的要求和应用程序开发人员创建。
即使使用更现代的开发方法,如敏捷开发,在第一个最小可行产品(MVP)交付给用户之前也可能要经过很长一段时间。
使用Power Apps,您可以快速创建应用程序的可用版本,因为Power Apps提供了WYSIWYG(所见即所得)的开发体验。用户在开发过程的早期就体验到实际工作的应用程序,如果出现新的需求,可以将新特性添加到下一个版本中。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/app-development-approaches
本文:http://jiagoushi.pro/node/1271
讨论:请加入知识星球【快速开发和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 64 次浏览
【Power平台】简介:计划一个Power Apps项目
如果你刚刚开始使用Power Apps程序,你可能会发现在空白屏幕上创建一个应用程序有点难以应付。
你可能已经有了一个想法,但也许你还没有充分考虑创建一个应用程序所需的所有细节和信息。你可能是一个从未设计或创建过应用程序的商业用户或IT专业人士。或者您可能是一名完整的堆栈开发人员,想知道使用Power应用程序与传统应用程序开发有何不同。
在这些文章中,无论您的背景如何,或者您对应用程序开发有多少了解,您都将了解到如何通过使用Power Apps将您的想法转化为一个完全可行的解决方案。
制作应用程序的基础如下:
- 计划:确定谁,什么,何时,为什么。
- 设计:为数据建模(决定你需要和创建的数据如何组织、访问和存储),并勾画出应用程序屏幕的草图。
- Make:创建应用程序。
- 测试:让用户试用该应用程序。
- 部署和改进:将您的应用程序交付到用户手中,获得反馈,并决定更改或添加什么。
在本系列文章中,您将详细了解这些步骤。我们提供了一个详细的示例——一个费用报告应用程序——来帮助阐明这些概念。
如果你是一个销售,你会发现这些文章帮助你计划和执行可能是你的第一个应用项目:
- 无论你是计划自己创建一个应用程序,还是制定需求,将其传递给另一个应用程序开发者,计划阶段都将对你有所帮助。你会非常熟悉很多计划步骤;有些可能对你来说是新的。
- 设计阶段>概念设计部分将帮助您开始将业务流程转化为应用程序的屏幕和功能。
- 对于那些计划制作自己的应用程序的人,我们已经尝试让>架构设计、制作、测试、部署和细化阶段的章节更容易为新的应用程序制作者所遵循。
如果你是一个专门的应用程序开发者,而不是业务流程方面的专家,你会发现这些文章也适合你:
- 在面试你未来的app用户时,遵循规划阶段的步骤,帮助你深入了解业务流程。
- 设计阶段、制作阶段、测试阶段以及部署和细化阶段都包括Power应用特定的信息,以帮助您的项目获得成功。
如果你是一个“全栈”开发者:
- 请参阅下一篇文章,Power应用程序和传统应用程序开发方法的区别。
- 然后,如果你已经熟悉了app项目规划,你可能想直接跳到设计阶段>建筑设计部分,这是Power平台特有的材料开始的地方。
原文:https://docs.microsoft.com/en-us/powerapps/guidance/planning/introduction
本文:http://jiagoushi.pro/node/1268
讨论:请加入知识星球【快速开发和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 97 次浏览
【低代码】Airtable 审查:云中灵活的低代码/无代码
Airtable 可能看起来像云中的电子表格,但实际上它更像是云中的关系数据库,拥有自己的开发环境。这过于简单化了:Airtable 有多个开发环境,从非程序员到高级用户再到 JavaScript 程序员,各种技能水平不一而足。
作为云中面向数据库的低代码/无代码开发环境,Airtable 与市场上大约 400 个低代码/无代码应用程序构建器中的许多竞争,当然还有三大主要的云特定低代码/无代码应用程序构建器、Amazon Honeycode、Microsoft Power Apps 和 Google Cloud AppSheet。 Airtable 并没有真正与谷歌表格等基本的云电子表格竞争。
Airtable 概念
Airtable 本质上是电子表格拖动中的数据库。一个 Airtable 工作空间,基本上是一组协作者之间共享的项目集合,包含一个或多个“基础”,其中 base 是数据库的缩写。每个库包含一个或多个表,每个表包含记录(行)和字段(列)。 Airtable 表具有同质字段,类似于关系数据库,与 NoSQL 数据库不同。
Airtable 表格可以显示在各种视图中。与关系数据库视图不同,Airtable 视图不仅仅是数据的过滤子集。除了允许记录过滤器和隐藏字段之外,Airtable 视图还支持用于不同目的的不同格式:网格视图、日历视图、看板视图、图库视图、甘特视图、时间轴视图和表单视图。正如我们稍后将看到的,Airtable 还支持公式、自动化和应用程序。
Airtable 与 30 多种其他产品集成。此外,您可以使用 Zapier、Workato、Integromat 或 Automate.io 将 Airtable 连接到超过一千个网站和应用程序。
如果这让您想起 Microsoft Access、Claris FileMaker 或 Alpha Anywhere,欢迎加入俱乐部。基本区别在于 Airtable 开发环境是在线的,而不是基于桌面的。
Airtable 基础的默认视图是网格。请注意左下方的视图列表和右侧的起点。
Airtable 有什么新功能?
2021 年是 Airtable 创新的重要一年。以下是重点。
Interface Designer 是公开测试版中提供的一项功能,可让团队使用其基础中已有的数据构建可视化、交互式界面。通过为您的队友创建自定义界面,您可以显示对他们至关重要的信息并避免分散注意力的细节。
Airtable 添加了两个新视图,甘特视图和时间轴视图。两者之间的区别在于甘特图包含依赖关系,因此您可以使用它来规划一个阶段需要完成另一个阶段的项目,这在施工中经常发生。
更简单的视图管理包括收藏视图和可折叠视图部分。移动改进包括新的移动视图、新日历、@提及和移动数据更新。
外部源同步让您可以不断地从外部平台提取数据,将其直接集成到您的 Airtable 工作流程中。同步集成包括 Salesforce、Jira Server 和 Jira Data Center、Zendesk、GitHub Issues、Google Calendar、Google Drive 和 Box。
新的自动化功能包括在指定时间触发自动化并生成电子邮件预览、在自动化中使用公式和查找的能力,以及更清洁、更简单的自动化 UI。管理面板得到了简化,性能和监控得到了改进,基础管理设置也得到了改进。
开始使用 Airtable
开始使用 Airtable 的三个选项是从头开始、导入数据表或从模板开始。从头开始假设您知道要构建什么,而我目前不知道。导入数据表(请参见下面的第二个屏幕截图)假设您拥有与要构建的内容相关的数据,我目前也没有,尽管我想我有一些随机的 CSV 文件或 Excel 表。我可以在紧要关头使用。剩下的就是 Airtable 的模板,其中有数百个。 (请参见下面的第一个屏幕截图。)如果您找不到适合您用例的受支持产品模板,您也可以尝试 Airtable Universe 中社区提供的模板。
我选择了官方的 Project Tracker 模板,该模板由半小时录制的网络研讨会提供支持。正如您在下面的屏幕截图中所见,此模板演示了许多有用的视图和应用程序。
使用模板是了解如何构建 Airtable 基础和应用程序的推荐方式。 “精选”类别包含十几个有趣的模板。
Airtable 项目跟踪器模板显示其“所有项目”网格视图和高级仪表板应用程序。
Airtable 项目跟踪器模板显示其“所有项目”网格视图和高级仪表板应用程序。 ...
单击上一个屏幕截图中显示的“来自客户的记录的链接”会显示一个使用“客户”表的选择视图。
Airtable 公式、脚本和自动化
Airtable 具有许多功能,使其比无代码应用程序构建器更强大。公式(见下面的第一个屏幕截图)是一种低代码功能,可能涉及对字段进行操作的函数、数字运算、逻辑运算和文本运算。 Airtable 公式像数据库应用程序一样通过名称来引用字段,而不是您在电子表格中期望的位置。
脚本是真正的 JavaScript 程序(参见下面的第二个屏幕截图),尽管它们往往很短并且专注于与您的 Airtable 基础一起工作。 Airtable 提供 JavaScript 类和方法来访问和更新你的基础数据。
自动化允许您直接在 Airtable 基础中配置自定义工作流程。这将使您和您的团队通过自动执行重复性任务、提高沟通效率和降低总体误差范围来节省时间。自动化从一个触发器开始,然后是一个或多个操作。操作可以在 Airtable 内部或外部操作,例如发送电子邮件或创建 Salesforce 记录。
Airtable 公式操场。 这个模板库是 Airtable 支持的 98 种功能的方便参考。
Airtable 脚本使用 JavaScript 和 Airtable API 来让您操作您的基础并自动执行重复性任务。
Airtable 界面设计师
Interface Designer,目前处于开放测试阶段,是一个无代码的拖放式构建器,用于从您的基础派生的可视化和交互式界面,取代了 Airtable 的旧 Blocks 工具。 Interface Designer 提供了一些方法来简化工作流程、可视化数据并为跨组织的不同受众定制信息。
创建界面(参见下面的屏幕截图)包括选择布局、使用元素和字段在画布上进行设计、使用属性表自定义您选择的元素、预览设计,然后发布和共享界面。
当前的四个布局选项是记录审查(显示一张表中的许多记录的详细信息)、仪表板(摘要和图表)、记录摘要(显示一条记录的详细信息)和空白画布。
Interface Designer 确实处于测试阶段,尽管基于 Web 的设计画布看起来很可靠。在 Android 上测试共享界面时,我遇到了多个错误,这些错误都没有出现在桌面浏览器中。
使用 Interface Designer 创建 Airtable 界面首先要选择四个界面之一。
创建 Airtable 接口的第二步是连接表。 您可以自己填写数据选项或从视图中复制它们。
连接到表格后,您可以选择要在此界面上显示的元素和字段。
Airtable 界面编辑器。 除了编辑界面外,您还可以从此屏幕发布和共享。
在 Android 上查看 Airtable 界面。这是在横向模式下,因为纵向模式下的渲染没有水平滚动。
云中的低代码/无代码
正如我们所见,Airtable 是一个云托管、可通过网络访问的数据库,表面上看起来像电子表格,但提供了数据的多个视图。它具有无代码、低代码和成熟的 JavaScript 编程开发选项。它还为常见应用程序提供了数百个模板。
Airtable 的定价(Pro 计划每位用户每月 20 美元)是合理的,因为 Airtable 只对拥有一个或多个基础的编辑或评论权限的用户收费。另一方面,Amazon Honeycode Pro 对于 20 名团队成员每月收费 29.99 美元,尽管 Honeycode 是无代码的,并且只有 18 个最常见用例的模板。 Google Cloud AppSheet Core 每位用户每月 10 美元;创建 AppSheet 应用程序的 Google Workspace Enterprise Plus 用户将有权免费创建具有 AppSheet Core 功能的应用程序并将其发布给同一组织的其他 Google Workspace Enterprise Plus 用户。
在开始计算团队规模的比较成本之前,我必须指出,每用户费用很少是选择低代码应用程序构建器的决定因素。关键因素通常是适用性、易于开发、上市时间以及与现有基础架构的兼容性。尽管 Airtable 在所有这些标准中的评价都很高,但您仍然需要根据自己的用例、团队的技能和公司的基础设施来评估它。
成本
请参阅 https://airtable.com/pricing。免费计划:有限的基本大小(1,200 条记录,2GB 附件空间),手动同步,视图和应用程序类型的限制。 Plus 计划:10 美元/座/月、有限的基本大小(5,000 条记录、5GB 附件空间)、自动同步、对视图和应用程序类型的限制。专业版计划:$20/seat/month,无限的应用程序,大的基本大小(50K 记录,20GB 附件空间),所有视图和应用程序类型,权限。企业计划:联系销售、最大基础规模、SSO、企业范围的管理、优先支持。
平台
Airtable 可能看起来像云中的电子表格,但实际上它更像是云中的关系数据库,拥有自己的开发环境,可以满足从非程序员到高级用户再到 JavaScript 程序员的各种技能水平。
优点
基于浏览器的 UI 中的关系数据库功能
类似电子表格的初始外观
无代码、低代码和 JavaScript 编程/定制
用于常见用例的数百个模板和加载项应用程序
“基地”的多种观点
缺点
iOS 和 Android 应用程序往往落后于基于 Web 的功能
原文:https://www.infoworld.com/article/3647212/airtable-review-flexible-low-…
- 135 次浏览
【低代码开发】ORACLE APEX与MySQL
大约10年前,我试图在MS SQLServer上构建APEX应用程序。这是可能的,但表现不令人满意。(你可以在这里阅读这篇文章)……
今天我将介绍如何使用APEX和MySQL。显然,我不认为只在MySQL上构建APEX app是一个好主意。它可以作为Hybryd解决方案的一部分(Oracle + MySQL或Postrgres)。
我的描述涵盖了与MySQL的集成。从而实现了基于MySQL数据的交互式报表和CRUD表单的APEX应用。
描述包括两个部分:第一部分是一个MySQL站点,第二部分是一个APEX应用程序部分
先决条件:
- Oracle 11 g +
- 顶18.1 +
- MySQL / Postgres
- RestSQL
i . MySQL部分
1. MySQL包含一个apexutil表的简单apexdb数据库。
2. 要使用此数据库,请安装RestSQL。
RestSQL是什么?RestSQL是一个用于HTTP客户机的开源的、超轻量级的数据访问层。RestSQL是经典三层体系结构(客户机、应用程序服务器和数据库)的中间层的持久性框架或引擎。它也可以作为Java库嵌入到任何中间层中。在项目主页上,您可以找到一些分发类型。我选择WAR是因为我可以将它部署在Tomcat上,与我使用的orb相同。
Instalation:
1. 编辑$TOMCAT_HOME/conf/context.xml文件,如(添加这行):
<Parameter name="org.restsql.properties" value="/etc/opt/restsql/restsql.properties" override="false" />
2. 在/etc/op /restsql/路径中创建文件 restsql.properties ,并粘贴到此信息中:
database.password = MySQL_Pass
database.user = root
sqlresources.dir = /etc/opt/restsql
database.url = jdbc:mysql://localhost:3306
3.下一个放置restql-X.X.XX.war文件,新名称为restql.war在$TOMCAT/webapps目录中,并弹跳TOMCAT服务器。
现在尝试连接到RestSQL模块:转到http://localhost:8080/restsql。如果你连接成功,创造资源。转到工具菜单,清除子目录字段,并在数据库字段中使用数据库名称,在我的例子中是apexdb。然后单击Generate按钮。在此过程中,RestSQL扫描MySQL数据库并基于表创建webservice定义。
现在是检查特定http端点的时候了。在RestSQL模块中,转到资源菜单http://localhost:8080/restsql/res/ 并单击“query/json”链接。
如果您看到json文本下面的结果,那么您就到了。你已经准备好了MySQL网站。接下来我们将转向Oracle这边:
{ "apexutils": [
{ "apx_id": 1, "apx_service": "Development", "apx_percentage": 75 },
{ "apx_id": 2, "apx_service": "Apex hosting", "apx_percentage": 3 },
{ "apx_id": 3, "apx_service": "Apex system sustain", "apx_percentage": 15 },
{ "apx_id": 4, "apx_service": "Other", "apx_percentage": 7 },
]
}
II Oralce APEX
要使用Web源作为交互式报表源,请准备“远程服务器”和“Web源模块”。转到共享组件并单击右侧侧边栏中的远程服务器。下一步使用创建按钮和填写字段:
准备“远程服务器”
创建Web源模块
然后创建Web源模块。转到共享组件并单击Web源模块链接。使用创建按钮,并遵循向导步骤:
步骤1(Step 1)
Step 2
Step 3
Step 4
Click Advanced !
Step 5
Step 6
现在您可以创建交互式报表了。没有基于外部数据构建IR的特殊步骤。在最后的向导步骤中设置数据源“Web source”并在Web source模块字段中选择“APEXUTIL”。
报告准备好了,但是如何操作MySQL数据从APEX上下文?
在APEX 18.1没有表单向导来构建基于Web源模块的表单。只有一个向导来构建基于“遗留Web服务引用”的表单/报告:(我希望它是临时状态,在未来会得到增强。(也许是我没有找到它……也许您知道如何使用新的“Web源模块”作为表单源?)在这种情况下,最好的解决办法是手工创建表单。转到用于构建IR的页面。添加静态内容区域,有4个项目和1个按钮,像这样:
P2_ID - hidden
P2_SERVICE - text field
P2_PERCENTAGE - text field
P2_START_DATE - data picker
添加编辑 (按钮)-操作(提交页面)
IR区域也必须改变。添加一个新的列(动态项目/复选框/)和删除按钮。APX_ID列也必须更改,使其作为一个链接。
更改APX ID列。
进入APX_ID列属性->链接,如下设置:
添加“检查”新列
转到交互式报表区域->本地后处理->类型:SQL查询,粘贴此查询:
SELECT
APEX_ITEM.CHECKBOX2(1,APX_ID) as CHECKS,
APX_ID as APX_ID,
APX_SERVICE as APX_SERVICE,
APX_PERCENTAGE as APX_PERCENTAGE,
APX_START_DATE as APX_START_DATE
from #APEX$SOURCE_DATA#
更改检查列的安全性部分->转义特殊字符->号
添加删除按钮-操作(提交页面)
保存更改并从IR操作菜单中选择检查列。现在页面看起来像截图:
UI准备好了,现在添加进程:
创建3个过程:
1. MySQL CRU操作
来源:PL / SQL代码
条件:服务器端条件->时按钮按下->附加物
declare
l_json clob;
l_response clob;
l_http_method varchar2(128);
parsed_json apex_json.t_values;
begin
/* Start JSON request preparation */
apex_json.initialize_clob_output;
apex_json.open_object;
apex_json.open_array('apexutils');
apex_json.open_object;
if :P2_ID is not null then
/* Update process */
l_http_method := 'PUT';
apex_json.write('apx_id', :P2_ID);
else
/* Insert process */
l_http_method := 'POST';
end if;
apex_json.write('apx_service', :P2_SERVICE);
apex_json.write('apx_percentage', :P2_PERCENTAGE);
apex_json.write('apx_start_date', to_char(to_date(:P2_START_DATE,'DD-MON-YY'),'YYYY-MM-DD'));
apex_json.close_object;
apex_json.close_array;
apex_json.close_object;
l_json := apex_json.get_clob_output;
/* HTTP request preparation. ACL must be set */
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/json';
l_response := APEX_WEB_SERVICE.MAKE_REST_REQUEST(
p_url =>'http://192.168.56.101:8080/restsql/res/apexutil',
p_http_method =>l_http_method,
p_body =>l_json) ;
end;
2. MySQL 删除操作
来源:PL / SQL代码
条件:服务器端条件-按下按钮时> ->删除
declare
l_json clob;
l_response clob;
l_http_method varchar2(128);
parsed_json apex_json.t_values;
begin
/* Start JSON request preparation */
apex_json.initialize_clob_output;
apex_json.open_object;
apex_json.open_array('apexutils');
/* Start process dynamic items. Read checked checkboxes */
FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP
apex_json.open_object;
apex_json.write('apx_id', APEX_APPLICATION.G_F01(i));
apex_json.close_object;
END LOOP;
apex_json.close_array;
apex_json.close_object;
l_json := apex_json.get_clob_output;
/* HTTP request preparation. ACL must be set */
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/json';
l_response := APEX_WEB_SERVICE.MAKE_REST_REQUEST(
p_url => 'http://192.168.56.101:8080/restsql/res/apexutil',
p_http_method => 'DELETE',
p_body => l_json) ;
end;
3.清除会话
类型:清除当前页面上的所有项目
条件:服务器端条件->时按钮按下->附加物
完成了!:)
如果你想看看它是如何工作的,请观看视频:
原文:https://apexutil.blogspot.com/2018/07/oracle-apex-with-mysql.html
本文:http://jiagoushi.pro/node/1183
讨论:请加入知识星球【仙翁快速和低代码开发】或者QQ群【1061766808】
- 271 次浏览
【快速软件开发】从零到 MVP:我用来快速构建应用程序的 3 个工具
上市时间对于 MVP 至关重要:如果你需要一个多月的时间来构建(每周工作 40 小时),那么它就不再是 MVP,而是产品。有时,提前一个小时节省十个小时是值得的。
如果您想更改/添加某些内容,请随时发表评论。我一直在寻找学习。
这是我用来加快开发速度的 3 个工具。
1.Postman
(我知道这部分是对 Postman 的热烈评论——我没有赞助,这篇文章也没有。我只是认为这是一个很棒的工具。)
Postman 在开发者社区中无处不在。我不知道有多少开发人员在没有它的情况下编写服务器端代码。它出色的 UI 和易用性使其成为调用 API 的最快方式。每当我启动我的应用程序时,当应用程序启动时,我一定要在另一个窗口中打开 Postman,因为它会派上用场。
但在我见过的所有使用 Postman 的开发人员中,几乎所有人都只使用 Postman 的基本功能集。如果你只打开 postman 来发送 HTTP 请求,你就会错过它的一些最佳功能。
这不会是关于 Postman 的教程(如果您想要关于如何有效使用 Postman 的教程,请发表评论!),但我确实有一些功能,如果您正在尝试,您可能想看看让自己成为 MVP 开发机器。
服务器模拟
我最近的应用程序让我在后端花费一秒钟之前就构建了我的整个前端。我发现前端首先,对我来说,是要走的路:它帮助我遵循 YAGNI(你不需要它),因为我在后端构建的路线只是我需要的路线:我的模型有什么数据我需要而且不需要额外的,并且创建的功能很精简,只做我要求它做的事情。
这里有一些开销,但我认为快速开发的关键是先花 10 分钟,以便在以后的开发中节省 10 小时。
Collections
Postman 系列有两大好处。第一个是易于调用 API。如果您将路由添加到调用您的(真正的!)后端的集合中,您不必担心进入您的 swagger 文档或找出您需要的确切参数。
对我来说,我将身份验证路由添加到集合中,这为我节省了几个小时。我没有找到有效的 JWT,也没有每次都记住用户名和密码,而是打开 postman,单击集合中的路由,然后单击发送。繁荣,有效的访问令牌直接送到您的手中。现在只需将其保存为变量(至少,直到令牌过期),现在您可以访问任何内容。
另一个很大的好处是与队友分享——如果您希望将其他开发人员加入您的应用程序,您可以将您的收藏发送给他们,并附上每条路线的评论、整个收藏的注释等,它可以成为一个很棒的知识的来源。
环境
在 prod、beta、local、QA 等环境之间切换从未如此简单。说够了。
2. GraphQL (Hasura, Apollo, etc.)
再说一遍——我们希望加快开发速度,如果 GraphQL 不是专门为此而设计的,我会被诅咒的。
大多数应用程序都属于 CRUD 命名空间,即使它不属于(游戏、通信),您也可以保证在您的应用程序的某个地方具有 CRUD 功能。节省为每个模型编写 PUT、GET、PATCH、POST、DELETE 路由的时间。 REST 有一些主要缺陷,即缺乏灵活性。
GraphQL 让使用 API 变得简单。我使用 Flutter Ferry(显然是 Flutter 特有的,但 Apollo 是大多数其他应用程序类型的类似客户端),我非常高兴。能够跳过我的整个服务层并将 GqlConsumer 小部件直接添加到 UI 中,并且仍然保持它是一个干净的模式,这让我的心融化了。我可以通过询问我想要的字段来节省大量时间和代码,而不必写出 /api/changeName/ 路由并定义输入、功能、身份验证等。
使用 Ferry,我可以指定是否要访问缓存,或者是否要实际发出 API 请求。这很有帮助,因为我不需要本地缓存层——Ferry 为我们构建了它。我是本地缓存 SQLite 的倡导者,现在仍然支持很多事情,但是在完全理解了 GraphQL 本地缓存之后,我把它完全撕掉了。 GraphQL 在一半的代码中完成了我使用 Moor 所做的一切。我不需要存储库层——我只需使用 .cacheOnly 进行查询,而无需手动进行任何缓存。
GraphQL 还有助于文档:描述整个模式的单一路径可以帮助任何想要添加新开发人员或记住他们昨晚做了什么的人更容易。
但是,如果你是从头开始编写 GraphQL 后端,我会认为这是一个巨大的麻烦。如果您打算走这条路线,我建议您使用 Apollo 或 Hasura(我使用的)——它可以节省您的时间。如果你想以便宜的价格构建你的 MVP,Hasura 是开源的,你可以在 Heroku 上免费运行它。
3. Monorepo
好的,所以这更像是一种设计模式,而不是一种工具——但请留在这里。
我的所有代码都在一个单一的仓库中。 我的回购看起来像这样:
App | - API gateway | - Lambdas (actually Cloudflare Workers but they are less known) | - Hasura | - Frontend
我在每个子目录中都有一个带有这两个命令的 Makefile:
- Make Run:在本地运行该应用程序
- Make Test:测试该应用程序
这样做有两大好处:
应用启动速度
在 App 目录中,该 Makefile 使用 npm 同时运行所有其他 makefile。 这是其中的一个片段:
你可以看到我在它的括号(即[WORKER])中得到了每个进程,它有自己的颜色,(我已经记住了这一点以便于跟踪)所以不难看出哪里发生了错误。
这样做的真正好处是启动应用程序的速度。每次在根目录中执行 make 运行时,我都会起鸡皮疙瘩。现代应用程序是高度分布式的。不管你喜不喜欢,你至少要为你的应用运行一个 s3 存储桶。您不必担心启动应用程序需要 15 分钟。如果您是一名斗志旺盛的 MVP 开发人员,只要有机会,您就会进行开发——这可能是您在家活动间隙的 30 分钟休息时间。你不应该花一半的钱来启动你的应用程序。
CI/CD
用这个系统构建管道非常简单。如果您只对一个部分进行更改,那么在每次推送时测试和部署应用程序的每个部分可能有点浪费,但您可以获得一些高级 Github 操作脚本,该脚本仅在某些文件夹更改时才运行操作。对我来说,我让我的 github 操作运行我的 make 测试,然后在每次推送时进行部署。
我确实认为 MVP 需要测试和 CI/CD。设置简单的东西只需要几天时间。错误对 MVP 来说可能是致命的,如果用户看到严重错误,他们就会拒绝用户——测试是必要的。对于您无法通过测试捕获的错误:您希望能够尽快部署更改,这样如果用户在凌晨 2 点打电话给您说存在不允许他们使用应用程序的错误,您可以在几分钟而不是几小时内进行更改和部署。
组织效益
我只是在 VSCode 中打开我的 monorepo 并开始破解。无需打开许多窗口或项目——如果我想进行前端更改,我可以打开该文件夹并进行更改。如果我想进行后端更改,则适用相同的过程。
就是这样了!我用来加快开发速度的 3 种工具。
再说一次,我也很想听听你的建议。如果您认为我可以做得更好,请告诉我!如果有我应该知道的过程或程序,请告诉我!
原文:https://levelup.gitconnected.com/from-zero-to-mvp-3-tools-i-use-to-buil…
- 78 次浏览
低代码战略
- 27 次浏览
【低代码】为什么是低代码? 低代码平台和开发的好处
低代码是一种快速开发应用程序和自动化流程的新方法。出于一些实际原因,团队发现它特别有用。本文解释了为什么现在学习低代码开发是一个好主意,并展示了低代码如何帮助解决 IT 行业的一些最大挑战。
数字化转型
我们生活在互联网和数字技术加速业务转型的时代。公司的唯一目的是以最有效的方式为客户增加更多价值。正如 Salesforce 所说:“数字化转型是使用数字技术创建新的或修改现有的业务流程、文化和客户体验以满足不断变化的业务和市场需求的过程。这种在数字时代对业务的重新构想就是数字化转型。”
连接人员、消除数据孤岛、建立数据文化、通过自动化消除手动流程、赋予员工权力、实现移动体验、利用物联网——这些都是在我们眼前发生的数字革命的例子。
COVID-19 大流行进一步放大了这些最重要的变化,COVID-19 大流行在许多行业中起到了数字促进剂的作用。业务连续性和员工安全突然被添加到地球上几乎每个组织的管理委员会的战略议程中。
缺乏能力
面对如此巨大的变化,IT行业无法照常进行。没有足够的认证开发人员来响应正在进行数字化转型的组织的业务需求。
据微软称,在未来五年内,全球劳动力可以吸收大约 1.49 亿个新技术导向的工作岗位——软件开发在这一预测中占据最大的单一份额。
低代码
低代码是一种软件开发方法,只需很少或不需要编码即可开发应用程序和自动化流程。
低代码开发平台使用具有简单逻辑和拖放功能的可视化开发环境,而不是传统的编码语言。这种直观的工具允许没有正式编码或软件开发知识的用户创建用于多种用途的应用程序——例如移动和商业应用程序。
这类非专业开发人员——通常是来自业务部门的用户——被 Gartner 称为“公民开发人员”。
低代码抽象和自动化应用程序生命周期的每一步,以实现各种软件解决方案的快速交付。它打破了传统的业务和 IT 孤岛,促进持续协作。
低代码的好处
虽然增加 IT 劳动力的需求无疑是扩展低代码框架和平台的一个重要因素,但它绝对不是唯一的,甚至不是最重要的。
上市时间
低代码开发允许组织更快地开发和应用更改。创建低代码解决方案所需的技术技能水平远低于传统开发,因为这些工具提供了图形设计环境。此外,新应用程序的实际创建者通常来自业务部门,而不是 IT。它大大缩短了开发周期,增加了新开发的应用程序满足业务需求的机会。
降低成本
更短的上市时间加上对技术能力的更低要求仅仅意味着新模型更具成本效益。 Forrester 在其 Power Apps 的总体经济影响™ 中估计:“与传统方法相比,使用 MS Power Apps 开发应用程序的平均成本降低了 74%”。
减少 IT 积压
低代码平台有助于弥合 IT 和业务团队之间的差距,使他们能够更快地解决影响公司的实际问题。
使用这种方法,业务团队可以创建自己的应用程序,而无需等待专业的开发人员/IT 部门。因此,降低了 IT 团队的压力——减少了 IT 应用程序的积压,并提高了技术团队对通常被视为成本中心而不是变革推动者的看法。
低代码的其他好处可能包括:提高安全性、提高 IT 生产力、减少影子 IT 和减少项目失败。
这些好处在多项研究的结果中得到证实。以下是 Outsystems 在 2020 年进行的研究结果。
最近,作为传统软件开发的快速便捷替代方案,低代码平台变得越来越流行。专业开发人员和公民开发人员都可以使用低代码平台创建应用程序,以满足对新应用程序和流程自动化的业务需求,从而实现和加速其公司的数字化转型。
需要注意的是,低代码不会降低专业软件开发人员的价值或重要性。相反,低代码使开发人员能够更快地创造价值——通过专注于用户体验而不是可以自动化的技术任务。
市场增长
鉴于使用低代码方法的所有好处,难怪如今越来越多的公司正在应用它。 Gartner 估计,到 2024 年,低代码/无代码应用程序平台将占所有应用程序开发的近 65%。这意味着 2024 年创建的大多数应用程序将使用低代码平台和工具开发。
此外,Gartner 预测,2021 年全球低代码开发技术市场将增长 23%。
结论
我们生活在一个动态变化的时代。数字和业务转型的空前加速——仅由大流行推动——给全球几乎所有组织带来了巨大压力。
低代码和无代码技术似乎是至少应对当前一些挑战的正确答案。 COVID-19 大流行的经济后果验证了低代码的价值主张。支持远程工作功能、工作流自动化和快速应用程序开发的低代码功能对于各种规模的组织的生存变得至关重要。
原文:https://bluesoft.com/why-low-code-benefits-of-low-code-platforms-and-de…
- 35 次浏览
【低代码】低代码/无代码生态系统
塑造低代码运动的公司和产品
低代码/无代码 (LCNC) 是一个快速发展的行业领域,有许多初创企业和几家大公司从多个方向和产品机会接近这个领域。
无论是创建网站、业务工作流应用程序还是执行数据分析,LCNC 工具的承诺是使非技术用户能够以新颖的方式创建和开发想法:在短时间内以低成本。尽管低代码/无代码术语是 Forrester 在 2014 年创造的,但该术语已成为名副其实的流行词,尤其是在过去几年中。
本文旨在提供对该领域的高级介绍,并分享对关键行业参与者的更深入了解。
- 什么是低码/无码
- 技术景观
- 类别
- 市场增长
- 投资与市值
- 名单
什么是低代码/无代码?
Forrester 将 LCNC 定义为“能够以最少的手工编码以及快速设置和部署实现快速应用程序交付的应用程序开发平台”。
该术语通常是指任何类别的软件和工具,它们提供:
- 交互式可视化编程环境
- 拖放功能
- 可视化建模工具
- 预建模板
它通常还具有与第三方工具和解决方案集成的轻松能力。
WYSIWYG (wiz-ee-wig) 工具已经存在了一段时间——想想用于网站的 WordPress 和用于电子邮件营销活动的 Mailchimp——但一些市场和技术趋势已经共同推动了 LCNC 运动的发展。特别是:
- 云计算的易用性和可用性
- 软件开发商的短缺和成本上升
- 组织内不断增长的数据量和随后的 IT 需求
为什么 LCNC 有价值?
LCNC 的价值主张是双向的;从投资的角度来看,LCNC 公司承诺进入尚未开发的市场/用户群:领域专家被授权使用工具来编码他们的知识,从而专注于高价值的活动。对于采用 LCNC 工具的企业而言,其价值在于提高生产力、提高自动化程度、加快执行速度和产品上市时间 (TTM)。
它是为谁准备的?
LCNC 工具适用于各种规模的组织,从传统的小型企业到技术初创企业,再到中型企业。
根据这项研究,不断增长的 IT 需求(80% 的组织需要数字化更多流程)以及开发人员的稀缺(96% 的组织没有影响这些变化的技术资源)共同推动了日益增长的需求和需要自己动手 (DIY) 工具。这一趋势催生了所谓的公民开发者——即可以为自己或他人开发应用程序的业务用户。
企业正在注意到这一趋势:60% 的组织认为 LCNC 可以帮助他们,75% 的组织计划使用这些工具构建解决方案。
技术景观
为了帮助提供基本信息,我们汇编、审查和策划了 130 多家公司,并按类别对其进行组织,以帮助了解这个快速发展的细分市场中的参与者。我们还研究了私募股权投资和企业价值(如果有的话),试图让投资者和金融市场在看到该行业的势头和机会时看到他们的看法。
除了我们介绍的工具和公司之外,还有更多的工具和公司,但我们相信这个列表包含一组有代表性且有趣的公司来突出显示。更全面的列表可以在这里和这里找到,还有数百种工具和平台。
类别
在整个分析过程中,我们能够确定 LCNC 平台的九个不同类别。许多企业属于多个类别,并且类别中有许多重叠,但由于我们的目标是提供对该领域的概述,我们尽最大努力尝试将每家公司与一个主要类别保持一致。
- 商业智能:用于将信息转化为知识的工具,旨在改进公司的决策过程。 Tableau、Looker、Google Data Studio 和 SAP Business Objects 是这类工具的著名示例——所有这些工具都使用户能够操作、分析和可视化业务数据。
- 客户服务/CRM:管理与客户相关的所有通信、机会和文档的平台,以及在买卖过程的各个阶段为他们提供帮助的平台。 Salesforce 是这个领域的巨头,但其他工具,如 Zoho、Bitrix24 和Creatio 都是使公司能够自动化其业务流程以创建和管理客户关系的平台。
- 企业应用程序开发:这些可视化开发平台使具有不同技能的开发人员能够构建整个企业范围的应用程序——构建和管理自定义数据库和工具以运行整个业务流程。这是一个庞大且利润丰厚的领域,拥有许多大型参与者,包括 ServiceNow、Appian、Mendix 和新进入者 Unqork。
- 物联网/工业自动化:此类别包括物联网(物联网)平台,用于将硬件连接到互联网和工业自动化平台,无需人工操作员即可实现工业流程和机械的自动操作。例如,Akenza.io 是一个自助物联网平台,它连接、控制和管理物联网设备,允许用户构建物联网产品和服务。
- 机器学习:随着人工智能和机器学习的发展,也出现了大量工具,它们试图让非数据科学家用户可以使用机器学习模型。亚马逊、微软和谷歌都拥有强大的此类平台,但 Data Robot 等专门的无代码公司也在提供越来越多的 AutoML 类型的工具。
- 营销/电子商务/设计工具:营销技术(或 martech)在很长一段时间内一直是一个独立的类别——Mailchimp、Hubspot 和 Marketo 等大公司使营销人员能够建立强大的营销活动和客户关系管理管理。我们还包括电子商务工具(包括 Shopify 等巨头),这些工具使各种规模的企业能够在管理其产品和服务以及整个虚拟店面的同时进行在线商务。此外,在此类别中,我们添加了 Canva 和 Figma 等设计平台,您可以在其中轻松创建和共享设计和模板,而无需训练有素的技能。
- 软件开发工具:这些工具类似于企业应用程序开发,但面向技术人员。 Virtuoso 是此类工具的一个示例,它提供了 QA 自动化和 Web 应用程序代码生成器,可以更快、更轻松地创建网站。
- Web 应用程序开发:这是一个随着时间的推移而不断发展的大类别,它包括 WordPress 等长期存在的工具和 Bubble、Adalo、Webflow 甚至 AirTable 等新进入者,它们自称是一个应用程序开发环境。这些工具通常包含一个内容管理系统 (CMS) 和一组用户友好的功能。几乎没有技术知识的个人能够非常快速地创建有吸引力的网站和较小的应用程序,而无需 HTML、CSS、Javascript 或其他深奥的网络技术知识。
- 工作流自动化:工作流可以定义为一组相关的活动,这些活动按照一定的顺序完成,以实现特定的组织目标。而自动化使这些活动能够由一个系统控制,以确保它们的完整性、正确性和可重复性。 Zapier、Kissflow 和 Pipefy 都是提供集成和/或促进业务流程工作流的工具示例,使 LCNC 业务用户能够描述和运行完整的端到端业务流程。
市场增长
尽管 LCNC 工具已经存在多年,但最近的增长是可观的。以下时间表描述了按年份创建或创建的公司(我们分析过的)数量。时间表说明了过去几年新公司的巨大增长。
投资与市值
私人资金:在过去的几年里,大量的投资资金进入了 LCNC 公司。 在我们的分析中,44 家公司总共获得了超过 1000 万美元的资金和 7.5B 美元的资金,其中 20 家是企业总价值超过 158B 美元的独角兽!
在所有主要领域都进行了大量投资,特别是机器学习和人工智能、商业智能、工作流自动化和 Web 应用程序开发。
下图描绘了获得超过 5000 万美元资金的私营公司。 对于信息公开的公司,我们还包括了企业价值。
公共/企业价值:下图显示了该领域公共和大型私营公司令人难以置信的企业价值。 下图显示了 17 家上市公司(包括微软、谷歌和亚马逊等巨头)——但也包括 ServiceNow、UI Path 和 Appian 等专门的 LCNC 公司。
名单
此 Google 表格中包含公司列表,包括其 URL、资金(来自 Crunchbase)、类别、行业等。 如前所述,该列表并不全面,但旨在公平地代表该空间。 每天都会宣布新的参赛者和新的资金,如果您有任何反馈或更正您想提出的建议,请告诉我们。
本文由 Unigram Labs 研究和制作,Unigram 顾问、Prescient Devices 工程副总裁 Pablo Acosta-Serafini 做出了贡献。
原文:https://medium.com/@unigram_labs/the-low-code-no-code-ecosystem-8a0e0ba…
- 107 次浏览
快速开发
- 18 次浏览
【快速Web 开发】5 个可以在 2022 年重新定义 Web 开发的开源项目
Appsmith, Supabase, Appwrite, Plasmic, and Hasura
在过去的几年里,开源项目一直是现代 Web 开发背后的重要推动力。一开始,jQuery 是世界上最受欢迎的项目。
但是今天,我们有几个流行的项目,如 React、Vue、Next.Js、Django、Express 等。这些项目改进了我们处理前端、后端的方式,并使新功能和创新功能的实现变得更加容易。
今年,我们可能会在 Web 开发中看到一些重大的创新,尤其是低代码,这可以减少开发时间并轻松扩展。这些创新将来自大公司,一些来自初创公司,还有一些来自过去几年流行的开源项目。在这个博客中,我总结了五个(按字母顺序列出)最有前途的开源 Web 开发项目,这些项目肯定会在今年引起更大的轰动!
Appsmith
星数:11.2k+ | GitHub 存储库 |社区
Appsmith 是一个开源框架,可通过连接到任何数据库、GraphQL 或 REST API 的预构建 UI 小部件快速构建任何自定义业务软件,如管理面板、内部工具、仪表板等,并使用 Javascript 控制一切。
几乎每个组织(以及业余爱好项目)都经常使用此类软件。通常,开发人员会在 React 或 Angular 之类的东西上花费无数时间来创建这些应用程序。
今天,Appsmith 拥有超过 15 个以上的数据源和 35 个以上的 UI 小部件。对于喜欢在自己的平台上构建个人或可定制的内部应用程序的团队和个人来说,这非常有用。 Appsmith 还提供免费的云社区版本,其中包含构建完美内部工具所需的所有基本功能。
Appsmith 如何重新定义 Web 开发?
几乎每个组织或个人在某些时候都需要一个内部应用程序;这个开源的低代码工具不是从头开始构建所有东西,而是最好的解决方案。它将降低开发成本,节省时间,让开发人员和企业专注于更重要的事情。
Appwrite
GitHub 星数:15.3k+ | GitHub|社区
Appwrite 是面向前端和移动开发人员的开源端到端后端服务器,可让您更快地构建应用程序。它的目标是抽象和简化 REST API 和工具背后的日常开发任务,帮助开发人员更快地构建高级应用程序。
这个漂亮的框架将通过引导所有后端需求(包括数据库、存储、用户、地理和本地化、功能、控制台、隐私和安全性)为开发人员节省大量时间。今天,Appwrite 服务器被打包为一个 Docker 容器,您可以使用终端上的简单 docker-compose 命令轻松设置它,无论是在本地机器上还是在任何云提供商上。
Appwrite 团队计划推出一个云版本,以减少自托管所需的所有额外配置
Appwrite 如何重新定义 Web 开发?
开发和维护后端并不是一件容易的事。在 2022 年,依靠 Appwrite 等工具是更快交付应用程序的最佳方式。这不仅可以节省时间,还可以让开发人员通过非常简单的自定义完全控制规模的后端。
莲修罗(Hasura)
星数:25k+ | GitHub |社区
Hasura 不需要太多介绍,它已经出现了一段时间,并且绝对是开源社区中最受欢迎的项目之一。
Hasura GraphQL 引擎是一个超快的 GraphQL 服务器,它通过 Postgres 为您提供即时、实时的 GraphQL API,在数据库事件和业务逻辑的远程模式上具有 webhook 触发器。
因此,如果您需要一个超快的 GraphQLAPI 引擎而不编写任何代码,Hasura 是首选解决方案。在过去的一年中,Hasura 凭借其无服务器功能、细粒度访问控制、管理 UI 和迁移等功能变得强大!
Hasura 可以在任何地方运行,从您的本地机器到 Heroku 免费层再到 Amazon、Google 或 Microsoft 上的服务器。它被为一些世界上最大的企业和最令人兴奋的初创公司工作的技术人员使用和喜爱。
Hasura 如何重新定义 Web 开发?
Hasura 已经是用于构建强大的 GraphQL API 的成熟工具。 2022 年,根据我的经验和人脉,一些开发者社区计划迁移到基于 GraphQL 的后端,以提高它们的速度和可扩展性。
等离子(Plasmic)
星级:950+ | GitHub
Plasmic 让非开发人员可以直观地构建页面和其他演示内容,然后开发人员可以将其渲染到现有网站和 Web 应用程序代码库中。
Plasmic 通过自定义代码接受逻辑、数据和行为,以实现更复杂的数字组件交互。根据您使用的框架,您还可以通过在其中创建自己的 UI 组件来扩展 Plasmic。
设计师、营销人员、产品经理等可以使用 Plasmic 创建页面——从登录页面到内容页面再到页面模板;这节省了大量时间和团队之间的来回沟通。简而言之,Plasmic 可以成为开发人员友好的 Webflow 替代方案,可以完全控制前端。
最常见的用例是通过 API 使用 Plasmic 设计,例如 CMS 内容。不过,您还可以在代码库中生成代码,甚至可以将页面发布到 Shopify 等平台。 Plasmic 的最终目标是成为最通用的构建器并集成到任何环境中。
Plasmic 如何重新定义 Web 开发?
Plasmic 可以成为网络的革命性产品。它使营销人员、设计师、内容团队能够直接发布应用程序,并将开发人员从像素推送中解放出来。虽然很容易开始,但 Plasmic 为您提供了任何设计工具或页面构建器中从未见过的工具,让您可以大规模创建可维护的前端。
超级基地(Supabase)
星数:26.3K+ | GitHub |不和谐
Supabase 是 Firebase 的开源替代品,旨在允许您快速设置后端。它主要侧重于大规模提供四个基本要素:数据库 (Postgres)、身份验证、文件存储和自动生成的 API。
所有这些都可以直接从其出色的仪表板轻松设置和使用,而无需编写任何代码。当然,这些可以通过添加我们的代码风味进行相应的定制和定制。
不仅如此,Supabase 还附带了一个客户端,这使得开发人员可以轻松构建安全且可扩展的产品。 如果你是新手,我推荐这个关于蛋头的免费课程。
今天,Supabase 既可以在云版本上,也可以使用 Docker 在我们自己的基础设施上自托管。 更多细节在这里。 不仅仅是产品,Supabase 有很好的文档和社区。 他们几乎开源了他们构建的所有东西,甚至他们的 UI 库,仪表板!
Supabase 如何重新定义 Web 开发?
Supabase 是 Google 的 Firebase 的最佳开源替代品,它提供了一些其他实时数据库解决方案所没有的强大功能。 有了这个,开发人员可以将更多时间花在更多地关注产品上,而不是配置后端。
感谢您阅读这篇文章! 我很想听听你的想法。
原文:https://betterprogramming.pub/5-open-source-projects-which-can-redefine…
- 196 次浏览
【快速应用开发】构建 CRUD 应用程序的最佳工具
创建、读取、更新和删除 (CRUD) 是大多数应用程序所需的基本功能。换句话说,CRUD 应用程序使用户能够将数据输入和输出数据存储。
例如,考虑一个笔记应用程序。您可以创建一个将存储在数据库中的新笔记(创建)。每次重新访问应用程序(阅读)时,您都可以查看从数据库中检索到的所有笔记。您可以编辑笔记的内容(更新),也可以删除笔记(删除)。由于它们的基本性质和构成大多数 CRUD 应用程序的重复代码,它们非常适合使用无代码或低代码工具进行构建。
无代码或低代码工具使软件开发更易于访问,因为用户不必知道如何编写代码来构建应用程序。至少在某些方面,您可以避免开发人员进行简单构建的费用,或者只是更快地构建应用程序,通常使用拖放界面。
一个工具是无代码还是低代码绝对是您在将其应用到您的工作流程之前需要考虑的事情——您是否需要该工具可供没有编码经验的人使用?还是您只是需要它来消除一些重复的编码任务,例如设置 Web 服务器? - 但这远不是要记住的唯一标准。
本文比较了一些用于构建 CRUD 应用程序的最佳无代码和低代码工具的广泛特性。我们将介绍每种工具的灵活性、用户友好性、可扩展性、价格和其他独特功能。当我们结束时,您应该能够就哪种工具最适合您的用例做出明智的决定。
1. Appsmith “用于 CRUD 应用程序、管理面板和工作流的 Appsmith 开源框架”)
Appsmith 是一个开源工具,非常适合构建管理仪表板、CRUD 应用程序和工作流。这个低代码工具具有预先构建的 UI 小部件,例如表格、图表、表单和地图查看器,可帮助您构建连接到现有或新数据源的前端。 Appsmith 是构建内部工具的理想选择,虽然应用程序可以公开,但它不是为复杂的 UI 交互而构建的,就像您在现代电子商务或面向消费者的网站中看到的那样。
特征
- 直观的拖放小部件
- 轻松直接连接并查询您选择的受支持数据库,或使用 REST 或 GraphQL API 作为您的数据源
- 支持应用程序构建和测试的协作
- 在 Appsmith 云或您自己的 Docker 实例上托管的选项
- 完整的文档和视频学习材料
- 他们具有无限应用程序和页面的标准计划目前是免费的
- 通过 Google 或 GitHub 进行用户身份验证
- 申请可以公开
缺点
- 您需要知道如何编写查询和一些 JavaScript 才能充分利用该平台
- 面向公众的应用程序没有精细的权限
2. Budibase
Budibase 是另一个开源低代码工具,可以更轻松地构建和发布内部工具和 CRUD 应用程序。它具有与多个外部工具的集成,支持大多数主要数据库,并允许您使用 webhook 或 CSV 导入来填充应用程序中的数据。
像 Appsmith 一样,Budibase 是为构建基于 Web 的内部软件而构建的,但它需要更多的工作才能开始,因为您需要在您的计算机上安装他们的客户端。这也意味着如果不教他们使用 npm 和终端,您将无法让您的非技术团队成员在 CRUD 应用程序的某个地方进行快速更改。
特征
- 离线构建和测试应用程序
- 有吸引力的小部件以及其他样式属性可帮助您构建漂亮的 UI
- 在您的基础架构上自行托管您的应用程序或在 Budibase 云上托管
- 连接外部数据库或使用 Budibase 的内置数据库
- 广泛且经过深思熟虑的文档
- 内置身份验证和用户管理
缺点
- 需要您下载本地客户端
- 需要 JavaScript 和命令行技能
- 没有预建模板
3.Knack
Knack 是一个无代码工具,用于构建 CRUD 应用程序并允许用户查看、更新、管理、共享和分析他们的数据。 Knack 非常适合构建基于 Web 的内部应用程序,这些应用程序可以自动执行手动或基于纸张的流程,但如果您要插入现有数据集,它会受到一些主要限制。由于 Knack 仅支持内置数据库,因此您必须将应用程序数据导入 Knack,并且不会自动保持同步。 Knack 也有一些非常严格的 API 限制,因此您必须在扩展时要求增加使用上限。
特征
- 适用于不同用例的应用程序模板,可快速上手
- 应用程序托管在唯一的 URL 上,但您也可以将应用程序直接嵌入到现有网站中
- 内置身份验证、用户管理、电子邮件和通知自动化工作流程
- 内置数据库
- 编写自定义 JavaScript 和 CSS 以进行进一步自定义的选项
- 包含大量外部学习材料和活跃社区论坛的大量文档
- 使用 Zapier 和 Integromat 将数百种其他服务集成到您的应用程序的选项
缺点
- 仅适用于平台自己的内置数据库
- 没有免费计划。在为期 14 天的免费试用后,入门套餐的起价为每月 39 美元。
- API 速率限制可能会限制您的扩展能力
- 非常简单的 UI 组件
4. Bubble
Bubble 是一个无代码工具,主要用于构建全栈 Web 应用程序。虽然您几乎可以构建从 CRUD 应用程序到复杂的市场 SaaS 产品的任何东西,但对于较小的内部工具来说,这可能是矫枉过正。它学习起来很复杂,并且不能托管在您自己的基础架构上,因此您必须信任 Bubble 才能让您的应用程序保持运行。对自定义代码的支持也相当有限,因为 Bubble 主要是为非编码人员设计的。
特征
- 拖放、像素完美、完全可定制的小部件和设计
- 处理部署和托管
- 对用户数量、流量或存储的数据量没有硬性限制
- 广泛的文档以及 YouTube 和论坛上的活跃社区
- 具有第三方身份验证支持的内置用户管理系统
- 内置本地化会自动翻译您应用的文本
- 邀请多达 40 人使用托管权限和访问权限进行协作
- 能够从 Figma 导入设计并快速将它们转换为功能页面
- 您可以使用 Bubble 内置的无代码托管数据存储或连接到您自己的 SQL 数据库或 RESTful API 作为数据源
- 强大的应用程序模板和插件市场,让您更快地开始
- 免费套餐提供许多基本功能
- 带有测试和实时环境的内置版本控制
缺点
- 不能自托管以最大限度地提高安全性和性能
- 每个应用程序需要单独的计费计划
- 构建复杂应用程序时管理界面很慢
- 不是为创建简单的内部工具而设计的
- 陡峭的学习曲线
5. UI Bakery
UI Bakery 是另一个用于创建内部工具和 CRUD 应用程序的无代码 UI 构建器。它提供了现成的模板、预定义的小部件和其他可用于构建应用程序 UI 的 UI 组件。换句话说,UI Bakery 只处理 UI 开发,而您负责提供数据源和第三方集成。
由于 UI Bakery 专注于内部工具,因此您可能不会将其用于面向公众的应用程序、移动应用程序或面向客户的网站。它还需要相当高水平的技术专业知识才能开始,因为您会发现自己在构建 CRUD 应用程序时编辑 JavaScript 代码以连接数据库或 API。
特征
- 拖放式 UI 小部件
- 现成的模板
- 通过 UI Bakery 的内置工具或使用 Google、Twitter 或 Facebook 进行身份验证和用户管理
- 能够轻松自定义应用小部件的外观和感觉
- 处理在唯一 URL 上托管的应用程序
- 连接到 SQL 数据库,例如 Postgres、MySQL、Google Sheets 或 Firebase,或使用 HTTP API 作为数据源
缺点
- 免费套餐仅允许您试用产品
- 非常小的用户社区,因为它是一个相对较新的产品
- 添加数据连接和 API 集成所需的技术背景
- 目前无法从头开始创建自定义组件
6. Retool
Retool 是一个以企业为中心的低代码平台,用于使用拖放构建块构建自定义内部 CRUD 应用程序。像上面讨论的大多数工具一样,Retool 主要是一个 UI 构建器。您必须编写查询或自定义 JavaScript 从数据库或外部 API 获取数据。
Retool 的免费计划非常有限,而且会很快变得昂贵,因为它们是按最终用户收费的。这意味着如果您希望您的十个队友在 Retool 上访问您的 CRUD 应用程序,您将每月支付 100 美元!
特征
- 通过与大多数数据库或任何使用 REST、GraphQL 或 gRPC API 的连接来提供您自己的数据
- 内置身份验证、授权和审计日志管理
- 可以通过 Docker 或 Kubernetes 或通过具有唯一 URL 的 Retool 进行本地托管
- 通过同步 Git 存储库支持版本控制
- 各种现成的模板
- 使用 JavaScript 进行自定义的选项
- 广泛的文档和活跃的社区论坛
-
缺点
- 有限的免费套餐,对于大型团队来说价格昂贵
- 必须编写自己的数据库查询或 HTTP 请求来与数据源交互
- 不支持面向公众的应用程序
7. Glide
Glide 是一个无代码 CRUD 应用程序构建器,专门使用 Google 表格作为数据源。虽然这对于许多用例来说是一个严重的限制,但它也使非技术用户可以很容易地构建内部或面向公众的 Web 应用程序的原型。
虽然 Glide 与 Zapier 集成以允许您与其他服务集成,但自动化工作流程仍然相当有限。这不是一个糟糕的原型设计工具,特别是如果你想让你的非技术团队成员能够创建移动应用程序,但你很快就会遇到它的局限性。
特征
- 方便的拖放界面构建器
- 预构建的即用型模板和应用程序可帮助您快速入门
- 支持 iOS 和 Android 部署,因此您可以构建多平台应用程序
- 简单地部署到 Glide 的服务器和使用您自己的域的选项
- 直截了当的文档和活跃的社区论坛
缺点
- 免费套餐仅支持移动应用
- 不能使用外部数据源或 API
- 有限的集成和自动化选项
8. Airtable
Airtable 是一个通过类似电子表格的界面创建和共享关系数据库的平台,但您也可以将它用于非常有限类型的 CRUD 应用程序。用户界面简单、多彩且友好,任何人都可以在几分钟内启动数据库。每个 Airtable 基础都带有一个 API 和有限的免费存储空间。
虽然使用 Airtable 很容易上手——即使对于非技术团队成员也是如此——但你自己定制 Airtable 的选择非常有限。它不与其他数据库或 API 源同步,权限不是很精细,使用 Airtable 创建用户界面的选项有限。
特征
- 支持与其他 Airtable 应用程序、第三方服务或使用其 API 的您自己的自定义应用程序集成
- 支持实时协作和设备同步
- 展示不同用例的模板库
缺点
- 必须使用 Airtable 的存储系统,并且不能与没有自定义代码的现有数据库集成
- API 将您限制为每秒 5 个请求
- 对于大型团队来说可能会变得昂贵,因为定价是基于每个用户的
- 文档难以定位和导航
- 无法自托管或使用自定义域
9. Jet Admin
Jet Admin 是另一个无代码内部 CRUD 应用程序构建器。它提供了一个简单的拖放界面,允许您连接块并添加自定义工作流程以自动化后端流程。虽然它们有许多集成,但它们目前不支持 DynamoDB、MongoDB 或 Zapier,因此您的数据库和自动化选项有些有限。
特征
- 免费套餐包括支持和用户入职计划
- 涵盖一些常见用例的模板库
- 使用 AWS、Heroku 或您自己的专用服务器的自托管选项
- 内置协作、身份验证和授权选项
- 自定义 JavaScript、HTML 和 CSS 支持以扩展核心布局和功能
- 通过其客户门户支持有限的面向公众的应用程序
缺点
- 数据源和自动化仍然相当有限
- 必须维护自己的数据源,因此可能需要开发人员设置和修改字段
- 免费计划有限,不允许与您的团队协作
10. Internal.io
Internal.io 是另一种无代码工具,用于在现有数据库、API 或业务应用程序之上构建内部应用程序。它具有面向非编码人员的直观界面,但还包括面向开发人员的强大工具和对 CRUD 应用程序的精细访问控制。
虽然精细控制和企业 SSO 选项对某些用例很有吸引力,但没有选项可以通过 Internal.io 公开应用程序。您还将按每个用户付费,因此为整个团队运行应用程序每月可能要花费数百美元。
特征
- 支持关系数据库、非关系数据库、电子表格和某些基于 HTTP 的服务作为数据源
- 精细的权限和访问控制
- 拖放式 UI 小部件
- 自动为您的数据库上的 CRUD 操作生成函数,无需查询或 API 工作
- 使用 JavaScript 添加自定义业务逻辑的选项
- 支持多种环境(例如,登台和生产)
缺点
- 没有现成的模板
- 对于大型团队来说很昂贵
- 不支持面向公众的应用程序
- 文档主要关注开发人员,而不是无代码用户
11. 应用表
AppSheet 是另一个类似于 Glide 的无代码应用程序构建器。 AppSheet 是 Google 生态系统的一部分,因此它与其他 Google 产品集成,让您无需数据科学家即可将机器学习算法与您的应用程序集成。
AppSheet 可能是构建跨设备兼容的 CRUD 应用程序的不错选择,但它仅适用于电子表格和一些选定的数据库作为数据源。如果您的应用程序依赖于外部 API 或 MongoDB 等非关系型数据库,那么它不适合您。
特征
- 多平台应用程序支持 Web、桌面和移动部署
- 支持与团队成员的协作
- 涵盖常见用例的示例应用程序集合
- 活跃的社区论坛
- 主要专注于面向公众的应用程序
缺点
- 免费计划只允许原型设计和测试。部署您的应用程序需要付费计划
- 数据源选项有限(不支持 HTTP API 或 MongoDB)
- 文档难以浏览
结论
每个应用程序都是不同的,因此根据您的 CRUD 应用程序的具体情况,您选择的工具会有所不同。
如果您的团队是非技术人员,并且想要一些不需要开发人员参与的工作,那么 Knack 或 Bubble 可能是一个不错的选择。另一方面,如果您的团队包括想要更快地构建内部工具的开发人员,并提供许多用于呈现和操作数据的选项,那么 Appsmith 可能是正确的选择。
拥有如此多不同的优势和功能集,一定会满足您的业务对内部和外部应用程序的需求。 建设愉快!
原文:https://vihark.medium.com/the-best-tools-for-building-crud-applications…
- 136 次浏览