编程语言应用

首页 » 常识 » 诊断 » 如何选择低代码开发平台
TUhjnbcbe - 2023/9/5 20:46:00
刘*连医生 http://baijiahao.baidu.com/s?id=1705767002676065662&wfr=spider&for=pc

事实表明,低代码和无代码开发平台允许开发人员比传统编程速度更快、成本更低地开发应用程序。而人们需要了解如何为工作选择正确的低代码或无代码工具。

如今的低代码和无代码开发平台使软件开发人员团队(甚至非编程人员)能够交付、支持和扩展广泛的应用程序。它们用于构建移动应用程序、提高客户体验、简化工作流程、使遗留应用程序实现现代化、数据集成自动化,以及支持数据可视化,这些都是一些常见的用途。

低代码和无代码开发工具的主要特点是它们可以被开发人员成功使用;他们可以比使用原生SDK更快地开发应用程序;并且可以用更少的费用开发应用程序。虽然许多低代码和无代码开发平台需要收取许可费或订阅费用,但也让开发人员节省人工成本。

无代码和低代码的成本以及如何节省成本

如果开发人员正在构建消费者或客户应用程序,需要避免使用按用户收费的开发系统,并避免使用无法提供类似原生性能的开发系统。如果开发系统生成的应用程序性能低下或非原生,消费者可能难以获得更好的体验。

粗略估算一下,美国初级软件开发人员每年的收入在5万美元到12万美元(平均为7.2万美元),而采用原生代码从头开始构建的简单消费者应用程序需要花费6到25个人/月(平均为12个)的费用,因此开发一个简单的原生应用程序可能需要7.2万美元。而一个更复杂的原生应用程序的开发成本可能超过万美元。

如果使用低代码开发系统将一个简单应用程序的开发时间减少到一个人/月(成本约6,美元),但向每位用户只收取10美元的许可费,那么一旦拥有6,个用户,获得的收入将超过原生开发的成本。而这只是一个大概的估计。

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

员工对应用程序的期望往往低于消费者的期望,当需要应用程序执行工作时,员工实际上没有选择使用它的权利。他们可能会有所抱怨,但仍然会使用它。

无代码开发vs.低代码开发

如果使用的是无代码开发工具,通常可以将组件拖放到设计面板上,但发现该工具缺少需要的组件或功能时,就会遇到一些问题。因此需要从开发这一工具的开发人员或第三方供应商那里购买或以其他方式获得所需的组件。

在低代码开发工具中,虽然学习曲线可能比无代码工具更陡峭一些,因为需要编写一些代码,但扩展工具的障碍通常更低。因此不必购买另外组件,通常可以编写代码来调用系统、开源或供应商API。

在一些低代码环境中,其代码是可选的。换句话说,在一定程度上,该环境可用于无代码开发。业务用户可能能够执行95%的开发工作,而程序员为剩余的5%开发工作编写必要的代码。这些工作会因应用程序和工具而有所不同。

通常情况下,开发人员需要为低代码工具编写的代码在语义上类似于可能已经知道的语言。例如,MicrosoftPowerFx基于MicrosoftExcel,而AlphaSoftware的Xbasic则源于MicrosoftBasic。许多低代码工具使用的语言或者与JavaScript有着密切的关系,或者嵌入了真正的JavaScript引擎,例如V8。

有一种观点认为无代码开发只是面向业务用户的低代码开发。还有一种更现实的观点认为,所有无代码和低代码开发团队都需要专业开发人员参与团队工作,以提供用户自己无法构建的部分:数据库模式、组件开发、体系结构、用户体验设计和质量评审。

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

在开始购买低代码或无代码开发工具之前,开发人员应该问自己一些关于开发应用程序的问题,以了解采用低代码或无代码工具是否有意义。以下是他们需要提出的问题:

正在构建桌面应用程序吗?是用于Windows?用于Mac?用于Linux?还是用于所有操作系统?

