华为在软件工具生态埋下多颗“种子”,静候国产软件产业萌芽

news2025/2/24 3:02:24

文丨智能相对论

作者丨沈浪

当代的数字经济大厦由各种各样的软件一块一块地搭建起来。然而,站在国内软件行业的中心,热闹的大多是来自上层的软件应用,而沉寂的却总是底层又难又基础的领域,比如软件开发。

软件开发,鲜有人讨论,长期以来也是国内软件产业比较薄弱的环节。

如今,终于有了些起色。

从去年12月开始,华为云上线了一系列软件开发工具和服务,包括前不久刚刚推出的应用性能管理服务CodeArts APM、性能测试服务CodeArts PerfTest,多达10余款。这在很大程度上补充了国内软件工具生态的短板。

国内软件工具生态得到了前所未有的关注。更进一步来说,在华为云的这些软件开发工具和服务的刺激下,国内的软件开发领域或许真要“变天”了。

01横向“完善链路”:10余款软件工具和服务,全面对齐软件开发工具链

显而易见的是,华为云上线的一系列软件开发工具和服务,对国内软件开发工具链确实是一次很好的完善。

拆解软件开发工具链,常规的软件开发包含项目管理、代码托管、代码检查、编译构建、部署、测试、发布等环节,综合为一套系统、完整的流程。

去年12月,华为云上线第一款软件开发工具CodeArts Req,对应要解决的就是软件研发初始的需求管理问题。根据相关分析师报告指出,需求管理不善导致项目失败的比率高达71%。在软件开发过程中,客户的真实需求往往就像比“冰山”,露出水面的一角属于显性需求,但是大部分隐形需求是藏在水面之下的。

CodeArts Req的价值就是让这种复杂的需求管理变得简单起来,通过系统的工程方法和技术如IPD需求管理模板等去抓住需求的源头,甚至是把需求管理贯穿整个开发过程,从而保证软件开发团队(单一或多个)能充分理解客户需求,做出客户真正想要的产品。

在CodeArts Req之后,华为云上线的其他软件开发工具和服务也都一一对应软件开发的各个环节,比如CodeArts APM对应应用性能管理、CodeArts TestPlan对应测试、CodeArts Build对应编译构建、CodeArts Check对应代码检查等等。

截至目前,华为云的10余款软件开发工具和服务基本已经全面对齐软件开发工具链。放眼国内软件开发领域,很多模块都相对薄弱,开发者所能选择的工具和服务并不多,“没得选”是最关键的问题。

具体来说,正因为软件开发是一个系统且完整的流程体系,大多时候受制于“木桶定律”,即一套软件开发工具好不好用,关键在于其最薄弱的一个环节。因此,对于软件开发者而言,软件开发工具的完整性很重要,是他们能下决心迁移到另一套工具上做开发的必然考量。

由此来说,华为云上线的一系列软件开发工具和服务,从根本上扭转了国内软件开发者所面临的窘境,让“没得选”变为“有得选”,恰恰也是率先实现软件开发全链路自主可控的一个关键起始。

02向下“扎根创新”:华为30年的工程方法和实践,以软件工具对外输出

使用一款软件开发工具的本质是学习其背后先进的工程方法和实践,就好比用锄头耕地和用牛来耕地之间,工具变化的背后是人力与牛力的转换,同时也意味着一整套工程方法和实践的调整,比如从用锄头到驾驭牛就是两套截然不同的工程方法。

从这个角度来说,华为云发布的这一系列软件开发工具和服务,实则是华为过去30年在软件开发工程方法与实践的对外输出。

软件开发工具和服务,只不过是载体罢了。

以CodeArts TestPlan为例,这是一款自主研发的一站式测试管理平台,由华为30多年的高质量测试工程方法和实践升级而来。

比如,在2005年前后,华为就尝试在自家的测试管理平台上融入大规模测试用例管理,从而将整个测试活动可视化地呈现出来,让相关各方都能通过平台来了解别人在干什么、质量把控进程等,提升测试的效率。

