如何选择一个低代码开发平台

「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战

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

低代码和无代码开发工具的主要卖点是,它们可以被低技能的 "公民 "开发者成功使用;它们可以比使用本地SDK更快地制作应用程序;它们可以用更少的钱制作应用程序。许多(但不是全部)商业低代码和无代码系统通过许可费或订阅费抵消了你在劳动力成本上的节省。

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

如果你正在构建消费者或客户应用程序,请避免使用按用户收费的开发系统,并避免使用不能提供类似原生性能的开发系统。如果开发系统生成的应用程序性能缓慢或没有原生的外观和感觉,消费者很可能对它们嗤之以鼻。

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

如果你使用一个低代码开发系统,将一个简单的应用程序的开发时间减少到一个人月(成本约6千美元),但对每个用户收取10美元的许可费,那么一旦你有6600个用户,你的总成本将超过本地开发的成本。同样,这只是一个粗略的估计。

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

员工对应用程序的期望值往往低于消费者的期望值,当需要使用应用程序来完成他们的工作时,员工其实并没有选择。他们可能会抱怨,但他们仍然会使用它。

无代码与低代码开发

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

在低代码开发工具中,虽然学习曲线可能比无代码工具要陡峭一些,因为你需要写一些代码片段,但扩展工具的障碍通常较低。与其购买另一个组件,你通常可以写几行代码来调用一个系统、开源或供应商的API。

在一些低代码环境中,代码是可选的。换句话说,这个环境可以用于无代码开发,但要达到一定程度。商业用户可能能够完成95%的开发工作,剩下的5%由程序员来填写必要的代码。这些数字会根据应用和工具的不同而变化。

通常情况下,你需要为一个低代码工具编写的代码在语义上与你可能已经知道的语言相似。例如,微软的Power Fx是基于微软的Excel,而阿尔法软件的Xbasic是从微软的Basic发展而来的。许多低代码工具使用的语言要么与JavaScript关系密切,要么嵌入了一个真正的JavaScript引擎,如V8。

有一派观点认为,无代码开发只是向商业用户推销的低代码开发。还有一种更现实的观点认为,所有的无代码和低代码开发团队都需要专业的开发人员为团队工作做出贡献,以提供商业用户不能自己建立的部分:数据库模式、组件开发、架构、用户体验设计和质量审查。

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

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

  • 你在构建一个桌面应用程序吗?适用于Windows?适用于Mac?适用于Linux?适用于以上所有的应用?
  • 你在构建一个网络应用吗?用于桌面浏览器?为平板电脑?适用于智能手机?适用于以上所有的应用?
  • 你在建立一个移动应用程序吗?适用于iPhone?为iPad?适用于安卓?适用于以上所有的产品?
  • 你是否计划为移动设备编写本地代码?使用混合网络技术?使用本地外壳和网络内容?要使用以上所有的技术吗?
  • 你有预算吗?它是什么?你有一个最后期限吗?还有多远?你有多少个开发人员?他们的技能是什么?你的预算、最后期限和资源是否与你的应用程序的目标一致?你是如何进行估算的?
  • 你的应用程序背后需要一个数据库吗?如果是,是现有的数据库,还是一个新的?客户会更新数据库吗?
  • 你的应用程序需要支持客户通信吗?你还需要其他特殊功能吗?
  • 你是在建立一个供内部使用的应用程序吗?为客户或消费者?为商业伙伴?还是为以上所有的人?
  • 你是否正在更换或更新一个现有的业务流程?你是否试图将现有的纸质表格电脑化?

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

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

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

后端能力可能包括认证和与数据库、云服务和企业应用的连接。移动应用程序可能支持文本信息、推送通知、地理定位、照片和视频服务、社会身份提供者,以及与社交网络的整合。使用后端服务的应用程序可能被设计成即使在有间歇性连接时也能工作,并可能知道如何解决当一个以上的用户试图离线更新数据库时可能出现的数据冲突。

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

上次我看了一下,在无代码和低代码开发领域有超过400家供应商。Gartner涵盖了其中的250家,并且似乎在试图将它们分成不断变化的类别。许多供应商和一些产品,跨越了几个类别的定义。

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

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

