面向数字化提质提效的低代码架构设计

作者 | 网易数帆低代码架构团队、编程语言实验室
自 2020 年来,网易数帆探索可视化低代码编程已两年有余,打造了 CodeWave 智能开发平台(原轻舟低代码平台)用于企业应用开发 。然而,不少编程技术人员对这一领域还比较陌生 。我们开设《低代码技术内幕》专栏,旨在讨论低代码编程领域中的困难、问题,以及高效的解决方案 。本文为第三篇,与读者共同探讨数字化转型背景下的低代码平台架构设计 。
专栏内容回顾:
基于 Vue 和 Canvas,轻舟低代码 Web 端可视化编辑器设计解析 | 低代码技术内幕
低代码编程及其市场机遇剖析 | 低代码技术内幕
在低代码市场篇中我们概述了低代码的定义和低代码产品的主要定位,描绘了低代码在近年的高速发展和其在未来 5~10 年国内外的巨大市场,其中聚焦到了国内数字化转型的背景和机遇,及其对低代码发展的推动作用 。当前国内企业面对数字化转型仍然有很多挑战,因此低代码得到越来越多的企业的青睐 。那么 为了帮助企业应对这些挑战,低代码平台需要具备哪些不可或缺及辅助增强的能力?为了支持这些能力,低代码平台架构又需要怎样合格及完善的设计?本文会一一揭秘 。
企业面对数字化转型有哪些挑战?
近年来,我国数字化转型政策持续向好,各部委陆续发布多个政策,强调加速企业数字化转型,促进企业高质量发展,大力推动我国数字经济建设 。2021 年国家发布《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》,其中第五篇“加快数字化发展,建设数字中国”明确了“数字化”在十四五国家发展战略中的重要地位 。
然而,随着企业规模的扩张和系统更新速度的加快,企业在数字化发展中亟需解决 有限的开发运维能力与日益增长的数字化转型需求之间的矛盾,它主要体现在以下几个方面:

  • 开发人力成本高:专业开发人员门槛高、招聘难、稳定性差;
  • 项目建设效率低:项目研发周期长,创新思路无法及时验证;
  • 缺乏软件生产最佳实践:缺少标准的软件生产实践,流程与规范无法落地;
  • 软件资产利用率低:软件资产复用性差,重复造轮子 。
经过对国内软件发展趋势和技术发展趋势的分析,我们认为 传统的开发模式无法很好地解决以上问题 。例如,如果应用开发工程师要实现一套普通的 IT 系统,他不仅要掌握业务,往往还需要同时掌握以前繁多的技术概念和知识:
  • 运维:云计算、k8s、中间件、微服务、DevOps
  • 语言:JAVA、Java、css、html、SQL
  • 框架:Spring、Vue/React
  • 其他:用户认证鉴权、业务流程管理、CSR/SSR、小程序多端开发等
  • ...
对于大部分开发工程师来说,掌握各种技术栈等等大量业务无关的专业知识是件令人沮丧的事情 。要知道不少中型的互联网公司在养了不少专业方向的技术人才的情况下,尚且不能打通任督二脉,为上层业务开发者提供友好业务开发环境,何况急需数字化转型的大量传统企业?同时,伴随着国内 IT 领域人才的高流动率,一个企业内部往往各种不同技术栈和架构并存,最终不堪重负 。
低代码平台需要具备哪些能力?
可视化开发与协作:应用开发往往会涉及多个专业的子领域,比如数据定义子领域、数据查询子领域、页面子领域、流程子领域等 。经过大量的研究分析,在多数领域可视化相比于文本会包含更丰富的信息,阅读性起来更直观更友好,对普通人来说更易于学习 。另一方面,复杂软件往往需要多人协作来完成,这是因为其通常需要涉及多个领域的专业知识和技能,一个人难以胜任 。协作功能使得每个开发者专注于不同模块,紧密合作以高效完成各自的任务,并确保项目的整体一致性和准确性 。因此开发平台、工具还需要提供诸如分支版本控制、冲突解决等协作的能力,以有效地帮助团队的每一位开发在整个软件开发周期中追踪和管理代码变化 。
统一的前后端语言:复杂的应用程序通常需要多个组件之间协同工作,这些组件涉及到前端(用户界面)和后端(服务器端)两个部分 。使用统一的前端、后端语言可以有效提高开发效率和减少沟通成本,例如开发人员可以更轻松地共享代码、知识和工具,减少技术转换成本和学习成本 。统一的前端、后端语言还可以提高应用程序的可维护性和可扩展性,例如一段函数既可以在客户端运行也可以在服务端运行,而无需额外的实现和转换成本 。


推荐阅读