前言:

低代码(英文名称:Low Code),该概念有很长一段自由发展期,期间缺乏完整定义,大家习惯根据自己的理解为新技术“添砖加瓦”,导致没有统一认知,竞争赛道模糊。

直到2014年,Forrester提出低代码的定义,“让人们可以用最少的手工编码就可以快速开发应用,并可以快速配置和部署的一种技术和工具。”;2018年,Gartner提出和推广aPaaS和iPaaS概念,持续的技术创新让低代码受到越来越多的人关注。相关研究机构的定义引导大众形成了对低代码的基本认知,规范了发展赛道,并指出其技术特点高度契合数字化转型需求,迅速吸引了大量资本投入,极大地加强了低代码的市场活跃度。

因此简单来说,低代码(Low Code)是一种可视化的应用开发方法,用较少的代码、以较快的速度来交付应用程序,将程序员不想开发的代码做到自动化,称之为低代码。 低代码同时也是一组数字技术工具平台,基于图形化拖拽、参数化配置等更为高效的方式,实现快速构建、数据编排、连接生态、中台服务。通过少量代码或不用代码实现数字化转型中的场景应用创新。

image.png

一、通俗讲透:到底什么是低代码平台?(盘点各家权威平台定义)

低代码“Low-Code”是什么?如果你是第一次听说,没准也会跟我当年从老板口中听到这个词后的内心戏一样:啥?“Low-Code”?“Code”是指代码我知道,但这个“Low”字是啥意思?不会是老板发现我最近赶工写的代码很丑很“Low”吧......想多了,老板怎么可能亲自review代码呢。

那难道是指,“Low-level programming”里的“Low”?老板终于发现让我等编程奇才整天堆Java业务代码太浪费,要派我去闭关写一个高性能C语言网络库... 显然也不是,老板哪能有这技术情怀呢。那到底是什么意思?作为一名搜商比情商还高的程序员,能问Google的绝不会问老板。于是我一顿操作后,不假思索地点开了第一条搜索结果。果不其然,这是一条充满自由芳香只有翻墙才能闻到的Wikipedia词条:Low-code development platform。

Wikipedia定义

image.png

从Wiki的这段定义中,我们可以提炼出几个关键信息:

低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境。看到“开发环境”几个字是不是很亲切?对于程序员而言,低代码开发平台的性质与IDEA、VS等代码IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。

与传统代码IDE不同的是,低代码开发平台提供的是更高维和易用的可视化IDE。大多数情况下,开发者并不需要使用传统的手写代码方式进行编程,而是可以通过图形化拖拽、参数配置等更高效的方式完成开发工作。

Forrester定义

顺着Wiki的描述还能发现,原来“Low-Code”一词早在2014年就由Forrester提出了,它对低代码开发平台的始祖级定义是这样的:

image.png

相比Wiki的版本,这个定义更偏向于阐明低代码所带来的核心价值:

低代码开发平台能够实现业务应用的快速交付。也就是说,不只是像传统开发平台一样“能”开发应用而已,低代码开发平台的重点是开发应用更“快”。更重要的是,这个快的程度是颠覆性的:根据Forrester在2016年的调研,大部分公司反馈低代码平台帮助他们把开发效率提升了5-10倍。而且我们有理由相信,随着低代码技术、产品和行业的不断成熟,这个提升倍数还能继续上涨。

低代码开发平台能够降低业务应用的开发成本。一方面,低代码开发在软件全生命周期流程上的投入都要更低(代码编写更少、环境设置和部署成本也更简单);另一方面,低代码开发还显著降低了开发人员的使用门槛,非专业开发者经过简单的IT基础培训就能快速上岗,既能充分调动和利用企业现有的各方面人力资源,也能大幅降低对昂贵专业开发者资源的依赖。

二、低代码平台应该如何挑选?(盘点选择低代码首先要考虑的11个问题)

1、要管哪些数据?

数据是系统的核心,管理哪些数据,管理哪些要素,是系统开发首要考虑的问题。但问题是刚开始设计系统的时候不可能一下子全部想清楚。这时候低代码开发平台的优势就来了。通过配置化的方式搭建系统原型,一边搭建一边运行看效果,根据效果逐步调整和完善。很快就可以搭建出系统原型。即使系统正式上线了,也可以随时按照客户的需求,快速修改系统配置。

2、要处理哪些业务逻辑?

开发系统的核心目的是为了提升效率,减轻人工的工作量。因此必然要处理很多复杂的业务逻辑。比如开发合同付款管理的时候肯定要计算已付款、未付款。开发物品领用的时候要扣除库存,这些都需要编写业务逻辑代码。成熟的低代码开发平台,应该提供完整的入口,让开发人员可以编写各种业务逻辑。而市面上很多所谓零代码开发平台,在开发初期或许看起来很美好,但随着开发需求的深入,必然是程序员的噩梦。

