2022-09-28
01
何为低代码
目前普遍对低代码的定位存在局限的视角,低代码被认为是一种敏捷开发技术和工具,于是业界更多的考虑是通过低代码开发与传统瀑布式开发的效率提升做对比。这是对低代码认知的不足,也是市场同质化竞争所带来的一种模糊的、笼统的印象。
Forrester认为低代码是“以最小的手动编码和前期最少的配置、培训和部署工作投入,快速交付业务应用程序的平台。” Gartner的定义是“LCAP至少必须包含这些低代码能力(例如模型驱动或带有脚本的图形编程方法)去开发由用户界面、业务逻辑、工作流和数据服务组成的完整应用程序。”
我们认为,低代码其实首先是一种降低IT技术门槛的理念和思想。任何一种以降低IT技术应用难度和复杂难度为方向的产品都具有极大的社会价值和经济价值,因为这将极大提升IT产品的普适性和易用性。
大家可以试着回想一下,您所知道的最具代表性的低代码类的产品是什么?依我看最早、最知名的低代码产品应该是Windows。其实微软的windows视窗操作系统就是一种低代码(无代码)的典型产品,在那个年代改变了原来依靠DOS操作系统需要键入命令才能与计算机交互的模式,通过可视化界面或简单操作就可以完成与计算机的协作,这毫无疑问是伟大的创举,也带给了微软公司巨大的成功。
低代码真正的价值其实是对“可组合的业务”的支撑,也就是说当低代码技术被应用在业务组件和模块的时候,将产生裂变式的巨大价值。通过低代码完成的组件封装模式将为敏捷开发带来颠覆性的变革和创新。这是因为,低代码技术天然匹配并可以完美融合通过组件化构建应用的新一代系统建设思想。而更为深层次的原因是低代码技术的目标其实就是满足模型或组件封装这一新一代开发思想中的核心诉求。
业务解耦沉淀共性组件是大势所趋,而组件形态包括业务元素和数据元素。这些组件在面对不同的系统需求和应用需求时,通过更为灵活的组合以实现新的应用开发和部署,这其实就是敏捷开发追求的理想场景。
"Reinventing the wheel."不要重复造轮子,这一软件工程的知名术语所追求的正是如此。所以当低代码与对象建模相结合,形成组件封装能力时,就会爆发出前所未有的价值,因为这将极大的降低开发的难度,形成普适性应用组件。比如我们将“客户”这一业务元素作为对象做好组件封装,这个组件就可能会被订单管理系统、业务管理系统、客户关系管理系统、合同管理系统、服务管理系统和营销报表系统等共同调用而无需每个系统做单独开发,这样的效率,才是根本性的价值提升。
由此可见,低代码发挥最大价值对应的是模型驱动的系统建设,而且这种复杂场景的管理系统才是发挥低代码技术最适合的战场。
今天,更多的业界同行将低代码技术应用在表单、流程、页面等领域,在整体系统开发工作中以局部应用的方式来提升简单场景的开发效率,这是造成业界对低代码认知不足的主要原因。尽管这也是低代码技术的方向之一,但不可否认的是,这绝不是唯一的方向!
对于类似国外ERP、PLM等成熟套装软件系统而言,按照规范的瀑布式开发的思路已经被证明很难达到其成熟度,其中严密的业务逻辑关系、数据架构体系等都不是可以被简单复制或超越的。在自主可控的大背景要求下按照传统思路重构核心系统挑战非常大。
然而低代码技术形成组件化封装这个方向为我们带来了希望,秉承农村包围城市的思想,从局部入手,逐步覆盖核心应用到全局应用。组件化的另外一个价值就是试错成本的降低,或者说如果我们某一个组件不成功其实并不会影响其他组件的运行,于是极低的试错成本让我们有勇气挑战更为复杂的核心应用系统和管理系统。我们可以尝试从每一个组件,每一个模块入手,以科学方法论的思想构建新一代业务模型和数据模型,以组件化的思想去完成业务逻辑,这使得重构大型应用系统成为可能。
所以,低代码的价值绝不仅仅在于开发效率的提升,我们甚至可以将低代码定义为新一代开发平台的核心技术思想,是实现敏捷开发的前提和基础,也是未来建设组件库和模型库的必要支撑,这才是低代码真正的核心价值!
今天的时代属于云计算的时代,我们已经走过了公有云,私有云和混合云,下一步必然是行业云。可能有读者认为行业云是提供行业属性的解决方案的SaaS服务,这其实并不准确。行业云应该是以PaaS行业组件形成沉淀的行业应用属性的平台服务,而这种行业组件必然是通过低代码开发予以封装完成的。
低代码作为技术,已经粉墨登场,而作为一种开发思想,必然迎来属于它的辉煌!