![定制开发还是标准化软件?哪种方式更合适?](https://www.qt.io/hubfs/Blog%20images%20-%20Nghi/shutterstock_2220173221%20copy-web.webp)
根据Qt Group委托Forrester Consulting进行的一项研究,近一半(49%)的受访者表示,在平台工程中,保持遗留系统的完整性同时集成新技术是一个重大挑战。
在本篇博客中,我将探讨应对这些挑战的策略,分享集成的最佳实践,并帮助您为未来做好准备。
嵌入式软件开发者在处理遗留系统时,通常会面临三大挑战。让我们逐一分析:
管理现有代码
将新技术与以不同语言和架构构建的过时、庞大的代码库集成并非易事。例如,传统汽车制造商在维护遗留系统的同时,难以添加自动驾驶技术。管理这些遗留系统通常意味着要处理依赖性和兼容性问题,而这些问题会延缓开发和创新的步伐。在严格的法规和安全要求下,平衡创新与功能是另一个重大挑战。在医疗保健等行业,每一项新功能都必须满足高系统可靠性要求,并符合安全标准,这就要求进行严格的测试。
有一些方法可以缓解遗留系统集成的复杂性。根据Qt Group的经验,我们推荐以下最佳实践:
在集成新工具和第三方库时,应优先考虑 增量升级,而不是彻底的系统检修。领导层应投资于循序渐进的创新,确保系统变化在长期内保持适应性。避免采取短期利润驱动战略,因为这会阻碍必要的更新和系统改进。
突然的技术改革往往会失败,例如诺基亚试图在没有统一战略的情况下改造其系统,导致无法顺利迁移现有的大型开发者生态系统。相比之下,苹果和安卓建立了强大的社区,为其平台的成功提供了支持。集成应循序渐进,新技术应与现有系统并行集成,以确保平稳过渡。
在全面实施之前,先在低风险系统上测试新集成。例如,公司可以尝试将Qt Quick用于新的3D渲染功能,同时保留现有的C++后端。这样,团队可以在不干扰核心操作的情况下优化流程并积累专业知识,确保主系统的可扩展性和适应性。
然而,如果公司选择的内核版本已经过时,并在几年后才尝试升级,通常将面临艰巨的全系统改造。从一开始就计划定期、增量升级,可以减少重大中断的风险,并确保系统随着时间的推移平稳演进。
使用相同语言的工具
嵌入式硬件中互不关联的工具通常会使集成复杂化,但混合方法提供了一种有效的解决方案。通过采用QML或Qt Quick与遗留后端的混合,开发者可以解决这些问题。例如,曾经依赖C++小组件的心率监视器现在需要3D界面。将Qt Quick用于渲染,同时保留C++后端,可以在保留遗留投资的同时提供无缝体验。人工智能革命正在推动新芯片组的激增,导致硬件格局碎片化。公司需要支持越来越多的平台,从苹果的定制芯片到基于ARM的Windows设备。如果系统无法适应新硬件,它就会面临过时和失去竞争优势的风险。
遗留系统面临的挑战还包括跨团队的工作流。通常,技术决策是在孤岛中做出的,这会导致设计、开发和质量保证团队之间的摩擦。一个成功的产品需要所有部门之间的无缝协作,确保工作流、工具和流程顺利整合。
跨团队而非局部优化可提高生产力和可扩展性。一个整合良好的工作流使平台选择即使在新技术和更新出现时也能保持可维护性和适应性。
欧盟的《网络弹性法案》和美国FDA要求等监管变化进一步增加了复杂性。这些法规要求设备提供长期支持和安全补丁,这给嵌入式系统团队带来了压力,要求他们按时完成任务并保持产品的完整性。
- - -
克服嵌入式软件中遗留系统的挑战需要采取战略性的渐进方法。通过深思熟虑的协作方式,公司可以在保留对遗留系统投资的同时,推动创新和未来增长。
Download the latest release here: www.qt.io/download.
Qt 6 was created to be the productivity platform for the future, with next-gen 2D & 3D UX and limitless scalability.
Find webinars, use cases, tutorials, videos & more at resources.qt.io
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.Henkilön Qt (@theqtcompany) jakama julkaisu