3、要怎么管理程序版本?

程序员的大脑不是万能的,不可能记住每次修改的内容,但是版本管理工具可以。版本管理是优秀的程序员开发系统前首先要考虑的问题。如果是开发稍微大一点的项目,更需要多人合作。那如何创建 issues,如何追踪每一个开发人员每次修改的内容就非常重要。织信Informat低代码支持保存所有的业务配置文件和业务逻辑脚本,开发人员所有的智慧结晶都可以采用平台内置的运维工具自动保存或同步到 Github/Gitee/Gittlab 版本库中,并结合这些平台强大的功能可以提交、回退、创建分支、发布 Release,还是那么熟悉,那么优雅。通过 Gitbub Issues,你可以把客户提的每一个需求记录下来,并与代码修改历史绑定,将来客户扯皮的时候,这是非常重要的证据。

4、要怎么控制数据权限?

既然是业务系统,权限控制就显得非常重要。我创建的数据,哪些人能看,哪些人能改,甚至哪些人能看能改哪些字段,这些都要控制。但如果这些控制都写在代码中那也太累了,而且不利于后期维护。优秀的低代码开发平台,都会内置一套完整的部门、角色、权限控制体系,不需要开发人员介入,后期系统管理员就能接手系统的权限调整。

5、要怎么开发业务审批?

审批是中国管理的一大特色,避免扯皮,也明确责任。织信Informat内置了符合中国特色流程引擎,并提供了图形化的表单与流程设计工具,不需要开发人员介入,用户的系统管理员就能自主配置、监控、管理业务流程。流程中的数据还能通过配置自动归档进入业务台账,更是省掉了接口开发的成本。

6、要怎么开发统计报表?

对于系统开发来说,后期的数据分析非常重要。织信Informat内置了一套报表设计工具,不需要开发人员介入,用户的系统管理员就能自主配置各种报表,包括数据透视图。更神奇的是,系统在生成报表的时候,会自动计算当前用户的权限,同一张报表,根据用户权限不同,看到的数据范围也不同。当然,内置的报表工具不是万能的,对于复杂的报表需求,织信Informat也提供了编写代码的模式,例如使用js脚本开发报表。

7、开发的系统,可以用于大型项目吗?

这是真正的难题。开发一个小系统给几百个用户用很多程序员都能做到。但是如果面临数千、数万、数十万的用户量,则必须要架构于一套可以持续扩展的平台。织信Informat内核基于 Java 开发,可以轻松部署成集群模式,同时运行数十个数百个服务,个别服务器崩溃完全不会影响用户使用。而数据库采用 PG SQL,也可以轻松搭建成集群模式,数台、数十台服务器同时运行,更难能可贵的是,即使其中个别服务器奔溃,系统数据也完全不会丢失。

8、开发的系统,可以使用手机访问吗?

对于开发人员来说,适配手机界面是一件很麻烦的事情。要兼容安卓、苹果系统,苹果系统要考虑手机、平板,安卓系统更是要考虑各种版本,这不听说华为要出自己的手机系统了?然而这些都不需要担心。织信Informat提供了自适配的手机h5移动端,你所有的忧思我们都为了解决了,是的,你什么都不用做,你开发的系统就可以直接用手机端访问了。

9、数据被篡改了怎么办?

既然业务系统要数据共享,必然存在多人同时编辑一条数据的问题,传统的开发模式,数据改了就改了,保存到数据库中,留不下一丝痕迹。好的低代码开发平台,包括 Salesforce, odoo 和织信Informat,都提供了一种日志记录的功能,对于关键业务表可以启用日志记录功能,这样用户的每一次修改都会留下痕迹,什么人,在什么时间,修改了哪个字段,从什么值改成了什么值,都会完整的记录备查。

10、程序员要离职了怎么办?

对于公司来说,程序员的流动性通常是一个大问题,因为大型系统的代码量非常大,一旦核心程序员离职,在系统维护、持续开发方面都会面临比较大的问题。而使用低代码开发平台之后,因为程序员只需要编写核心业务逻辑,代码量通常只有传统项目的1%甚至更少,维护和交接变得容易很多。

11、对于程序员个人发展有帮助吗?

效率的提高推动社会的进步。以前你可能是公司研发部门下的一颗螺丝钉,负责业务系统某一个功能的开发。切换到低代码开发平台之后,你一个人可以独立负责一个大型项目,开发效率大幅提升。你的工作内容也会由写一些枯燥的代码,转变成与业务人员沟通,分析需求,设计数据模型,编写核心业务逻辑,逐步提升到产品经理/项目经理的层次,而且是一个极其稀有的、会写程序的产品/项目经理。创造的价值不同。相信未来能获得收入也会大不同。


织信informat
85 声望10 粉丝

[链接] 一站式低码解决方案