GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

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

2020 年 12 月 04 日

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

低代码最近是又火了一波,到底什么是低代码,它有什么用,我到底用不用?


2021年1月8-9日举办的QCon全球软件技术开发大会上,阿里前端技术专家、架构师汪凤震将分享《探索低代码的未来》。他表示,“其实每个做低代码产品的团队都会有很多实践和失败经验,他在乎的不是别人的具体实践和坑,更在意的是,有充分依据告诉我低代码是不是值得投入,如果要投入,侧重点抓手该是怎样的,怎么做好一个未来化的低代码产品。” 于是,InfoQ 在会前采访了汪老师,我们一起来看看低代码到底是什么,自己到底要不要用低代码。

低代码之前的 Pro Code


在低代码概念引入之前,我们先看看纯代码(Pro Code)。


绝大多数的编程是手写全部代码,也就是大家说的“纯代码”,要实现某一功能,你需要把代码全部码上去。因为每个人写代码的逻辑不一样,所以对于实现同一个功能,有的人可能几行代码,而有的人可能会不停地去嵌套逻辑,用很多行代码。大家都知道代码越多,后期要是增删改,出现 bug 的可能性就会越大;如果这时候再有部门间协作的话,不光代码体量大,而且效率低,流程上也会出现各种问题。


有没有一种方法可以避免这些诸如:程序员门槛高、文档链路长、研发效率不够高等问题呢?


于是,可视化编程开始发光发热。可视化编程,就是可视化程序设计,通过少写代码,或者不写代码通过拖拽的方式生成。可视化编程的特点就是所见即所得、一站式研发、技术收敛,而且专业门槛低,对程序员小白相对友好。

Low Code、No Code


关于可视化编程,主要分为两类,一是无代码,另外一个是低代码。


其实,网上一搜索“低代码”相关的定义特别多,维基百科定义:低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境;与传统编写代码的 IDE 不同,低代码开发平台提供更易用的可视化 IDE。


简单来讲,低代码(Low Code)就是一种可视化搭建系统,从字面意思来讲,一是可视化;二是少写代码。无代码(No Code)同样从字面上来理解,一是可视化,二是不写代码。


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


通过前面的介绍,相信你对 Pro Code、Low Code、No Code 有了一个比较直观的概念。在采访阿里汪凤震(艺之)的时候,艺之老师也说,“这三个是给不同⼈使⽤的,解决着不同场景的问题,他们之间不是替代或消灭关系,⽽是互补加强关系,未来⼀半以上的应⽤将会是通过 No Code 或 Low Code 来⽣产,这会是必然。”


既然,Low Code、No Code 这么方便,我是不是直接用它就好了,还写什么代码?


其实,不是这样的。虽然 Pro Code 有前文提到的缺点,但是它也有 Low Code、No Code 暂时无法取代的优点。Pro Code 的优势在于表达更精准、在封装的基础上更好的实现提效、更好的满足平台间的兼容性、更快的版本迭代。

 

正如前面汪老师提到的,Pro Code、Low Code、No Code 之间不是替代消灭关系,⽽是互补加强关系。

判断、引入及选择

按照前文的说法,可视化编程门槛那么低,直接上不就行了?理论上是这样的,但是汪老师还是提醒我们有三点需要去注意,一是自身是不是适合可视化,二是可视化引入的难点,充分考虑到前面两点之后,我们再来看可视化平台的选择。


首先,我们如何判断自己是不是适合可视化呢?


汪老师是这么说的,分为使用和研发两种情况。


  1. 如果是使⽤的话,绝⼤部分都是适合的,“可视化”本就是个提效⼯具。

  2. 如果是研发这类⼯具,如没有相关研发资源的重投⼊(⾄少 5⼈以上),周期在⼀年以上,是很不建议开发 这类⼯具的。


考虑好前面引入的情况之后,再看下,如果我们是选择研发这类工具的话,有那些难点呢?


  1. 当下的低代码⼯具⼀般是全⽣命周期的,把近乎全⽣命周期的 Hand Code 编程变成可视化编程,这本身就是⼀个极⼤的挑战;

  2. 低代码⼯具研发周期较⻓,需要沉下⼼⾥稳扎稳打、艰苦攻坚,⽽能耐得住寂寞,背得住压⼒的团队和个⼈是寥寥⽆⼏的,仅资⾦投⼊这⼀块都是⼀般普通团队吃不消的;

  3. 另外研发低代码⼯具除了依赖技术底蕴外,更需强⼤过硬的产品思维,这类⼈是在市场上极具稀缺性的。


如果直接使用的话,再去考虑可视化平台的选择。