最终,这一能力继续升级并与其他工程方法一同融入了CodeArts TestPlan中,使其能够实现测试全流程标准化以及测试端到端过程动态实时监控等特性。

而基于CodeArts TestPlan的这些能力和特性,华为更是创新提出了“性能工程”的概念,有意将性能测试变成一个工程化的场景,深度融入到产业开发流程,来帮助开发者改进产品设计,而不是像以往那样只承担产品开发最后的“兜底”作用。

在这里,CodeArts TestPlan不仅是华为输出工程方法和实践一个窗口,也具备了支撑华为重新定义产品开发流程的一个关键能力。而除了测试管理服务之外,像CodeArts Req对应的需求管理、CodeArts APM对应的应用性能管理等,都存在这一趋势,即从软件开发工具的角度对软件开发流程进行创新。

那么,对于其他软件企业或开发者而言,使用华为云的一系列软件开发工具和服务,就不仅仅只是学习其先进的工程方法和实践,还将有可能在华为的影响下一同走上创新软件开发流程的道路。

这不难理解,就好比当人学会了使用牛力,获得更强大的开发能力,就不会满足于以前用锄头耕地一般的成果,而是开始创新如何用牛力去把地耕得更好或是耕更多的地,以获得更好的收成。

华为云的做法,或许能带动国内软件市场基于底层创新去实现突破性的发展。当越来越多的软件企业通过这些软件开发工具和服务去了解并学到华为本身30多年的工程方法和实践,那么更进一步的群体性创新也就具备实现的可能了。

03向上“支撑应用”:跟随云原生技术演进,驱动软件生态深度革新

当华为云的一系列软件开发工具和服务推动了软件开发层面的底层创新,除了在该层面有助于实现群体性创新之外,还将向上发力驱动上层的软件应用创新。

现阶段,随着云计算技术对软件行业的深度革新,云原生的趋势正不断将软件行业推向云端,让软件开发、软件应用、软件运维等工作都走向协同。简单来说,软件产品研发就不仅仅只是把产品做出来这么简单了,需求在变化,相应的软件开发工具也要随之升级。

以前不久华为云上线的CodeArts APM为例,这一款全链路应用性能管理服务。相比于传统监控只覆盖基础设施、中间件、业务指标相关的观测能力,CodeArts APM的监测能力在上层和底层都做了延伸,带来了深入代码级的性能监测和对用户的真实体验感知。

由此能带来什么样的效果?因为把前后端链路打通了,用户的产品体验好不好,或是哪里出现了故障,哪行代码有问题等都一目了然,基于CodeArts APM,开发者就能快速地找到故障点或是根据用户体验的反馈,不断去优化产品、定位故障。

如此一来,上层的软件应用便能以正确的方向保持进化,而用户对产品的体验也将不断得到提升、优化,更好适应当前的市场环境。

如今,技术的演进无时无刻不在发生,对传统软件行业的变革是显而易见的。在云原生时代,软件行业正在经历新一轮的颠覆与升级,软件开发到软件应用都在向云端迁移,并持续走向协同。

在这个节点上,软件开发工具和服务处在基础软件领域,势必也要率先升级,从而成为新的底层驱动力,而非拖累。从华为云上线的这些软件开发工具和服务来看,新一代的软件开发工具和服务已经具备了与上层协同、从底层驱动软件产业升级的能力。

这将是一个非常积极的信号,华为云既然瞄准了底层的基础软件领域做升级,那么国内软件产业在新时代的基础想必不会太差,随着越来越多的企业加入或许还会持续壮大生态,发展得更好。

当然,这都是后话了。

04结语

前不久,华为云刚刚上线了一款性能测试服务CodeArts PerfTest。紧接着,4月27日,华为云又上线了一款缺陷管理服务CodeArts Defect。从目前的情势来看,华为云面向软件工具生态的动作还在持续,没有停下的意思。

