在你开始购买低代码或无代码开发工具前,首先应该问自己关于打算开发的应用程序的几个问题,看看低代码或无代码是否适合你。(建议把答案写下来,供以后参照)
你在构建桌面应用程序吗?针对Windows?针对Mac?针对Linux?还是针对所有上述操作系统?
你在构建Web应用程序吗?针对桌面浏览器?针对平板电脑?针对智能手机?还是针对所有上述设备?
你在构建移动应用程序吗?针对iPhone?针对iPad?针对安卓?还是针对所有上述移动设备系统?
你在计划为移动设备编写原生代码吗?使用混合Web技术?使用原生外壳和Web内容?还是使用所有上述技术?
你有预算吗?预算多少?有截止日期吗?截止日期离现在还有多远?你有多少名开发人员?他们拥有哪些技能?预算、截止日期和资源是否与应用程序的目标相一致?你是如何进行估算的?
应用程序背后是否需要数据库?如果需要,是采用现有数据库还是新数据库?客户会更新数据库吗?
应用程序是否需要支持客户端通信?还需要其他特殊功能吗?
你是否在构建供内部使用的应用程序?供客户或消费者使用?供业务合作伙伴使用?还是供所有这些人使用?
你在替换或翻新现有业务流程?是否在尝试用计算机处理现有的纸质表格?
这一系列问题表明,应用程序的目标环境多种多样。因此,无代码和低代码开发工具的设计范式也是多种多样。
运行时目标包括面向Windows、macOS、Linux,甚至DOS的桌面应用程序。移动目标包括安卓、iOS及面向平板电脑和智能手表的变种。Web应用程序目标几乎包括所有上述。另外,还要考虑浏览器支持(Chrome、Edge、Safari、Firefox和Opera)以及响应迅即地处理不同屏幕尺寸的能力。混合Web应用程序将原生外壳应用程序与Web内容相结合。
设计范式包括:定制原型应用程序,带有属性表和少量代码片段的拖放式设计环境,声明式字段描述,扫描表单的转换,线框或图形设计的转换,以及从数据库模式生成表单。控件可能有绝对或相对的布局,可能有面向控件组的流式布局或容器。控件本身可能是平台原生的,也可能作为工具运行时环境的一部分来实现。
后端功能可能包括身份验证和连接到数据库、云服务和企业应用程序。移动应用程序可能支持文本消息、推送通知、地理定位、照片及视频服务、社交身份提供商以及与社交网络集成。使用后端服务的应用程序可能被设计成即使连接时断时续也能正常运行,知道如何解决当多个用户试图离线更新数据库时可能出现的数据冲突。
领先的低代码和无代码开发平台
如今在无代码和低代码开发领域有400多家供应商。Gartner公司跟踪分析了其中约250家供应商,许多供应商和产品横跨好几个类别。
我认为眼下不应该将BPM(业务流程管理)和RPA(机器人流程自动化)工具与其他无代码和低代码工具归并为一类。即使存在一定程度的技术重叠,但不同之处在于,BPM和RPA工具的主要用途是对其他系统进行自动化和编排。平常的低代码开发工具可能会使用企业系统,但只是作为达到另一个目的的一种手段。
比如说,RPA是一种工具,可以将贷款进行尽职调查这个枯燥、重复、多系统的过程实现自动化。而现场服务代理用来记录电梯检查的平板电脑应用程序可以取代纸质表格、加快流程,并消除一些办公室内的信息转录,但是实现流程自动化的程度不够高,称不上RPA。
我选择了以下七家低代码和无代码开发供应商作为例子,按字母顺序排列。(请注意:入围该名单并不代表推荐,无缘该名单也不代表谴责。)
Alpha Software:Alpha Anywhere是一种端到端的低代码快速应用程序开发工具,适用于面向数据库的桌面、Web和混合移动应用程序开发,可供技能程度不一的开发人员使用。Alpha TransForm是一种用于移动表单开发的无代码和低代码工具,拥有离线功能,包括连接恢复后自动同步。
Appian:Appian提供可视化的无代码设计器和低代码工具,面向Web和移动应用程序开发,具有无代码企业数据集成功能。Appian分别为BPM和RPA提供了自动化平台。
Claris:Claris FileMaker是一种低代码开发系统,适用于桌面、Web和移动应用程序开发,有自己的数据库。它拥有内置模板、拖放式设计和直观的图形化UI(用户界面)。Claris Connect是一种自动化平台,建立在与FileMaker相同的核心上。
Mendix:Mendix Studio是一种面向平民开发人员的所见即所得的、基于浏览器的开发环境。Mendix StudioPro则是一种基于桌面的开发环境,包括软件开发所需的所有功能,含有需要时添加自定义代码的功能。Mendix还提供了一个自动化平台和数据枢纽。
微软:Microsoft Power Apps是一种面向Windows10的低代码应用程序构建器,它使用模板、拖放式设计和Power Fx(一种类似Excel的编程语言)。Power Apps包含一个语言模型,可以从自然语言描述生成Power Fx代码。专业开发人员可以使用Azure Functions和自定义连接件来扩展Power Apps。Power Automate是一种单独的PRA平台,带有工作流引擎。
OutSystems:OutSystems让你可以拖放视觉元素,为Web和移动应用程序创建UI、业务流程、业务逻辑和数据模型,并在需要时使用代码进行自定义。它提供了大约70个预构建的模板和模式。OutSystems Forge含有数千个预构建的代码模块,你可以将它们拖放到应用程序中,如果需要还可以在IDE中进行扩展。
Salesforce:Salesforce Lightning是一种面向Salesforce平台的低代码拖放式应用程序开发平台。Lightning还可以连接到你的其他应用程序和数据。Lightning App Builder让业务用户可以通过点击操作来创建应用程序;Lightning Web Components帮助开发人员创建可重用的元素。