可视化平台很多,比如 MendixOutSystemPowerAppsGoogle Blockly 等,在平台的选择上,汪老师给到了几点比较有针对性的建议。在他看来,“搭建平台不是万能的,尤其国内基本还处于摸索期阶段,另外,低代码覆盖的域非常的广,不是一款低代码工具就能全覆盖的。对于中小公司来讲,这两点特别关键:


  1. 捋清楚自己的核心诉求,不想着什么功能都要。假如不考虑实际,什么功能都加上,往往最后的效果事与愿违。

  2. 最好选大厂或三年以上的垂直领域公司出的产品。原因是,低代码工具是个重投入的一款产品,并且对于研发公司来说收益回报周期相对较慢,前期三五年基本都是在打磨产品阶段,小公司往往坚持不了多久。”


对于低代码,汪老师感触很多。当我问到,他对低代码的未来怎么看时。他说,“低代码这条路,实事求是的说的确⼫⻣累累,绝⼤部分不温不⽕,有的连名字都没正式公布就彻底消失了。 但前景我认为是可观的,只不过这个‘⻅效周期’离⼼中期待会有⼀段时间距离。”


目前可视化工具这块,国内支持跨端的还是很少,Mobi 已经率先实现了跨 Web 和小程序端,且逐步拥抱 Native 中。关于低代码,想知道更多实践及探索,汪老师将会在2021年1月8-9日 QCon 北京站分享《探索低代码的未来》,详细阐述他对低代码现状及核心的分析,以及他们内部可视化工具 Mobi 的实践。


嘉宾介绍

汪凤震,阿里云前端技术专家、架构师,Mobi 低代码业务前端负责人。拥有多年丰富的大前端经验及跨端经验(PC、H5、Hybird、小程序、RN 类);在 Node、 Python 构建编译、性能优化,以及 JavaScript 语言方面,也掌握较深;对大前端有着强烈的衷爱,目前正在深耕于低代码领域。


2020 年 12 月 04 日 15:556179

评论 3 条评论

发布
用户头像
目前最牛,没有之一:https://wuyuan.io
2021 年 02 月 04 日 23:32
回复
用户头像
可以看看x-series,从12年就开始做的low-code开发工具。https://github.com/hejiehui/xross-tools-installer
2020 年 12 月 14 日 19:05
回复
这个工具做的是真好,可惜兼职是不可能创业的。如果作者可以全职做的话,凭借这么多年的经验,再加上目前这个市场环境,应该可以做出下一个Mendix。否则真是可惜了
2021 年 04 月 21 日 02:17
回复
没有更多了
发现更多内容

第二周作业

kevin

架构师训练营第一期第2周作业及总结

木头发芽

架构一期二班 - 吴水金 - 第二课总结

吴水金

第二周总结

架构师训练营1期3班-袭望-第二周

袭望

面向对象编程与软件设计原则

zero2onemore

架构训练营第二周学习总结

灰羽零

架构第二周课后练习

Geek_Gu

极客大学架构师训练营

训练营-第二周-作业二

行者

一篇搞定前端高频手撕算法题(36道)

执鸢者

面试 算法 前端

week02总结

xxx

架构师训练营Week02作业

IT老兵重开始

极客大学架构师训练营

架构师训练营第 1 期 -Week2 - 框架设计学习总结

鲁小鲁

极客大学架构师训练营 面向对象设计原则 框架设计

Week 2 作業一 : OOD 5 principles [SOLID]

Christy LAW

OOD SOLID 架構師 面向對象編程 面向對象編程原則

作业二:第二周学习总结

静海

week02 题目

xxx

第二周总结

_

极客大学架构师训练营 第二周总结

Week_02

golangboy

Spring 5 中文解析数据存储篇-JDBC数据存储(中)

青年IT男

Spring5

第二周 框架设计 学习总结

应鹏

学习 极客大学架构师训练营

第二周学习总结

alpha

极客大学架构师训练营

【FastDFS】面试官:如何实现文件的大规模分布式存储?(全程实战)

冰河

高并发 高性能 分布式存储 fastdfs 海量存储

medo 支付系统架构设计

陈皮

第二周课后练习-作业1

致星海

逆序局部链表、Paxos算法原理、架构师发现问题所在 John 易筋 ARTS 打卡 Week 19

John(易筋)

ARTS 打卡计划 发现问题的真正所在 逆序局部链表

第二周作业

艺术家们手握“飞桨” 划出金秋UCCA最值得一看的AI艺术展

脑极体

问题集锦:DBType not support : null

互联网应用架构

mybaitsplus

第二周课后练习 - 作业 2

致星海

架构师训练营第一期 - 第二周学习总结

卖猪肉的大叔

训练营-第二周-作业一

行者

DNSPod与开源应用专场

DNSPod与开源应用专场

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