低代码开发目前已被大量应用,其本身并没有什么安全或不安全一说,所有应用程序开发框架、系统、流程和策略(手动或自动)的安全性取决于企业自身。企业不应该阻止使用低代码工具,而是应引入企业级低代码开发工具,让用户能够了解其工作原理,并鼓励使用这类工具。同时,确保这些工具的安全可靠性。
CSO和IT领导团队应在这方面提供便利,为此提供高质量、可靠且安全的低代码开发平台,以便平民开发者充分利用其开展工作,这才是避免安全漏洞的最佳方法。
在早期,开发者用汇编语言或机器语言编写程序。用这些低级语言从事开发很难,需要经验丰富的开发者来完成极简单的任务。如今,大多数软件使用高级编程语言开发,比如Java、Ruby、JavaScript、Python和C++。这些高级语言可以让开发者更轻松地编写更强大的代码,专注于更重要的问题,不必操心机器语言编程的底层复杂性。
如图1所示,高级编程语言的出现改进了机器和汇编语言编程,通常可以通过更少的代码完成更多工作,这大大提升了研发团队的效率,使他们能够更快地交付更庞大、更出色的应用程序。软件开发仍是一项高度专业化的任务,需要高度专业化的技能和技术。但是越来越多的人学会了这些语言,软件开发者队伍随之壮大,由此,高效软件开发者的时代诞生。
图1 早期的开发工具 图片来源:IDG
最终,开发者开始编写更庞大、更复杂的应用程序。他们开始编写编程平台、框架和工具集,以增强其开发能力。ASP.NET、Ruby on Rails、jQuery、Spring和React.js等框架让开发者可以更轻松地构建更高级的应用程序。此外,SaaS和云服务为开发者工具库增添了更多的功能。
如图2所示,所有这些更高级的工具和服务改善了开发体验,延续了更少代码完成更多任务的趋势,大大提升了交付能力。这不仅可以让开发者更容易构建高价值的应用程序,而且也可以使其通过较少培训就能成为娴熟的开发者。较少培训意味着市面上会有更多的软件开发者。在此基础上,SaaS和基于云的应用程序时代诞生了。
图2 更丰富的开发者工具 图片来源:IDG
此后,人工智能和机器学习开始受到更多关注,如图3所示,这些基于人工智能和机器学习的工具增强了其他开发工具的功能,它们让经验不足的开发者可以从事开发,也就是说低代码和无代码工具提升了开发者构建更复杂应用程序的能力。现在,没有受过开发者培训的人就能构建执行高级任务的应用程序。此时,被称为平民开发者的时代。
图3 现代开发工具 图片来源:IDG
低代码和无代码工具是一套不断演进的工具,所有企业都需要它们,而且将来依赖它们。既然低代码与其他开发环境的改进没什么不同,为什么反对低代码的声音那么大?这可能也在情理之中,因为每一项新技术从诞生之初到被广泛认可都会面临同样的阻力。不久前,我们还“不敢”考虑将云用于企业,或者“不敢”将React用于主力企业应用系统。云计算还被认为是影子IT,像Ruby on Rails或React这样的“新颖平台”只能用于非官方应用系统。
现在,低代码、无代码、人工智能辅助的开发工具已深入人心,而且只会越来越重要。如果处理得当,较之任何其他平台、系统或开发环境,低代码不会带来额外的安全风险,也不会带来更多的运营风险或无法管理的成本,关键是要妥善处理。如果任由低代码成为影子IT的载体,它可能与任何其他影子IT项目一样不安全。如果任由低代码变得不受监测和控制,它可能与任何其他不受监测和控制的流程一样不安全。