我对低代码的理解

一、什么是低代码?它的特征有哪些?愿景是什么?

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

低代码的特征如下:

  • 可视化IDE:一种用于可视化定义应用程序的UI,工作流和数据模型,并在必要时添加手写代码的环境。
  • 各种后端或服务的连接器:自动处理数据结构,存储和检索。
  • 应用程序生命周期管理器:用于在测试,登台和生产中构建,调试,部署和维护应用程序的自动化工具。
  • 跨平台。
  • 所见即所得。

愿景如下:

  • 让技术人员开发应用更简单。
  • 让不懂代码的业务人员也能开发应用。

二、低代码火爆的背景

1.社会、经济因素

2020年的疫情冲击不容忽视,它挑战了很多企业原有的商业模式、协作模式,数字化经济的繁荣、信息化需求的激增,造成程序员供需失衡。

2.技术因素

云计算技术的成熟、移动化的趋势等,为低代码2.0提供了技术基础。万维网出现前夕,计算机网络是一座座孤岛,互联网打破了这些孤岛。同样,如今的信息孤岛、云端孤岛屡见不鲜,曾经的低代码作为开发工具也只是在构建孤岛。但”低代码+云”的想象力将不止于此,如果能形成”互联、共生的生态”,它有可能会打破当前应用与应用,企业与企业,开发者与开发者之间的孤岛,大大提高代码复用率,进而引发一次效率的飞跃。

3.环境因素

国外低代码平台成功商业化,国内”互联网+”、”数智化转型”风口等都是催化因子。

三、低代码的利与弊,分别有哪些?

1.低代码的利

  • 更快的软件开发速度;
  • 敏捷度提高;
  • 更好的用户体验;
  • 保持核心竞争力的同时,完成更多工作。

2.低代码的弊

  • 安全性与可靠性(由于是拖拉拽生成的代码无法保证代码的安全性和可靠性);
  • 有限集成(不能很好的适应业务的变化和发展,例如需要集成新的东西时,新的东西某些组件可能与现有组件冲突等);
  • 自定义功能(个性化定制的局限性)。

四、现有的低代码平台有哪些(国内和国外)?

五、我与低代码的两次正面接触

最早的接触是在某外包公司做项目实施的时候,通过拖拉拽的形式生成一个又一个子系统(这个时候体现低代码的”无代码”)。
而后到了某创业公司,为了提高开发效率使用一些开源项目的代码生成器(这个时候体现低代码的”少写代码”)。
当时开源代码的代码生成器采用过jeecg、mybatis-plus-generator、renren-generator、jeesite4等。

六、我对低代码的思考

低代码的初衷是通过复用性来提高开发效率,这个初衷是很好的,但在实际落地过程中仍然会存在不少问题。

  • 产生很多垃圾代码(MyBatis的代码生成器生成一堆CRUD,但每次还得改很多东西,这也是我那个时候在做门锁系统时,放弃使用MyBatis的代码生成器转而使用MyBatis-Plus的代码生成器的重要原因之一)。
  • 定制化很有限(例如一个专门做电商相关低代码平台,这时客户突然有一个新的需求,即增加一个云上课平台,基于原有的低代码平台进行扩展可能会有很多问题,不仅仅是短时间内做不做的出来的问题,还有就是做出来以后的兼容性问题等)。
  • 平台依赖性(对于一些公司而言,不想过于依赖于平台,受制于平台,这也间接的解释为什么我们要开发一个属于自己的操作系统(鸿蒙系统的诞生))。

本文参考资料如下:
深入看透低代码
开发工程师为什么要使用低代码平台?
盘点 | 有哪些好用的低代码开发平台?
低代码开发平台建设步骤及思考

文章目录
  1. 一、什么是低代码?它的特征有哪些?愿景是什么?
  2. 二、低代码火爆的背景
    1. 1.社会、经济因素
    2. 2.技术因素
    3. 3.环境因素
  3. 三、低代码的利与弊,分别有哪些?
    1. 1.低代码的利
    2. 2.低代码的弊
  4. 四、现有的低代码平台有哪些(国内和国外)?
  5. 五、我与低代码的两次正面接触
  6. 六、我对低代码的思考