研究低代码技术,我觉得核心是搞懂 “这个产品的开发逻辑是什么???”而要搞懂 “开发逻辑”,可以去想想这个产品的 “演进逻辑!!!”
根据Gartner的“企业级低代码核心能力报告”
https://www.gartner.com/doc/reprints?id=1-24BSMGBN&ct=201007&st=sb (原价差不多2000美元呢)
首先把“低代码”定义搞清楚,国内五花八门平台太多,一有热点,大家都追一下。然后就一番混战😄
什么是低代码平台?
1、提供一个低代码的IDE,来完成设计、开发、数据和部署的过程;
2、低代码平台必须提供:应用的开发、测试、部署、发布、上架、运维;
3、支持设计应用的前后台的数据逻辑和业务逻辑;(包括存储,不依赖第三方工具)
4、对API完美支持:不管是接入外部API,还是生成API提供给第三方接入;
5、一键部署,快速运维;
6、支持组件库,以及组件分享和重用;(如果能支持外部组件更好,例如JS库)
7、企业级:高可用和容灾;SLA;企业支持;API融合能力。
低代码平台从何而来?(三条路线)

第一条路线,沿着可视化编程思想演进的,一代语言---二代语言---三代语言---可视化/无代码语言。
第二条路线,从原生APP可视化/组件化开发演进而来。
第三条路线,从在线表格系统、iBMPs(工作流系统)、报表系统、CMS(内容管理系统)等SaaS软件演进而来。
第一条:可视化编程+新一代编程语言(归为“编程语言”)
可视化编程方式的探索,早在上世纪70/80年代就有了,由于各种因素一直都在探索,一直都没有发展起来。我分析主要原因有以下这些:
(1)没有云计算提供基础设施,可视化特别是后台难度太大;
(2)基础设施还比较落后,3G/4G/5G、CPU/GPU、手机技术、操作系统/浏览器技术...,图形化编程受限于硬件和软件环境,例如,在浏览器里跑不动这样开发的IDE,如果不在浏览器里,又势必依赖和受限某一种编程语言;
(3)那个时候,人们对应用需求,包括企业对应用的需求没有那么旺盛;
(4)可视化编程体系的建立,工作量巨大,又底层,早期有太多脏活累活要做,而且有很多技术不确定性,很有可能研发失败。
但是,新一代语言和可视化的尝试一直就没有停止过,发展到今天,我找几个比较靠谱的出来给大家参考。在维基百科上可以参考:"visual programming language",简称VPL。如今多数语言开发IDE,都具备可视化特征,但是开发语言本身可视化程度比较高的就很少了。
如上图所示,无代码可视化编程的核心能力,应该
(1)完备逻辑编辑/编排能力;(可能还需要颗粒度很低的原子组件系统)
(2)代码生成能力;(需要有编译器)
(3)和云计算无缝的整合能力;
(4)采用事件驱动的模型。
国外比较有名:Construct 、Scratch、Matlab*
Construct⭐️⭐️⭐️⭐️(2007年),游戏可视化开发工具,网址 www.construct.net ,现在已经出到3.0版本了,可以云端开发/云端运维,主要是针对游戏市场。现在已经有中文版了,说明了对中国市场的关注。产品功能强大,能实现较复杂逻辑的无代码可视化开发,并大力发展教育市场,可能是受到了Scratch产品的启发。
Scratch⭐️⭐️⭐️⭐️⭐️,可谓家喻户晓,基本上算是儿童编程的标准产品。从可视化编程角度看,虽然功能并不算强大,但从产品角度看确实取得了巨大的成功。由于Scratch是开源产品,因此几乎国内所有儿童编程相关产品都来源于(汉化/改编于)Scratch。
Matlab⭐️⭐️⭐️⭐️⭐️,这个就不用多说了,科学计算的扛把子。由于可是逐行函数执行,可视化程度非常高,但是也支持代码和语法,是一个比较特殊的例子。
国内由始至终,始终沿可视化无代码编程方向发展的应该就只有 iVX ⭐️⭐️⭐️⭐️⭐️(2008年)了,iVX 主要面向应用开发领域,无论是企业应用还是个人应用基本都可以支持,甚至可以开发游戏。基本上形成了全新的可视化无代码开发体系,产品配套也基本到位,支持多人开发/版本管理,完全云原生。
第二条:MADP/MXDP移动应用开发平台/多体验应用开发平台(归为“开发平台”)
通过最上面的示意图可以看出,这条路线已经基本具备和“云计算”整合的能力,以及“代码生成”能力。
其实就是开发手机端支持iOS/Android原生应用为主(起家)的平台,国外的LCDP(低代码平台)多数都是从MADP/MXDP演进过来的,最有名的:Mendix(2005年)、Outsystems(2000年)、Salesforce(lightning App Builder)、Micriosoft(Power platforms)等。
在早些年,WebApp这种方式并没有那么普及,手机端应用的主要呈现方式还是以原生APP为主(即MADP),然后再到“Hybrid”、“WebApp”(即MXDP)。
国内公司以及综合表现:
AppCan⭐️⭐️⭐️、无远⭐️⭐️⭐️、活字格⭐️⭐️⭐️、APICloud⭐️⭐️⭐️、牛刀⭐️⭐️
第三条:领域内的开发框架演进而来(归为“开发框架”)
如示意图所示,开发框架核心具备的能力为:模型驱动/模型整合能力 以及 组件化能力。
国内基本上都是按这一条路径演化而来的,氚云⭐️⭐️⭐️、明道⭐️⭐️⭐️、宜搭⭐️⭐️⭐️、简道⭐️⭐️⭐️、轻流⭐️⭐️⭐️等等全是这一路线。
之所以归为“开发框架”,主要是开发出来应用只能在原框架下使用,并不能开发成独立的应用(脱离框架),单独部署,这对功能和灵活性带来极大限制。简单说,例如选了氚云就不能选明道或别的框架了。
三条路径其实都没有优劣,只是选择方向不同,适合场景不同,例如“开发框架”已经产品化比较好,可以直接给业务人员使用,如果功能需要拓展,再找研发人员通过框架提供接口进行开发。而编程语言(iVX)和开发平台(AppCan等)主要直接给开发人员用,或者说iVX等技术上更加底层。
网友评论