近年来,中国应用软件取得了很大发展,大量的应用产品不断提升和完善,在用户体验上达到世界领先的水平,交互、服务、软硬件一体化能力非常强大,应该在应用领域,我们已经走到世界的前列。然而在基础领域尤其是工具领域还是存在较大的差距,这就需要我们整个产业不断积累,逐渐解决。近日华为发布软件开发工具CodeArts Req产品,应该是产业面向工具软件走出了重要的一步。
我们也期待更多的中国企业加入到工具软件研发这个行列中,形成中国的工具软件阵列,为云服务、软件开发搭建坚实的基础。
软件开发工具将是产业发展的决定力量
一切的产业竞争最后归结起来只有三点:提高效率、降低成本、提升能力。人类社会要解决好问题,就是通过不断制造工具,通过工具来实现更高的效率。
这最典型的是中国筷子的发明,用一个简单的工具,就解决了病害的传染、熟食和餐桌的礼仪。极大提升饮食的文明。而生产工具在社会生产发展中更起着至关重要的作用。
软件和云服务面临着同样的问题,大量的服务,如果都是要求开发者自己完成,这面临了规范不同,接口不同,发布方式不同,软件产业如果这样,就会五花八门,难以规范和协调,很难实现高效率和低成本,所以必须要开发强大的软件开发工具,通过工具软件解决效率问题,同时也解决规范问题。
应该说成功的软件开发者,都会有自己的软件开发工具通过这些软件开发工具,形成一个软件开发的生态,用软件开发工具帮助众多开发者进行的高效率的开发、分析、测试和发布。如果没有这些软件开发工具,开发者们只能一个一个应用软件自己进行开发,在缺少经验和规范的前提下,一定会极大花费时间,加大成本,也很难在较短时间提升自己的开发能力。
今天全球范围内软件开发工具的核心厂商主要包括Microsoft、Jetbrains、Perforce、Atlassian、Adobe等,共占有市场份额约45%,我们也可以看出来,曾经在软件领域重要的企业,软件开发工具的价值,正是通过软件开发工具,这些代表性的企业,都拥有了大量的开发者,产品也在开发者的支持下,不断完善,越来越强大。
中国有实力的企业,研发自己的软件开发工具,建立自己的软件开发生态,是我们整个软件产业自主可控,实现高速度发展的重要一步。只有把底座建设好,才能在未来的竞争中,不被卡脖子,也才有更好的成长机会。
软件开发工具是一个软件开发系统
软件开发工具绝不仅仅是一个工具软件,执行某种开发的工具,而是它是整个软件开发生态,是一个完整的系统,这样一个软件开发工具,只有大企业才有能力开发和维护,不断升级,不断完善,同时也通过大企业的整合能力,形成一个商业生态。一个软件开发工具,给开发者带来的不仅是效率,还会有商业价值。
一个软件开发工具应该包括以下的功能:
项目管理:为敏捷开发团队提供简单高效的开发协作服务,包含多项目管理、敏捷迭代、需求管理、缺陷跟踪、文档管理、看板、报表统计分析等功能。
代码托管:基于Git的在线代码托管服务,是具备安全 管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库, 旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。
代码检查:基于云端实现代码质量管理的服务。软件开发者可在编码,完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的分组查看与修复建议。这一服务可有效管控代码质量,确保产品原生高质量和产品安全,帮助产品成功。
编译构建:将软件的源代码编译成目标文件,并和配置文件、资源文件等一起打包供开发者调用。
部署:提供可视化、自动化部署服务,帮助开发者制定标准的部署流程,降低部署成本,提升发布效率。
测试:使软件的一些简单问题直观的显示,让测试人员更好的找出软件错误的所在。软件测试工具,分为自动化软件测试工具和测试管理工具。自动化软件测试工具存在的价值是为了提高测试效率,用软件来代替一些人工输入。测试管理工具是为了复用测试用例,提高软件测试的价值。
发布:提供管理软件发布过程的能力,保障软件发布过程的规范化、可视化及可追溯。相对于开发过程中的“源代码”,发布关注和管理的是开发产生的待部署的“软件包”及其生命周期元数据。
应该说,从项目管理一直到软件发布,软件开发工具都提供了完整的解决方案,在这样的一个平台上,开发者可以完成软件开发过程的一切工作,解决各方面问题,实现敏捷开发。
选择华为云平台将是中国开发者的重要选择
我相信随着时间推移,华为的云平台和软件开发工具一定会成为行业主流产品,华为的支撑正让这种可能成为现实。
首先,华为作为中国最大的软件公司,十几万工程师每天都在进行着软件的开发工作,对于软件开发工具的理解最为深刻,对软件开发工具存在的问题,需要改进的地方也最了解。同时华为不但进行着大量的产品开发,同时对于操作系统、数据库等大型专业软件也有着丰富的开发经验,对于云平台的开发、管理、部署也有着深刻的理解。应该说华为长期软件开发的技术积累,对于软件开发工具理解极为深刻。
其次,华为一个开放的平台,华为在全球170个国家和地区开展业务,通过云平台,把IPD延伸到全球各地,进行网络部署和业务部署,对于全球化的业务华为有丰富的理解也有更多的实践,这对于希望在全球化业务有所作为的开发者,华为的软件开发工具将有较大的帮助。
再次,今天我们说华为是中国最大的软件公司,可能很多人一时还反应不过来,在他们的印象里,华为是一个做通信系统,也是一个做终端的企业,其实今天任何一个系统,都是软硬件一体化的,华为在信息领域应该是全系列的公司,从通信系统的部署到云服力,再到数据中心、传输网、核心网,包括操作系统、智能终端,更为重要的是依托5G,华为在智能电网、智慧矿山、智慧港口、智慧工厂等社会管理和生产制造领域有很多积累。
我们今天的互联网,也早从古典互联网向移动互联网发展,现在正在向智能互联网发展,智能互联网是将移动互联、智能感应、算力数据、人工智能的能力整合起来,形成全新的能力,而在这方面,华为有长期积累,在大量产品的开发和部署经验,这些积累和经验都会内化到产品中去,渐渐被融汇到软件开发工具中去。
中国软件开发工具需要产业链上下游共同努力
中国的软件业,要实现突围,必须要在基础软件领域下功夫,包括操作系统、数据库,也包括软件开发工具。中国的基础软件发展,必须产业链上下游共同努力,相互支持。不但是需要华为这样大企业在基础软件上发力,也需要更多下游企业,用起来,用自己的力量,让这些软件开发工具变得生态链。
科技战发展到今天,不断加码,一招不成,就再来一招,不知道底线在何处,这种情况下,打破围堵唯一的选项,就是形成自己的能力,做到自主可控。对一些企业来说,用习惯了某个工具,想一直用下去,很正常。但是今天的情况,就是可能是不想让你一直用下去,随时随地要卡住你的脖子。
对中国企业而言,未雨绸缪这是产业安全的重要保证,等到有一天,完全卡住,就要付更大的代价。中国软件业,必须联合起来,共同支持自己的软件开发工具,更早完成测试、试用,一点点迁移,这样才能形成强大的一定的防御力量。
中国软件要发展起来,就需要产业链相互支持,共同努力,积极参与,而不是观望、期待,我相信大家的共同努力,才是行业最坚实的基础,更多企业的参与这个产业才能有机会,也会更加安全。
中国要在软件领域有所突破,把基座做扎实,打牢基础,这是重要的一步,华为发布软件开发工具CodeArts Req产品,正逢其时。我记得在手机操作系统的开发过程,我们也怀疑新的操作系统应该是什么样的,鸿蒙用分布式操作系统,定义面向物联网时代的智能操作系统,面向智能互联网时代,能不能用CodeArts Req来定义新的软件开发工具,我们拭目以待。