低代码的概念逐渐被开发者们所关注,总是能在身边越来越多的人谈论低代码。作为一名不合格的前端,弱弱的问一句:低代码到底是什么?
低代码是什么?
低代码(Low-Code development platform)查阅一些资料后,有了一些浅显的了解:
- 低代码开发平台能够实现业务应用的快速交付。
- 低代码开发平台能够降低业务应用的开发成本。主要体现在,对开发者而言,低代码平台现成的组件和环境配置等;另一方面,就是大众所知的降低了开发人员的使用成本,即使非专业人员,也可以通过“拖拉拽”的形式,完成应用的搭建。
为什么需要低代码?
在这个“互联网” + “数字化转型”的时代,企业越来越需要应用来处理企业与客户之间的信息流转、强化。日益增长的需求与软件开发生产力并不成正比。
而低代码就应运而生,期望通过以下几点来提升生产力:
-
提效降本 & 质量保障 虽然软件行业一直在高速发展,新的语言、框架和工具层出不穷,但是软件开发过程中效率低、人力成本高、质量不可控、项目延期交付等问题。 而低代码通过成熟完善的基础组件、环境配置、部署设施,让开发者只需要专注于最核心的业务价值即可。即使碰到非标准化的需求,也可以通过编码来解决问题。
-
扩大应用开发劳动力 前面提到,低代码可以让使用者通过“拖拉拽”和配置来创建应用。可以降低使用门槛,实现自助式应用交付,这样既解决了传统IT交付模式下的任务堆积,避免专业开发资源被大量简单、重复性的应用开发需求所侵占。
为什么现在才需要低代码
其实任何一门技术或者语言走向主流都需要遵循“技术成熟曲线”,不可能一诞生就被大规模的采纳并投入生产。那么为什么低代码以前没有火起来呢?主要可以归纳为以下两点原因:
-
技术不够成熟 低代码的核心是基于可视化和模型驱动理念,结合云原生与多端体验技术。但在当时的技术背景下,由于能力不完备、过于理想化、技术门槛高等原因,一直没能在工业界走向主流。
-
业务收益不明显 技术都是为业务服务的,而当时的应用开发业务需求可比现在简单多了:没有如今的多渠道(Multi-channel)、多样化体验(Multi-experience)和各种集成与定制需求,也不会奢求如今已成为企业级应用标配的弹性、分布式和高可用,更是缺乏快速变化的IT业务场景来推动持续集成与快速交付。
为什么专业开发者也需要低代码
应用开发的本质是想法和逻辑,最终价值的高低也不取决你实现时是用的纯代码还是低代码。 而相比纯代码而言,低代码极有可能成为更好的下一代生产力工具:
-
减少不必要的工作量 可视化拖拽与参数配置的极简开发模式,结合模型驱动的代码自动生成机制,可以消灭绝大部分繁琐和重复的boilerplate代码;一站式的部署和运维管理平台,无需自己搭建CI/CD流水线、申请环境资源、配置监控报警;一次搭建同时生成、构建和发布多端应用,免去人工同步维护多个功能重复的端应用;开箱即用的组件库、模板库、主题库、连接器等,让最大化软件复用成为可能。总而言之,低代码能够让专业开发者更专注于创新性、有价值、有区分度的工作,而不是把宝贵开发时间都耗费在上面那些不必要的非业务核心工作上。
-
强大的平台能力支持
-
现代化的技术架构和实现:现代化的低代码开发平台,在支撑用户应用时所选择的技术架构与实现方案,也会是现代化且符合业界最佳实践的
-
零成本的技术升级和维护:低代码的高维抽象开发方式,让应用的核心业务逻辑与底层技术细节彻底解耦。开发者在大部分情况下都不需要关心底层技术选型,同时也无需亲自跟进这些技术的版本升级与漏洞修复,免费享受与时俱进的技术红利和应用安全性提升。即便遇到某些底层技术或工具需要进行彻底更换(比如不再维护的开源项目),开发者也完全不必感知;技术迁移再费劲再难搞,平台自己努力就行,对开发者来说只要服务一直在线,岁月就依然静好;事后可能还会惊喜地发现,应用访问突然就变得更快了,仿佛冥冥中自有天助,感激上苍和低代码。
以下是几种开源低代码平台:
阿里formily、amis百度开源、vuefrom麒峰软件、diboot帝博软件、Jeecg-BootJEECG 开源社区、UBML
-
-
一体化生态能力复用 复用(Reuse)是提升软件开发效率和工程质量的最有效途径。传统的代码开发模式下,开发者可以通过提取公共类/函数、引用共享库、调用外部API服务、沉淀代码片段和模板等方式实现复用。在低代码的世界里,平台也可以提供对应的多层次多粒度复用手段,比如页面组件库、逻辑函数库、应用模板库等。
但更重要的是,低代码平台还可以充分发挥其一体化的生态优势,提供强大易用的可复用能力(资产)的发现、集成与共享体系:以页面组件为例,你可以直接用系统组件,也可以在平台自带的组件市场上搜索和引用更合适的组件,还可以自己用代码开发一个自定义组件并发布到市场中。平台的生态体系越大,积累的可复用能力就越多,应用的开发成本也会越低。
相比而言,虽然传统代码世界整体生态更庞大和深厚,但由于各类技术不互通、缺乏统一平台与市场、代码集成成本高等原因,一直以来都没有形成有类似规模潜力的生态能力复用体系,导致重复造轮子和低水平重复建设的现象司空见惯,还美名为“新基建”。
不适用场景
- 大量定制UI:更适合做有大量常见 UI 组件的页面,但对于面向普通客户(toC)的页面,往往追求个性化的视觉效果
- 极为复杂或特殊的场景:在应用与低代码之间往往存在着这样的关系。越简单的应用,越契合低代码;越不太关键的任务,也越契合低代码。同时,由于契合低代码的应用更偏金字塔底层,而这些应用的需求量都更大,所以可以得出如下判断:低代码能够适用于大部分业务场景(而且这个比例会一直上升,逐步往金字塔的更上层应用逼近),例如:B2E类应用(表单、审批流、ERP系统)、B2B类应用(企业商城、工业控制台)、B2C类应用(企业展示、营销页、店铺装修)。