正在构建网络应用程序吗?是用于桌面浏览器?用于平板电脑?用于智能手机?还是用于所有设备?

正在构建移动应用程序吗?是用于iPhone?用于iPad?用于安卓?还是用于所有移动设备操作系统?

是否打算为移动设备编写原生代码?是否使用混合网络技术?使用原生shell和Web内容?还是使用所有这些技术?

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

应用程序是否需要采用数据库?如果需要,是采用现有数据库还是新建数据库?客户端会更新数据库吗?

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

是否正在构建供内部使用的应用程序?是为客户还是消费者构建?是为商业伙伴?还是为所有这些人?

是否正在替换或现代化现有业务流程?是否正在尝试将现有的纸质表格实现计算机化?

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

桌面设备的目标包括适用于Windows、macOS、Linux甚至DOS的桌面应用程序。移动设备的目标包括Android、iOS及其适用于平板电脑和智能手表等。Web应用程序目标几乎包括上述所有内容,另外还要考虑支持浏览器(Chrome、Edge、Safari、Firefox和Opera)以及响应式处理不同屏幕尺寸的能力。混合Web应用程序将原生shell应用程序与Web内容相结合。

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

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

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

如今在无代码和低代码开发领域有多家供应商。调研机构Gartner公司对其中的大约家供应商进行了调查,但在试图将它们划分为不断变化的类别时感到为难,因为许多供应商和一些产品跨越多个类别。

行业专家认为不应该将业务流程管理(BPM)和机器人流程自动化(RPA)工具与其他无代码和低代码工具混为一谈,即使存在一些技术重叠。其不同之处在于业务流程管理(BPM)和机器人流程自动化(RPA)工具将其他系统自动化和编排为主要目的;普通的低代码开发工具可能会使用企业系统,但只是作为达到目的的一种手段。

例如,机器人流程自动化(RPA)是一种对贷款进行尽职调查的枯燥、重复、多系统过程的自动化工具;现场服务代理采用平板电脑应用程序取代纸质表格、加快流程并消除办公室内的信息转录,但该流程的自动化程度不足以满足机器人流程自动化(RPA)的要求。

以下选择了行业中七个低代码和无代码开发供应商作为示例,并按字母顺序排列:

AlphaSoftware:AlphaAnywhere是一种端到端、低代码、快速的应用程序开发工具,适用于面向数据库的桌面、Web和混合移动应用程序开发,可供具有各种技能的开发人员使用。AlphaTransForm是一种用于移动表单开发的无代码和低代码工具,具有离线功能,包括在连接恢复时自动同步。

Appian:Appian提供可视化的无代码设计器和低代码工具,用于通过无代码企业数据集成进行Web和移动应用程序开发。Appian分别为业务流程管理(BPM)和机器人流程自动化(RPA)提供自动化平台。

Claris:ClarisFileMaker是一种低代码开发系统,适用于桌面、Web和移动应用程序开发,并具有自己的数据库。它具有内置模板、拖放设计和直观的图形用户界面。ClarisConnect是一个自动化平台,构建在与FileMaker相同的核心上。

Mendix:MendixStudio是面向开发人员的WYSIWYG、基于浏览器的开发环境。MendixStudioPro是一个基于桌面的开发环境,其中包括软件开发所需的所有功能,以及在需要时添加自定义代码的能力。Mendix还提供了一个自动化平台。

Microsoft:MicrosoftPowerApps是适用于Windows10的低代码应用程序构建器,它使用模板、拖放设计和PowerFx(一种类似于Excel的编程语言)。PowerApps包含一个语言模型,可以从自然语言描述生成PowerFx代码。专业开发人员可以使用AzureFunctions和自定义连接器扩展PowerApps。而PowerAutomate是一个带有工作流引擎的独立RPA平台。

