我对低代码的理解

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

简单来讲,低代码(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. 1. 一、什么是低代码?它的特征有哪些?愿景是什么?
  2. 2. 二、低代码火爆的背景
    1. 2.1. 1.社会、经济因素
    2. 2.2. 2.技术因素
    3. 2.3. 3.环境因素
  3. 3. 三、低代码的利与弊,分别有哪些?
    1. 3.1. 1.低代码的利
    2. 3.2. 2.低代码的弊
  4. 4. 四、现有的低代码平台有哪些(国内和国外)?
  5. 5. 五、我与低代码的两次正面接触
  6. 6. 六、我对低代码的思考