美文网首页
低代码技术的演进过程(MXDP/MADP/BMP/CMS/DDD

低代码技术的演进过程(MXDP/MADP/BMP/CMS/DDD

作者: 低代码无代码分析师 | 来源:发表于2021-06-22 12:45 被阅读0次

研究低代码技术,我觉得核心是搞懂   “这个产品的开发逻辑是什么???”而要搞懂 “开发逻辑”,可以去想想这个产品的 “演进逻辑!!!


根据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等技术上更加底层。

相关文章

  • 低代码技术的演进过程(MXDP/MADP/BMP/CMS/DDD

    研究低代码技术,我觉得核心是搞懂 “这个产品的开发逻辑是什么???”而要搞懂 “开发逻辑”,可以去想想这个产品的 ...

  • 选择低代码、无代码、iBPMS还是MXDP?来看看Gartner

    广义的低代码是指所有可以帮助缺乏编程基础的开发者快速完成软件开发的技术和工具。Gartner认为,低代码主要有以下...

  • 大型项目架构演进过程及思考的点

    在架构演进的过程中,小到核心模块代码,大到核心架构都是不断演进的,这个过程值得我们去思考。 高大上的淘宝架构 我们...

  • DDD文章集

    一、阿里技术专家详解 DDD 系列 阿里技术专家详解 DDD 系列- Domain Primitive[https...

  • Golang事务模型

    序言 笔者在《软件设计的演变过程》一文中,将通信系统软件的DDD分层模型最终演进为五层模型,即调度层(Schedu...

  • Implement Domain Object in Golan

    序言 笔者在《软件设计的演变过程》一文中,将通信系统软件的DDD分层模型最终演进为五层模型,即调度层(Schedu...

  • 事件风暴

    DDD将研发者的目光首先聚焦在业务本身上,使技术架构和代码实现成为软件建模过程中的“副产品”。事件风暴都能有效地实...

  • 2019年的创业机会

    每一次的社会变革,都是技术、制度、公司不断演进的过程。 待续

  • C++实现RGB565转BMP图像的代码

    把代码过程中比较重要的代码片段备份一次,如下的资料是关于CC++实现RGB565转BMP图像的代码,希望能对各位朋...

  • 实现领域驱动设计- 入门

    What's DDD? DDD的目标:创建可测试、可伸缩、组织良好的软件模型。 DDD不是关于技术的,而是关于讨论...

网友评论

      本文标题:低代码技术的演进过程(MXDP/MADP/BMP/CMS/DDD

      本文链接:https://www.haomeiwen.com/subject/uvknrltx.html