什么是低代码

纯代码(pro code)

比起低代码,我们更熟悉的可能是纯代码模式。

就是产品提需求,程序员根据需求完全编码实现的,也是目前最主流的方式。

当然这种模式的缺点也比较明显:

(1)程序员门槛高,成本高

(2)开发周期长

于是,可视化编程开始发光发热。

可视化编程,就是可视化程序设计,通过少写代码,或者不写代码通过拖拽的方式生成。

ps: 当然,C# Delphi 这些编程语言本来就支持可视化编程。这也不过是旧瓶装新酒。

低代码编程(low code)

低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境;与传统编写代码的 IDE 不同,低代码开发平台提供更易用的可视化 IDE。

No Code 和 Low Code 这两种的区别是,No Code 的是完全不需要写代码,而 Low Code 是需要写部分代码,整体通过拖拽的方式生成。

当然,你可能会说,no code 这么强,我们还写什么代码呢?

虽然 Pro Code 有前文提到的缺点,但是它也有 Low Code、No Code 暂时无法取代的优点。

Pro Code 的优势在于表达更精准、在封装的基础上更好的实现提效、更好的满足平台间的兼容性、更快的版本迭代。

为什么需要低代码

业务需求的爆发式增长

在这种需求爆发的背景下,用低代码去解决产能不足问题,是当前最合适的解决方案。

需求的快速增长,源于以下的几个原因:

输入图片说明

基础技术的发展

特别是云时代的云原生、DevOps 等技术的发展,助推了低代码平台的发展。

当前主流的低代码平台,首先是一个云平台,架构如下所示:

输入图片说明

新技术的发展(5G、AI、IoT 等)

应用开发的难度大大提升,使用低代码可以降低开发门槛。

低代码平台首页会预置常用的组件和能力,让开发者快速的开发应用。

主流厂商和资本的驱动。

主流厂商和资本的推动,不是低代码发展的根本原因。

但正是主流厂商和资本参与进来,对近几年的快速发展带来了非常强大的助力。

低代码平台是如何支撑微服务?

低代码开发平台支撑微服务需要满足两个技术要求:

一是技术架构满足云原生十二要素法,对上可支撑微服务应用开发;二是可以适配云原生底座(微服务治理、容器云、DevOp),对下可在开源云或商业云平台上运行。

输入图片说明

低代码平台面临的问题和挑战

低代码还是零代码?

低代码平台面临两个比较大的挑战:

首先,平台很难同时满足零代码和低代码对体验和能力的要求。

低代码开发要求足够简单,能够满足无开发经验的业务人员;同时又要足够专业,满足专业开发者通过代码和开发的思维,灵活开发专业应用。在同一个平台里,两者的兼容,对低代码平台的设计带来很大的挑战。

其次,低代码开发模式,特别是用来开发核心业务系统,对平台本身的能力,包括弹性、安全、可靠性、可运维等能力,都会带来很大的挑战。需要低代码平台具备足够的专业技术能力,足够多的实践和积累。

输入图片说明

低代码平台需要跟其它的业务系统进行连接。

主流的低代码平台,要么提供“连接器”的能力,要么提供 API 调用等能力,跟其它业务系统进行交互。

输入图片说明

这种连接方式,有两个比较大的挑战:

首先,需要对接的系统,协议是非常繁多的,比如 SAP 这种专业厂商的系统,或者是 RPC 协议的微服务,这些系统对接的难度和专业度要求都很高,低代码平台厂商没法把每种业务场景的连接都能预置到平台,需要有能力构建生态;

其次,除了连接,还有其它的数据接入方式。比如要对接一个 IoT 设备,是 IoT 设备主动推送数据到平台,这需要平台提供除主动连接之外的数据接入方式。数据接入方式的复杂和大量数据接入带来性能问题都是很大的挑战。

已有平台

可以发现低代码平台和云平台的关系非常密切。

所以大部分云平台厂商都有对应的工具,我们以腾讯云为例。

腾讯云微搭低代码 WeDa

腾讯云微搭低代码是高效、高性能的拖拽式低代码开发平台,向上连接前端的行业业务,向下连接云计算的海量能力,助力企业垂直上云。

腾讯云微搭低代码将繁琐的底层架构和基础设施抽象化为图形界面,通过行业化模板、拖放式组件和可视化配置快速构建多端应用(小程序、H5应用、Web 应用等),免去了代码编写工作,让您能够完全专注于业务场景。

腾讯云微搭低代码以云开发作为底层支撑,云原生能力将应用搭建的全链路打通,提供高度开放的开发环境,且时刻为您的应用保驾护航。

老马的思考

技术方向的变化

我们以前总喜欢讨论高并发、高性能、大数据、微服务,为什么现在讨论的没有那么多了呢?

个人感觉是能用到这些特性的大厂已经将这些封装的十分成熟,对于普通的开发者而言根本用不到。小厂也没有这样的场景。

最近几年都在讨论什么呢?

云技术、中台、敏捷、大前端、低代码。

你会发现上面的几个技术,本质上实际上并不是面向开发者的,而是面向老板,或者说面向资本的。

因为可以多快好省,所以才得到吹捧。

不论我们是否愿意,一切都会向着更快、成本更低的方向发展

低代码会让程序员失业吗?

网上对低代码平台有一个类比,纯代码开发就像使用 photoshop,低代码类似美图秀秀,零代码就是美颜相机。

实际上这种将修图技术推广到每一个人都能使用的事情,本人带来的影响是非常大的。

如果我们只会增删改查,终将会被淘汰。

摆在我们面前的有 2 条路:

(1)利用好低代码的红利,自己创业或者进行其他营收。

(2)打不过就加入,搞清楚背后的原理,搭上低代码时代的列车。

我们后续将主要从第 2 点出发,打造属于自己的低代码平台。

小结

希望本文对你有帮助,如果有其他想法的话,也可以评论区和大家分享哦。

各位极客的点赞收藏转发,是老马持续写作的最大动力!

参考资料

什么是低代码,到底用不用?

低代码:正在改变软件的开发方式

从0开始搭建低代码平台系列(系统设计与规划)

低代码开发平台(综合)

浅谈低代码平台涉及的一些技术选型

低代码平台:10分钟从入门到原理

“模型驱动”还不够!企业级低代码开发平台系统架构解密