总的来说,华为云确实是给国产软件工具生态开了个好头。

不管是对软件工具链的完善还是基于软件工具输出自己的工程方法和实践,或是基于云原生技术对传统软件开发流程的革新,都有望进一步推动国产软件行业聚焦底层创新,拉动底层工具生态的繁荣,进而稳固数字经济大厦。

对于沉寂良久的国内软件开发领域而言,这些起色,很令人激动、振奋。

*本文图片均来源于网络

此内容为【智能相对论】原创,

#智能相对论 Focusing on智能新产业新服务,

这是智能的车 NO.139深度解读

仅代表个人观点,未经授权,任何人不得以任何方式使用,包括转载、摘编、复制或建立镜像。

部分图片来自网络,且未核实版权归属,不作为商业用途,如有侵犯,请作者与我们联系。

•AI产业新媒体;

•澎湃新闻科技榜单月度top5;

•文章长期“霸占”钛媒体热门文章排行榜TOP10;

•著有《人工智能 十万个为什么》

•【重点关注领域】智能家电(含白电、黑电、智能手机、无人机等AIoT设备)、智能驾驶、AI+医疗、机器人、物联网、AI+金融、AI+教育、AR/VR、云计算、开发者以及背后的芯片、算法等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/469512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初始新能源汽车

文章目录 电动汽车的三级模块体系VCU(整车控制器)MCU(电机控制器)电池包和BMS(电池管理系统)电动汽车的大三电电动汽车的小三电电动汽车的模块组成 电动汽车的三级模块体系 总体上讲,整个新能源…

牛客刷题篇:客似云来 和 剪花布条(Java)

目录 题目一:客似云来 输入描述 输出描述 解题思路 代码 题目二:剪花布条 输入描述 输出描述 解题思路 代码 题目一:客似云来 链接:客似云来 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好&#xff…

算法刷题|1143.最长公共子序列、1035.不相交的线、53.最大子数组和

最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&a…

跨子网通信【路由通信。配置路由】

路由通信条件是:服务器多网卡 or 单网卡多IP 查看路由表 route -n设置一网卡多IP 进行网络配置 进入setup中,选择网络配置 setup选择设备配置 去除DHCP动态协议 进来后,可能会发现无法对静态IP和子网掩码进行编辑,是因为你开启…

Qt - 从零到壹的 打地鼠 游戏

❤️‍🔥欢迎收看西北风的blog,好男人就是我,我就是西北风。✨ 目录 🟥一:创建一个主窗体 🟣二.:添加主窗口背景图片以及相关部件 🔸2.1 添加资源文件 2.1.1 添加资源文件 2.1…

NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_实际操作01---大数据之Nifi工作笔记0040

我们基于之前做的从mysql中获取数据,然后同步数据到mysql中,基于这个案例来做,可以看到上面是,这个案例的所有处理器,我们基于这个来改造. 1.首先我这里重新安装了一个mysql8.0.33 ,安装的是windows版本的,如果你是linux版本的,这里也说一下,如何开启binlog功能,首先要开启bin…

模拟和数字电路 —— 导学篇

前言:本科零基础跨考模电,时间不是很充裕,选择不补学电路分析的基础,直接开始学习模电。如果遇到不会的问题只学习指定的那块。 学习模电需要哪些基本电路知识 比如学习基本放大电路时经常用到的KVL、KCL;学习频率响应…

用C++实现Date类

