2023-09-17 19:34:06
来 源
中存储
软件行业
与传统编程相比,低代码和无代码开发平台允许开发人员,有时甚至是非技术用户,以更快的速度和更低的成本制作应用程序。下面介绍如何为工作选择合适的低代码或无代码工具。

当今的低代码和无代码开发平台使软件开发人员团队,甚至是非编码人员能够交付、支持和扩展各种应用程序。它们被用来构建移动应用程序、提供客户体验、简化工作流程、使传统应用程序现代化、自动进行数据集成以及支持数据可视化等,这些都是比较常见的用途。

低代码和无代码开发工具的主要卖点是:技能较低的 "公民 "开发人员可以成功地使用这些工具;与使用本地 SDK 相比,它们能更快地开发出应用程序;而且它们能以更低的成本开发出应用程序。许多(但不是所有)商业低代码和无代码系统都会通过许可费或订阅费抵消节省下来的人工成本。

无代码和低代码成本与节约

如果您正在开发消费者或客户应用程序,请避免使用按用户收费的开发系统,也不要使用无法提供类似本地性能的开发系统。如果开发系统生成的应用程序性能缓慢或外观和感觉与原生应用程序不同,消费者很可能会对这些应用程序嗤之以鼻。

[阅读 InfoWorld 评论:亚马逊 Honeycode | 微软 Power Apps | 谷歌云 AppSheet]

据粗略估计,美国学士级软件开发人员的年薪在 5 万至 12 万美元之间(平均为 7.2 万美元),而用原生代码从零开始构建简单的消费者应用程序需要 6 至 25 个人工月(平均为 12 个人工月),因此开发简单的原生应用程序可能需要 7.2 万美元。复杂的本地应用程序的开发成本可能超过 100 万美元。

如果使用低代码开发系统,将简单应用程序的开发时间缩短为 1 个人工月(成本约为 6000 美元),但对每个用户收取 10 美元的许可费,那么一旦拥有 6600 个用户,总成本就会超过本地开发的成本。同样,这只是一个大概的估算。

在这种情况下,按应用程序、按服务器、按开发人员或按开发人员年收费的开发工具可能对你更有价值。另一方面,如果您正在为几百名员工构建大量内部使用的应用程序,那么按用户付费可能更合算。

员工对应用程序的期望值往往低于消费者的期望值,而且当工作需要使用应用程序时,员工并没有选择的余地。他们可能会抱怨,但还是会使用。

2024 年 IT 行业最佳工作场所开始接受提名

无代码开发与低代码开发

如果你使用的是无代码开发工具,你通常可以在设计调色板上尽情地拖放组件,直到你发现该工具缺少你需要的东西时,你才会撞上一堵砖墙。这时,你可能就没辙了,或者你可以从工具的开发者或第三方供应商那里购买或以其他方式获得所需的组件。

在低代码开发工具中,虽然学习曲线可能会比无代码工具陡峭一些,因为你需要编写代码片段,但扩展工具的门槛通常较低。你通常只需编写几行代码,就能调用系统、开源或供应商的应用程序接口,而无需购买其他组件。

在某些低代码环境中,代码是可选的。换句话说,在一定程度上,该环境可用于无代码开发。业务用户可能可以完成 95% 的开发工作,剩下的 5% 则由程序员填写必要的代码。这些数字会因应用程序和工具的不同而变化。

通常情况下,你需要为低代码工具编写的代码在语义上与你可能已经掌握的语言相似。例如,Microsoft Power Fx 基于 Microsoft Excel,而 Alpha Software 的 Xbasic 则源自 Microsoft Basic。许多低代码工具使用的语言要么与 JavaScript 关系密切,要么嵌入了真正的 JavaScript 引擎(如 V8)。

有一种观点认为,无代码开发就是面向商业用户的低代码开发。还有一种更现实的观点认为,所有的无代码和低代码开发团队都需要专业开发人员的群策群力,以提供商业用户无法自行构建的部分:数据库模式、组件开发、架构、用户体验设计和质量审查。

无代码和低代码工具的种类

在开始选购低代码或无代码开发工具之前,你应该先问自己一些关于你的应用程序的问题,看看低代码或无代码对你是否有意义。我建议您写下答案,以便日后参考。

您是在开发桌面应用程序吗?是 Windows 应用程序?Mac 版?Linux?还是以上所有?

您是在开发网络应用程序吗?用于桌面浏览器?平板电脑?智能手机?以上所有?

您是在开发移动应用程序吗?用于 iPhone?ipad?安卓?以上皆可?

您打算为移动设备编写本地代码?使用混合网络技术?使用本地外壳和网页内容?使用以上所有技术?

您有预算吗?预算是多少?有截止日期吗?多长时间?有多少开发人员?他们的技能如何?您的预算、截止日期和资源是否与您的应用程序目标一致?您是如何进行估算的?

应用程序背后是否需要数据库?如果需要,是现有数据库还是新数据库?客户是否会更新数据库?

