重新定义程序开发的「低代码」平台,如何建设?
近两年,无代码和低代码方式已重新定义了程序开发。
这对于需要以敏捷模式快速响应市场的金融机构和金融科技企业而言助力明显,已开始逐渐发挥价值。
「低代码」指的是什么
2014 年,Forrester Research 第一次正式使用低代码来描述软件的建设。
业界领军者对低代码的定义如下:
outsystems: 低代码是一种软件开发方法,可以更快地交付应用程序,并且只需很少的手工编码。低代码平台是一组工具,这些工具可以通过建模和图形界面来可视化应用程序开发。可以使开发人员可以跳过手工编码,从而加快了将应用程序投入生产的过程。
mendix:低代码开发是一种可视化应用开发方法。通过低代码开发,不同经验水平的开发人员能够通过图形用户界面,使用拖放式组件和模型驱动逻辑来创建Web 和移动应用。低代码开发平台减轻了非技术开发人员的压力,帮其免去了代码编写工作,同时也为专业开发人员提供了支持,帮助他们提取应用开发过程中的繁琐底层架构与基础设施任务。业务和 IT 部门的开发人员可以在平台中协同,创建、迭代和发布应用,而所需时间只是传统方法的一小部分。
从以上定义中我们可以提炼出几个词:模型/建模、图形界面、拖放组件、加快、减轻。
综合以上关键词可见,「低代码」的核心就是:通过模型/建模、图形界面拖放组件,可以加快应用开发,减轻非技术开发人员的压力。
「低代码」与可视化编程
什么是低代码产品唯一不可缺少的功能?
—— 可视化编辑
代码编辑是非可视化的,而可视化则有效降低了开发难度,使程序开发的过程变得简单易操作。因此可视化编辑是低代码的必要条件。低代码的另一个叫法正是可视化编程。
什么是可视化编程的必要条件?
——「声明式」代码
因为可视化编辑器只支持「声明式」代码。
举个例子,如果想绘制一个红色区块,用「声明式」来实现,可以使用 HTML+CSS,类似下面的方法:
前端 HTML+CSS 可以看成一种描述界面的低代码 DSL(domain specific language,领域专用语言)。
「低代码」常见应用
在移动互联网时代,微商城大家都不陌生。有很多的三方平台可以提供微商城或者小程序的在线搭建,通过拖拽的方式自行搭建商城。无需任何代码编写即可实现商城搭建、装修、营销活动等。
上图为某赞提供的微页面编辑页面,通过左侧组件组合可以轻松实现微页面的封面设置、店长推荐、新品推荐、折扣、付费等必须功能。
在微商这个领域,业务场景已经高度流程化,需要的组件也已经非常丰富和实用。
「低代码」平台建设
从技术角度看,满足自身业务场景的业务组件的建设是低代码平台建设的第一要务。l 业务组件对易用性和开箱即用的诉求高于扩展性和通用性;l 业务组件对业务频繁的变化需要做出快速响应。
导入低代码项目物料
首先,我们需要将已有物料快速导入到低代码项目中。低代码项目物料和普通物料的差异主要差别在于需要物料的名称、描述、截图、logo等信息,以及哪些属性可以供配置和更改。
目前根网低代码平台已经针对场外业务提供了近千个业务组件抽象。
根网组件库
搭建目标页面
其次,使用组件和模板搭建目标页面。1. 选择项目和版本;
2. 编辑页面名称和路由地址
3. 通过物料、组件的可视化编排,形成页面
4. 修改属性及数据绑定
5. 与源码项目结合
对于新项目而言可以使用低代码平台搭建全新的应用,对于已存项目而言则面临着低代码与源码项目结合的需求。
在我们的实践中,使用出码模块对组件的schema进行出码,转换为React代码,同时分析组件的依赖以及物料描述,生成组件所需的package.json,再补充其它的工程文件。组成一个完整的React组件脚手架,再利用这个脚手对组件进行构建发布,最终生成一个npm 包。这个npm包其本质就是一个纯粹的React组件,因此他可以在任何 React 项目中直接使用。低代码平台的建设和应用是一个实践的过程,在这个过程中需要产品、平台和人不断的磨合,其成熟度和健壮性也需要时日加以完善。
当前,根网低代码平台正专注于基础能力的建设。未来,在国际化、流程和服务化等方面,我们将继续探索和加强应用。
根网科技低代码平台
Rootnet
END
Rootnet
推荐阅读