OutSystems:OutSystems允许拖放视觉元素来为Web和移动应用程序创建用户界面(UI)、业务流程、业务逻辑和数据模型,并在需要时使用代码对其进行自定义。它提供了大约70个预构建的模板和样式。OutSystemsForge包含数千个预构建的代码模块,可以将它们放入应用程序中,并根据需要在IDE中进行扩展。

Salesforce:SalesforceLightning是用于Salesforce平台的低代码、拖放式应用程序开发平台。Lightning还可以连接到其他应用程序和数据。LightningAppBuilder允许业务用户点击创建应用程序;LightningWebComponents帮助开发人员创建可重用的元素。

选择无代码或低代码开发平台的关键因素

还记得开发人员需要问自己的一长串问题吗?这是需要获得答案的地方。现在并没有一个万能的无代码或低代码开发系统,即使面临组织的系统需要实现标准化的压力。人们可能会发现不同的部门出于不同的目的需要采用不同的开发产品。

收费模式有意义吗?对于消费者应用程序,可能无法证明按用户收费的低代码系统是合理的。许多低代码供应商在他们的网站上公布定价。对于其他公司,用户可以咨询他们的销售部门,向他们询问定价,并对正在选择的一些供应商方案进行比较。

低代码/无代码平台是否支持所有想要的部署目标?如果没有需要继续寻找。如果开发人员的选项均不支持所有所需的部署目标,则考虑将目标列表确定为最重要的设备或浏览器。

低代码/无代码平台是否适合开发人员的技能组合?考虑通过团队一起构建应用程序,而不是依赖于拥有所有必要技能的某个成员。如果不具备采用这些工具所需的所有技能,需要继续寻找,因为也许其他工具可能更适合开发团队。如果工具选项都不适合团队的技能,那么或者考虑进行培训,或者招聘新成员,或两者兼而有之。

低代码/无代码平台会改善开发时间表吗?低代码开发的主要卖点之一是更短的上市时间。如果这对开发人员来说是一个重要的考虑因素,那么需要弄清楚真正完成其项目需要多长时间。开发人员根据开发要求和历史经验,向供应商询问时间表。向使用过该工具的开发人员提出同样的问题,并小心谨慎地将文档和测试阶段以及初始开发和最终部署包含在时间估计中。

低代码/无代码平台是否可以扩展?一些低代码解决方案可能带来了瓶颈,限制了可以同时运行应用程序的用户数量;其他的一些设计可以处理非常大的负载。在某些情况下,可以通过在负载平衡器后面运行多个服务器来解决服务器端的瓶颈。供应商应该能够告诉典型的部署可以处理多少用户,但是对于最终部署,开发人员应该执行负载测试。

低代码/无代码平台能否满足用户的期望?消费者期望采用的应用程序可以提供亚秒级响应和原生的感觉。在智能手机的应用上,要测试的行为之一是滚动一长串的列表:当用力向下滑动时,其列表滚动应该更快,但在停止之前将会放慢速度。

进行概念验证。在评估期间被动学习低代码产品是不够的。选择真正想要构建的一个简单子集,然后创建概念验证应用程序。建议开发团队尽可能在内部做POC开发,只是在遇到困难时才向供应商寻求帮助。

执行低代码开发是一个可以带来许多回报的过程。一方面,很多组织坚持他们的移动应用程序必须采用原生代码编程,然后当他们发现,在开发iOS应用程序花费万美元以及一年的时间,然后又在一个几乎完全相同的Android应用程序上花费50万美元和6个月的时间的时候会感到震惊。因此值得探索和采用低代码替代方案,无论是为了节省成本还是缩短上市时间。

另一方面,很多组织认为低代码开发可以由业务用户进行,无需专业开发人员或数据库管理员的帮助,但很可能面临项目失败的情况。

因此,如果组织设定了明确的目标,那么需要组建一个了解如何更快、更好地构建低代码应用程序的团队。

1
查看完整版本: 如何选择低代码开发平台