您的应用程序是否需要支持客户通信?您还需要其他特殊功能吗?

您的应用程序是供内部使用的吗?供客户或消费者使用?为业务合作伙伴?为以上所有用途?

您是否要替换或更新现有的业务流程?您是否在尝试将现有的纸质表格计算机化?

正如这一系列问题所暗示的那样,应用程序的目标环境有很多种。无代码和低代码开发工具的设计范式也有很多种。

运行目标包括 Windows、macOS、Linux 的桌面应用程序,有时甚至包括 DOS。移动目标包括 Android、iOS 及其平板电脑和手表的变体。网络应用目标几乎包括上述所有目标,还需要考虑浏览器支持(Chrome、Edge、Safari、Firefox 和 Opera)以及响应式处理不同屏幕尺寸的能力。混合网络应用结合了本地外壳应用和网络内容。

设计范例包括定制原型应用程序;使用属性表和小代码段的拖放设计环境;声明式字段描述;扫描表单的转换;线框或图形设计的转换;以及根据数据库模式生成表单。控件可以采用绝对或相对布局,也可以采用流布局或控件组容器。控件本身可以是平台的原生控件,也可以作为工具运行时的一部分来实现。

后端功能可包括身份验证以及与数据库、云服务和企业应用程序的连接。移动应用程序可支持文本消息、推送通知、地理定位、照片和视频服务、社交身份供应商以及与社交网络的集成。使用后端服务的应用程序可能被设计为即使在连接时断时续的情况下也能正常工作,并知道如何解决多个用户尝试离线更新数据库时可能出现的数据冲突。

领先的低代码和无代码开发平台

我上次查看时,无代码和低代码开发领域有 400 多家供应商。Gartner 覆盖了其中的大约 250 家,而且在试图将它们划分为不断变化的类别时似乎有些手忙脚乱。许多供应商和某些产品跨越了多个类别定义。

我认为,业务流程管理(BPM)和机器人流程自动化(RPA)工具不应与其他无代码和低代码工具混为一谈,尽管它们在技术上有一些重叠。在我看来,两者的区别在于,BPM 和 RPA 工具的主要目的是实现其他系统的自动化和协调;而普通的低代码开发工具可能会使用企业系统,但只是达到另一个目的的手段。

例如,将贷款尽职调查这一枯燥、重复、多系统的流程自动化的工具就是 RPA;现场服务人员用来记录电梯检查的平板电脑应用程序可能会取代纸质表格,加快流程速度,并消除一些办公室内的转录工作,但其流程自动化程度还不足以称为 RPA。

我选择了以下七家低代码和无代码开发供应商作为例子,并按字母顺序排列。请注意,列入本列表并非推荐,排除在外也并非谴责。

阿尔法软件公司:Alpha Anywhere 是一款端到端、低代码的快速应用程序开发工具,适用于桌面、网络和混合移动应用程序的开发,它以数据库为导向,具有各种技能的开发人员均可使用。Alpha TransForm 是一款从无代码到低代码的移动表单开发工具,具有离线功能,包括在恢复连接时自动同步。

AppianAppian 提供可视化无代码设计器和低代码工具,用于网络和移动应用开发,以及无代码企业数据集成。Appian 还为 BPM 和 RPA 提供了一个自动化平台。

ClarisClaris FileMaker 是一个用于桌面、网络和移动应用开发的低代码开发系统,包括自己的数据库。它具有内置模板、拖放设计和直观的图形用户界面。Claris Connect 是基于 FileMaker 相同核心构建的自动化平台。

MendixMendix Studio 是一种所见即所得、基于浏览器的开发环境,适用于市民开发者。Mendix Studio Pro 是基于桌面的开发环境,包含软件开发所需的所有功能,包括在需要时添加自定义代码的功能。Mendix 还提供自动化平台和数据中心。

微软:Microsoft Power Apps 是 Windows 10 的低代码应用程序生成器,它使用模板、拖放设计和 Power Fx(一种类似 Excel 的编程语言)。Power Apps包括一个语言模型,可以根据自然语言描述生成Power Fx代码。专业开发人员可以使用 Azure 函数和自定义连接器扩展 Power Apps。Power Automate 是一个带有工作流引擎的独立 RPA 平台。

OutSystemsOutSystems 可让您拖放可视化元素,为您的网络和移动应用程序创建用户界面、业务流程、业务逻辑和数据模型,并在需要时使用代码对其进行自定义。它提供约 70 个预建模板和模式。OutSystems Forge 包含数以千计的预建代码模块,您可以将它们放入您的应用程序中,并根据需要在集成开发环境中进行扩展。

SalesforceSalesforce Lightning 是 Salesforce 平台的低代码、拖放式应用程序开发平台。Lightning 还可以连接到其他应用程序和数据。Lightning App Builder 可让企业用户点击创建应用程序;Lightning Web Components 可帮助开发人员创建可重复使用的元素。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。