写点什么

浅谈低代码

作者:不叫猫先生
  • 2023-06-09
    北京
  • 本文字数:2522 字

    阅读完需:约 8 分钟

浅谈低代码

一、低代码平台问题

最近研究了一堆低代码平台,重点放在“代码生成型”低代码上(也就是生成应用可以单独导出独立部署的那种),道理很简单 aPaaS 型(也就是几个 SaaS+用户和权限管理这种)其实都差不多,用哪家好像都一样。研究的“代码生成型”平台,国外有 Mendix、Outsystems,国内有 iVX、网易轻舟、浩鲸灵犀、无远、牛刀、活字格(严格上不算代码生成,后面发现)...发现了一个重大问题,现在都把研发的重点放在了“功能的堆积上”!,好像招标的时候这个功能点也有、那个功能点也有,实际操作上完全不是那么一回事。包括国外的牛逼产品,要想做一个简单应用,要打开十多个不同的页面才能完成,有的几十个;有的封装成不同类型的子工具。国内就更不敢直视了,我重复一个小应用,光画个流程图,就把我累死,很简单流程来的。我不敢想象,如果复杂的应用,那么小一个画板如何装下那么复杂的流程?而且大概十几个不同的窗口,有些甚至需要点下去 4、5 层这个操作才完事儿。

另外我们看一下低代码的发展,具体如下图:



如何既满足语言的通用性,又能使语言尽可能简单、高校、利于人们快速学习?在这个问题里面,通用性(即语言属性)要求编程语言具有“完备的逻辑表达能力”,而越完备必定使语言设计越复杂;而另一方面,又要求语言“易于学习掌握”“快速编程”“代码量越低越好”。

二、低代码平台评价方法、价值观、来龙去脉

低代码产品来源主要有三个渠道,如果不算广义的 CRM、ERP 系产品(Wix、WordPress、Odoo...这些),这些产品构成了现在低代码的主要格局。

从 MADP/MXDP 演进而来:

MADP 代表“移动应用开发平台”,其实就是做原生 APP 可视化开发的平台;MXDP 代表“混合多体验开发平台”,实际上就是在移动原生 APP 开发平台基础上增加了对 Web App 的支持。现在有了 GPT,我直接把 GPT4 的描述写在下面,大家就很清楚了。



大家会发现最主要的厂商都在上面... Mendix Outsystems PowerApps 等。这类低代码产品的特定也非常清晰:多数做企业服务(会有一套完整系统安装到企业内部),有相对复杂的 IDE,功能上也相对比较完整,研发的周期也比较长,大部分都在 10 年以上。这类型产品,主要其实也是给研发人员使用的,或者他们叫“CitizenDeveloper”,但是真正的业务人员很难学会。

“SaaS”、“BPM”以及“Bi”为主的厂商

这里面比较有名的是 ZoHo Creator、Salesforce、Airtable、AppShee、Appian 、Tableau、PowerBi 等,国内有很多厂商都是从这个领域介入低代码研发的。这类型演变过来的低代码产品,往往场景比较明确(主要是“BI 场景”、“工作流 BPM 场景”、“在线表格场景”、“在线表单场景”这四种),通常是多个“引擎”和“模型”驱动的,基本都可以给业务人员直接使用,感觉上就像是很多 SaaS+用户+权限管理,开发全新场景时,灵活性会受到一些限制。

代码生成平台

这类平台国内比较少,而且主要专注于“通用程序开发”,是一种底层通用技术(上面提到的更倾向于“应用开发框架”),因此也不会限制只用于“企业服务”。国外的代码生成平台主要包括以下这些:前端代码生成平台:WebFlow Wappler PineGrow ReactStudio 后端代码生成平台:Backendless Firebase (by Google) Stapi 数据库代码生成平台:Prisma DbDesigner SQLDBM QuickDBD 具有统一的前后台代码生成能力的就比较少了,主要有: Bubble Appgyver (By SAP) Retool

三、如何评价低代码平台?

我列出了最核心的三项,以及我觉得重要的评分项,供大家参考。

核心能力一:功能和性能 ?(详细见后面列表)

(大白话就是:不写代码能做什么?做得怎么样?)这个重要性不言而喻,有些低代码平台说自己“接代码”什么都能实现,这句话当没说。核心还是一句,不写代码能做什么!这个地方我觉得可以补充一下,就是“低代码编程”和“代码编程”的关系,我们觉得最佳实践就是“充分非必要!”,即“什么代码都可以用,但是不用也都行”。

核心能力二:是否锁定 ?

我先解释一下,什么叫不锁定?最佳状态就是“和手写代码一个样”,最好“调试方式和代码管理”都可以继承。这里面分几个层面:例如“低代码平台”生成的代码可以被现有的代码形式“直接接受”,意味着原有的开发项目直接可以以插入的方式使用。另外,以前端为例,可以直接在低代码平台中直接导入以前开发“组件或代码”那是更好。其实开发者不一定需要在“二开”的时候,直接修改“低代码平台”导出的源代码(如果可以导出),而是需要这种“修改的能力”!这是一种“安全感”,这一点其实非常重要,当然难度也是最大的。坦率的讲,想在绝大多数的低代码平台都存在锁定用户的问题,即无法实现“应用代码导出和独立部署”,有些是可以打包导出一个加壳文件,最后还是要导入到特定环境中运行的。有两种情形如下:

  • 情形一:所有应用都在框架内部,无法导出独立部署

  • 情形二:应用可以导出,例如导出成 mpk 或 osp 文件,但是只能导入到自身平台环境运行

核心能力三:产品整合能力 ?

我研究过很多低代码产品,很多产品从“开源”魔改而来,“功能堆叠和拼接感”严重,看上去吧好像这个也有,那个也支持,但是用起来完全不是那么一会事儿。说白了就是“其实开发一个应用有可能比写代码还费劲”。从一个侧面反映就是,窗口数量众多、操作层级特别深、逻辑和管理混乱,有些逻辑控制甚至有多个入口。道理其实也很简单,现在无论大厂小厂要开发一个产品时,先就找对应的开源产品和框架,然后开始组装和拼接,但是其实开源产品可能设计初衷并不是为了“低代码”,而且拼接越多,整个产品就越笨重,越难以驾驭。

四、低代码/无代码平台分类

研究了这么久,总结起来,低代码/无代码平台,大体分三类:

第一类:“业务人员”型

几个 SaaS 拼起来的(通常就是 BI/工作流/表单/在线表格这几个场景),有权限和人员管理,适合业务人员直接使用的;(明道、简道、宜搭...)

第二类:“非代码生成”型

需要研发人员,在指定框架内开发,无法生成单独应用代码并独立部署的;(Zoho、Power Platform、活字格、轻流...)

第三类:“代码生成”型

需要研发人员,可以生成代码或多种框架代码,可以独立将单个应用导出并部署到其它平台或服务器上。如果值得需求,肯定需要选第三类的低码平台,前两类不具备语言属性,学习价值不大。如果平衡几个方面而言,整体情况大致如下:


发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-10-18 加入

前端领域优质创作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!

评论

发布
暂无评论
浅谈低代码_低代码_不叫猫先生_InfoQ写作社区