我选择了以下七家低代码和无代码开发供应商作为例子,并按字母顺序排列。请注意,列入这个名单并不是一种推荐。

  • 阿尔法软件。Alpha Anywhere是一个端到端、低代码的快速应用开发工具,适用于桌面、网络和混合移动应用的开发,它是面向数据库的,可由具有各种技能的开发人员使用。Alpha TransForm是一个无代码到低代码的移动表单开发工具,具有离线功能,包括连接恢复后的自动同步。
  • Appian。Appian提供了一个可视化的无代码设计器和低代码工具,用于网络和移动应用开发与无代码企业数据集成。Appian还为BPM和RPA提供了一个自动化平台。
  • Claris。Claris FileMaker是一个低代码开发系统,用于桌面、网络和移动应用开发,包括其自身的数据库。它具有内置模板、拖放式设计和直观的图形用户界面。Claris Connect是一个建立在与FileMaker相同核心上的自动化平台。
  • Mendix。Mendix Studio是一个所见即所得,基于浏览器的开发环境,适合公民开发者。Mendix Studio Pro是一个基于桌面的开发环境,包括软件开发所需的所有功能,包括在需要时添加自定义代码的能力。Mendix还提供一个自动化平台和一个数据中心。
  • 微软。微软的Power Apps是Windows 10的低代码应用程序生成器,它使用模板、拖放设计和Power Fx,一种类似Excel的编程语言。Power Apps包括一个语言模型,可以从自然语言描述中生成Power Fx代码。专业开发者可以用Azure功能和自定义连接器扩展Power Apps。Power Automate是一个单独的RPA平台,有一个工作流引擎。
  • OutSystems。OutSystems让你可以通过拖放视觉元素来为你的网络和移动应用程序创建UI、业务流程、业务逻辑和数据模型,并在需要时用代码进行定制。它提供了大约70个预建的模板和模式。OutSystems Forge包含数以千计的预置代码模块,你可以将其放入你的应用程序中,并根据需要在IDE中进行扩展。
  • Salesforce。Salesforce Lightning是Salesforce平台的一个低代码、拖放式的应用开发平台。Lightning还可以连接到您的其他应用程序和数据。Lightning应用程序生成器让企业用户可以通过点击来创建应用程序;Lightning网络组件帮助开发人员创建可重复使用的元素。

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

还记得上面你问自己的一长串问题吗?这就是你需要咨询你的答案的地方。没有一个放之四海而皆准的无代码或低代码开发系统,尽管你会感到压力,要在整个企业中统一使用一个系统。你可能会发现,不同的部门需要不同的开发产品,用于不同的目的。

  • 这种收费模式对你有意义吗?对于消费者应用程序,你可能无法证明按用户收费的低代码系统是合理的。许多低代码供应商在他们的网站上公布他们的价格。对于其他人,你需要给他们的销售部门打电话。现在不是害羞的时候。向他们询问价格,并比较你正在检查的供应商之间的答案。

  • 低代码/无代码平台是否支持所有你想要的部署目标?如果不支持,请继续寻找。如果你的选择都不支持所有你想要的部署目标,那么考虑将你的目标列表修剪成最重要的设备或浏览器。

  • 低代码/无代码平台是否适合你的开发人员的技能组合?考虑与团队一起建立一个应用程序,而不是依靠一个人("独角兽")来拥有所有必要的技能。如果你不具备这个工具所需的所有技能,继续寻找,因为另一个工具可能更适合你的团队。如果你的工具选项中没有一个适合你的团队的技能,那么你要么考虑培训,要么考虑招聘,要么两者都考虑。

  • 低代码/无代码平台会改善你的开发时间吗?低代码开发的主要卖点之一是缩短上市时间。如果这对你来说是一个重要的考虑因素,那么你需要弄清楚真正完成你的项目需要多长时间。根据你的要求和他们的历史经验,向供应商询问一个时间线。向使用过该工具的合同开发商询问同样的问题。要注意在你的时间估计中包括文档和测试阶段,以及初始开发和最终部署。

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

  • 低代码/无代码平台能否满足你的用户的期望?消费者期望从你的应用程序中得到亚秒级的响应,有一个原生的外观,和一个原生的感觉。在智能手机上,要测试的行为之一是滚动一个长的列表。当用力滑动时,滚动应该是快速的,但感觉列表有 "动力",并在停止前放慢速度。

  • 进行概念验证。在免费评估期间被动地学习一个低代码产品是不够的。挑选一个你真正想要建立的简单子集,并创建一个概念验证的应用程序。我建议你尽可能多地在内部进行POC开发;只有在你自己的人被卡住时才向供应商寻求帮助。

进行低代码开发是一个可以带来许多回报的旅程。一方面,太多的公司坚持认为他们的移动应用必须用原生代码编写,然后当他们在一个iOS应用上花费100万美元和一年的时间,以及在一个几乎相同的Android应用上花费50万美元和六个月的时间时,他们感到震惊。无论是为了节约成本还是为了缩短上市时间,都值得探索低代码的替代方案。

另一方面,太多的公司认为低代码开发可以由商业用户来完成,而不需要专业开发人员或数据库管理员的帮助,然后在项目失败时感到震惊。如果你能避免这两个极端,并设定明确的目标,你就很有可能组建一个知道(或学会)如何快速、良好地构建低代码应用程序的团队。

感谢观看,如果您有兴趣,可以关注一下我,方便查看后续文章,一起学习,共同进步,不胜感激!

猜你喜欢

转载自juejin.im/post/7035797406163664904