本文作者:李佳师(科技媒体人、前《中国电子报》主编)
在软件定义时代,不断降低软件开发、测试和生产成本,提升开发效率、缩短开发周期,是一个永远在路上没有完结的课题。目前,由生成式人工智能引发的技术热潮已持续一年, AI会如何影响软件开发和测试,软件开发工具和平台又会怎么变?2023年年底,在上海举行的Qt全球峰会2023中国站释放出一些重要的趋势信息。
上一次Qt全球峰会中国站的举行是在2021年,时隔两年,全球经济和科技的发展有巨大的变化,Qt公司收购了两个质量保证工具,公司logo更新为Qt Group,技术战略也发生了新的变化。在刚刚结束的CES 2024上,Qt宣布通过亚马逊云服务(AWS)应用商店提供解决方案并支持开发者在AWS上进行开发,从Qt全球峰会2023到刚刚举行的CES上,释放出Qt战略变局的重要信号:“以增强智能的视角拥抱AI;通过更开放加速平台化和生态化转型”将成为未来Qt战略演进的核心方向。
以增强智能的视角,拥抱AI
过去一年, AI火遍全球, AI编码助手层出不穷,编程范式发生了前所未有的深刻变化;编程语言从、Java到C、C++再到今天以自然语言为特征的Prompt工程,编程门槛不断降低。这些变化,促使从开发者到开发工具、平台厂商思考,未来的编程范式与开发平台的演进方向。
“有了编码助手意味着开发者可以用更少的时间生成更多代码,开发工作量减少,开发效率显著提高,那么生成的代码质量是否有保障?是否符合系统级和集成的要求?” Qt Group产品总监罗淼在峰会演讲时向开发者问了这样几个问题。
罗淼认为,生成式AI(Generative AI)虽能助力开发者生成代码,但并不意味所开发的软件就能达到预期质量。因为用于训练LLM(大语言模型)和生成式AI的代码机制并不一定适合用户所要创建的软件机制,AI所生成的代码是否符合标准,标准本身是否有问题,所生成的代码是否符合系统级要求、是否符合集成要求,都是未知。这样的情况下,生成代码越多需要的测试也越多。
“无论是从系统的设计、架构的把控还是从软件的质量等维度看, Qt认为AI,特别是增强智能(Augmented Intelligence),可以作为虚拟伙伴辅助人类,而不是试图取代人类。而随着AI在编程领域的不断深入,必将涉及到越来越多的挑战。”罗淼表示Qt建议仔细评估与使用任何生成式 AI 相关的条款和条件,无论是用于开源还是商业用途,并希望在保护知识产权和软件安全性的前提下,通过增强智能消除模板代码和重复性工作,让软件开发和测试变得更轻松。
基于此, Qt正在从几个层面积极推进,化解开发者采用AI编程遇到的问题,释放AI潜能。一是将更多编码助手引入Qt Creator,并方便开发者使用。Qt Creator IDE已推出了现成的GitHub Copilot 插件,支持各种编码助手用例;二是利用20多年构建稳定、安全的跨平台应用能力,对大语言模型进行微调,将Qt和Qt开发者的知识产权安全地引入编码助手。最近,Qt正在尝试使用GPT-4实现更智能的API审核。三是探索边缘AI的机会,包括该领域的小语言模型。
更开放,加速平台化生态化转型
在充满变化的时代,“以用户需求为中心”是永远不变的压仓石。对于软件开发而言,更快的速度、更高的质量是用户的持续不变诉求,当确认软件开发依然人是主导,AI是辅助的增强智能,那么开发工具、开发环境、软件测试,需要围绕开发速度、软件质量做更大的提升。
以用户需求为中心,实现开发提速、提质、增效,Qt在峰会上提出两个关键技术战略:一是通过产品组合优化整个开发流程、提升产品创建速度;二是通过更开放,实现Qt平台化、生态化转型。
从优化流程的维度看,软件开发开发流程需要在不同团队直接无缝云习惯,跨职能团队和集成工具链无疑将加快产品创建、迭代的速度。比如,用户界面设计和开发之间常常会遭遇这样的难题,设计团队将UI设计出来,有一堆设计文档,但开发团队无法直接使用,当这两个团队接力时就会面临数据对接的问题。为了尽量减少团队交接中的信息丢失,Qt在其设计构建工具Qt Design Studio中加入了各种bridge,无论设计师使用的是Adobe Photoshop、Sketch、Figma等等主流设计工具,都可以利用对应bridge将素材无缝导入,并自动转换生成UI应用代码,供开发团队直接使用。
“Qt一直相信开源的力量,也相信开放式工具策略的优势,开放的技术方法能够创造符合需求的一流产品。长期以来,Qt一直支持不同的第三方构建系统、打包管理器和版本控制系统。接下来,Qt将建立一个与 Qt Creator 互相连接的插件生态系统,提供更多扩展功能,”罗淼一连串说了几个“开放”,宣布了Qt Creator的平台化战略。
在Qt的全栈开放战略中还需要特别提及“开放框架战略”。一方面,经历20年发展, Qt工具、模块越来越丰满,框架也越来越强大,不少开发者误以为在Qt的框架下必须要采用Qt工具、模块进行开发、构建。事实上,Qt框架支持多工具、多环境、多技术的混合,是一个开放、可扩展的框架。
另一方面,开放框架之所以重要,因为用户希望复用各种各样的软件资产,或是原有的桌面端的向web、移动端拓展,或是将一部分系统级代码复用到新的项目当中,采用混合技术打造新产品已是常态。
就像GE公司“Vivid”系列超声波心脏扫描仪,其后台基于Windows系统,使用了ActiveX插件,其界面开发就采用了Qt技术,将Qt的界面部分与后台的C++程序整合,实现了原有代码的复用整合。
而这样的“混合诉求”,不仅仅是存在于医疗领域,而是各行各业而解决混合诉求,开放是唯一也是更好的选择。
可以说,开放战略是这次Qt峰会最核心的信息,这个战略的推出意味着Qt从一家软件开发工具、开发环境、测试验证厂商向平台厂商和生态厂商转型。据罗淼透露,以“平台+插件”的方式构建庞大的生态系统,Qt的第一步是以插件的方式整合其他的工具,在未来有能够将其他的框架整合进来。作为一家拥有20多年发展历史的软件开发工具与平台、测试全生命周期厂商, Qt已经有一个规模不小的生态系统,通过集成第三方的工具以及与第三方的框架进行整合,能够加快整个生态扩展。
目前,软件开发正迎来巨大发展机遇,要想让软件开发真正实现“思无界”、“行有方”,不能仅仅靠Qt一家,需要整合更多的产业力量,才能做得更好。事实如此,1月9日Qt与亚马逊云服务(AWS)联手,将其工具套件添加到AWS Marketplace中,开发者可在云端完成90%的开发和测试,在开发的最后阶段,剩余的10%可移植到物理硬件上进行最终的测试和验证。这将大大节约开发、测试时间,减少迭代原型设计工作量,最终缓解OEM的供应链挑战。
应该说,Qt的开放战略是顺应潮流方向的,而如何吸引更多开发工具、开发框架与Qt生态整合,或将成为接下来Qt新一轮变革面临的挑战。