Date类 判断 大于 小于 等于 等等运算符重载函数 我们先实现一个 > 的运算符重载,然后再实现一个 的运算符重载: bool Date::operator>(const Date& d) {if (_year > d._year){return true;}else if (_year d._year && _mo…

教你如何通过内网穿透轻松实现PL/SQL远程连接Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 转发自CSDN远程穿透的文章:公网远程连…

【PLC】贝加莱PLC理论及操作年度培训

最近在进行PLC培训,主要是贝加莱PLC产品的学习,学习了上下位机的一些基本操作,能够进行一些简单的实践,最后顺利通过年度考核。 0 引言 PLC:可编程逻辑控制器,由CPU、存储器、输入输出接口、电影以及外部设…

【unity专题篇】—GUI(IMGUI)思维导图详解

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

企业关键数据资产如何保护?腾讯安全联合“数据安全推进计划”落地主题沙龙

4月26日,腾讯安全联合中国信通院“数据安全推进计划”共同在深圳举办了数据安全研讨会,共同探讨新形势下如何让企业关键数据资产更安全。中国信息通信研究院云计算与大数据研究所高级业务主管龚诗然、腾讯云安全总经理李滨、炼石网络创始人兼CEO白小勇、…

【Vue3学习笔记1】一个清单应用帮你入门Vue.js

Vue 目前已经是国内最流⾏的前端框架之⼀&#xff0c;Vue 3 带来的诸多优化更是让前端圈迎来了新的潮流&#xff0c;比如&#xff1a; 基于 Proxy 的全新响应式实现&#xff1b; Composition API <script setup> 组织代码的更优方式&#xff1b; 更有料的 TypeScript 支…

关于C++的线程操作 | 双检锁与智能指针接口使用

文章目录 thread对象的构造this_threadconstructmutexref 用lambda表达式构造thread线程串行比并行快&#xff1f;CAS&#xff08;atomic类&#xff09;timed_mutexlock_guard,unique_guard&#xff0c;手动控制生命周期,为什么要使用条件变量不用条件变量带来的问题&#xff1…

【python基础语法三】列表,元组,集合,字典相关操作

列表的相关操作 1. 列表的拼接 (同元组) lst1 ["hello","world"] lst2 ["hello","python"] res lst1 lst2 print(res) # ["hello","world","hello","python"]2. 列表的重复 (同元组) …

二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)

文章目录 二、搭建MyBatis采用xml方式&#xff0c;验证CRUD&#xff08;增删改查操作&#xff09;2.1 开发环境2.2 创建maven工程2.3 创建User实体2.4 创建MyBatis的核心配置文件2.5 创建mapper接口2.6 创建MyBatis的映射文件2.7 通过junit测试功能 二、搭建MyBatis采用xml方式…

三、MyBatis核心配置文件详解

文章目录 三、MyBatis核心配置文件详解 三、MyBatis核心配置文件详解 application.properties server.port8018 jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql://192.168.31.20:3306/litemall jdbc.usernameroot jdbc.password123456详情请看mybatis-config.xml配置…

Linux Ansible-Jinjia2模板

目录 jinja2模板语法 部署jinja2模板 jinja2逻辑表达式 jinja2是基于Python书写的模块引擎&#xff0c;ansible通常会使用jinja2模块结合template模块来修改被管理主机的配置文件 一般使用ansible的事实变量或魔法变量编写一个jinja2模板文件&#xff0c;然后使用template模…

Navicat安装教程和评测

Navicat是一款功能强大的数据库管理软件&#xff0c;拥有丰富的功能和易于使用的界面&#xff0c;因此价格相对较高。此外&#xff0c;Navicat还提供了多种数据库类型的支持&#xff0c;包括MySQL、Oracle、PostgreSQL等&#xff0c;每种数据库类型都需要花费开发人员大量的时间…

Qt QWidget 独立窗口抗锯齿圆角的一个实现方案(支持子控件)

QWidget独立窗口抗锯齿圆角窗口的一个实现方案 由于 QWidget::setMask 接口设置圆角不支持抗锯齿&#xff0c;所以通常会使用透明窗口加圆角背景&#xff0c;但圆角背景不能满足对子控件的裁剪&#xff0c;子控件与圆角区域重叠的部分还是能显示出来。当然对于大多数窗口&…