此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
本文分享自华为云社区《低代码:时代的选择》,作者:敏捷的小智。
计算机IT技术从诞生伊始,便始终保持迅猛发展的势头。当我们享受着日益完备的计算机技术的同时,也面临着前所未有的复杂挑战。
当硬件的摩尔定律在微观处即将失效、软件的复杂性持续攀升时,我们又该如何调整发展方向,以迎接下一个IT时代?
低代码与硬件算力的发展纵观软件开发技术的发展史,我们不难发现,软件开发技术的演进,往往源自硬件算力的提升。硬件算力就像一幢大楼牢固的地基,支撑着迅猛增长的软件规模和复杂度,进而带动软件开发技术的不断演进。
当前时代,晶体管工艺已经触达量子领域,硬件的摩尔定律在微观处即将失效。但从更广的IT技术来看,云计算在用另一种分布式的方式在持续降低算力的成本。因此从宏观角度看,摩尔定律仍然持续有效。
而企业数字化带来的业务规模,会促使企业不得不抛弃成本线性增加的本地硬件部署方式,转向成本仍维持降低趋势的云计算。因此,企业上云,将成为刚需。
企业上云之后,仍然面对庞大的机器群(虽然是虚拟机),而数字化带来的业务规模增长不仅体现在并发量增长,更还有业务复杂度的增长,大部分企业的IT实力不足以构建出分布式架构的应用系统,云计算的算力优势将难以得到充分发挥。
因此,配套云计算的软件开发技术也必须得到革新。而配套云计算的软件开发技术,则应该就是“云原生”开发技术。“云原生”开发技术中最能帮助大量传统企业以低门槛、低成本的方式过渡到云计算的,就是低代码技术。
低代码与软件开发技术的发展从机器语言到汇编语言,到面向对象、面向函数等高级语言,软件开发技术其实攀登的是一棵“复用”树。高级的开发技术是建立在基于低级开发技术沉淀和固化的大量可复用模式之上的。《人月神话》中提出的软件开发没有银弹,因为软件的复杂性一直在升高。而技术上要克服复杂性,唯一的路径就是不断抽象出更高阶的可复用件,让开发者在更高的平台上用更宏观的零件来进行组装作业。而复用的表现方式,主要体现为两种:组件化和框架化。
AppCube中丰富的组件
机器语言和汇编语言时代,零件就是机器指令;高级语言时代,零件则是函数调用和模块复用;那么,下一代开发技术,零件则应该是“模式”复用。“模式”的复用同样也体现为组件化和框架化,例如丰富的界面交互组件属于组件化复用,界面对后台数据的获取和更新固化成模式属于框架化复用。而对模式的复用,通过可视化手段来表达是最高效最直观的方式。而低代码技术,则可看做可视化开发的同义词。
因此,低代码技术,是软件开发技术演进的必然结果。低代码将成为下一代企业IT系统的主流开发手段。
企业IT系统的发展趋势自从有了计算机,企业就有了IT这个发展方向。从整个企业的IT发展历程来看,可以分成这么几个阶段:
电子化:信息介质从纸变成了电子信息。这个阶段主要是企业引入各种工具类软件如Office、AutoCAD等,来提高个人工作的效率。
信息化:企业开始建立各种信息系统,提供针对某个业务场景的信息共享和流程协作上的支撑。如CRM系统、ERP系统等。
数字化:企业遇到了信息孤岛问题,需要通过顶层设计来协同拉通IT系统,将IT系统的数据和能力服务化,实现跨场景的高效协作和共享。
智能化:企业积累了大量经营数据和众多IT服务能力,需要更合理更优化的利用数据和能力来指挥调度企业各种资源。
其实,一个企业从小到大的发展,从IT领域看也是基本符合几个阶段的。那么,目前很多企业已经基本实现了信息化,在迈向数字化转型的路上。企业的数字化转型的基本矛盾就是企业的碎片化供给与全局共享之间的矛盾。
这个基本矛盾体现在IT领域上,主要就是IT系统信息孤岛问题。而打破信息孤岛,建立能拉通协作的IT服务,利用服务来实现快速创新,需要强大的IT团队和IT技能。但对大部分传统行业的企业而言,这正是最缺乏的。因此,软件开发技术必须要演进到一种能低成本低门槛构建和使用IT服务的方式,才能支撑住企业数字化转型的时代。这正是低代码技术的使命和价值。因此低代码技术也是企业数字化转型的主要支撑手段。
AppCube多场景助力企业数字化转型
另外值得一提的是,零代码(无代码)技术与低代码技术的适用场景并不相同。零代码更针对于企业信息化。因为企业在信息化程度上始终会有未全面覆盖的情况,那么零代码更适合用来填补企业信息化建设遗留下的空白碎片。
从这三个大的时代背景可以推导出:低代码技术将成为下一代企业IT系统开发的主流开发手段,应能承载起一个时代的责任。我们认为,低代码技术不只是用来做一些相对简单和非关键系统,而更应该扛起构建大部分企业级支撑系统的重任。
低代码源于不断进步的硬件算力和软件开发技术,又反哺于庞杂的IT时代,与其说是时代选择了低代码,不如说是低代码正在开创下一个崭新的IT时代。
点击关注,第一时间了解华为云新鲜技术~华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
,