上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

华为云&InfoQ:2020中国API生态与开发者现状调研报告(50页).pdf

编号:87865 PDF 50页 7.16MB 下载积分:VIP专享
下载报告请您先登录!

华为云&InfoQ:2020中国API生态与开发者现状调研报告(50页).pdf

1、前 言报告方法论当前,数字化转型已深入各行各业,API这个曾经的底层代码接口,不仅发展成为产品本身,更成为企业承载价值、连接业务的核心载体,一个由API使用者和开发者组成的、围绕API产品生命周期的价值交换新模式正日益成熟,特别是与微服务、DevOps等技术的融合,都将使得API战略成为企业加速创新的利器。该报告旨在通过全面的视角反映API生态的发展现状,包括API使用者和开发者的主要诉求、策略、行为,展现API产品生命周期各阶段的实践过程、工具使用情况,并进一步探讨API技术未来可能的发展方向、价值实现方式,力求为相关企业、组织、个人制定API战略提供一个参考视角。该报告的观察和发现主要基于

2、数据统计,我们广泛采集了相关从业者的数千份调研问卷,并从中优选了5000余份具有高可信度的数据,在此基础上结合主观经验进行数据的解读和剖析,对数据产生的客观背景、深层次原因进行了适当延伸,最终得到以下若干结论。目 录主要结论01-API的发展和应用现状06-关于结论的说明02-API的使用者需求12-API开发者的策略和行为画像16-API设计流程和工具22-API测试流程和工具26-API文档的使用32-API综合管理体系37-41-API的技术挑战和发展趋势统计人口样本44-CONTENTS主要结论1、当前,我国API生态尚未成熟、市场尚处早期发展阶段,虽然API已广泛应用在以网页、移动应

3、用、后端系统集成为主的众多场景,但因质量问题带来的API变更仍然是造成线上事故的主因。在所有受访者中,API开发者呈现出人数比例偏低、集中在开发/设计端、从业经验尚浅等特征。2、使用者对API的主要诉求已由获取数据能力转变为获取技术能力、甚至业务能力,使用者渴望高效便捷的寻找、调用方式,除关注API产品本身性能外,也愈发关注优质的后续服务和使用体验。3、当前开发API的最主要目的是优化内部系统、工具和团队协作,其次是促进形成生态、开展外部合作,较少被用于盈利目的,API的开发行为同样需要广泛地借助各类工具,工具的易用性是其首要关注点。4、API开发模式正走向规模化、体系化,半数开发者已经建立A

4、PI设计流程,开源编辑器依然是其首选的设计工具,设计方式逐渐由代码驱动转向文档驱动,通过API设计文档自动生成代码的能力愈发重要。5、质量低下的API可能对用户的业务造成严重影响,缺乏合适的工具和技术已经成为保障API质量的最大障碍。API开发者同样意识到了质量问题,建立API测试流程已经成为共识,普遍使用多款测试工具,YAPI、Postman是目前的主流。6、七成受访者已建立正规的API文档流程,但大量的团队还没有意识到API文档应有的重要作用、也不具备自动化生成API文档的能力,有相当比例的受访者选择使用自研的API文档工具,相关工具的匮乏似乎成为API文档管理的障碍。7、开发者的API管

5、理意识更强,普遍选择API网关开放API、以及通过API综合管理平台实现API的全生命周期管理。8、API技术依然面临全面的挑战,受到最多关注的包括标准化、可组合性/可重用性、和安全性,且普遍认为微服务、物联网、DevOps等技术的发展可能对API最具促进作用。01关于结论的说明当前,我国API生态尚未成熟、市场尚处早期发展阶段,虽然API已广泛应用在以网页、移动应用、后端系统集成为主的众多场景,但因质量问题带来的API变更仍然是造成线上事故的主因。在所有受访者中,API开发者呈现出人数比例偏低、集中在开发/设计端、从业经验尚浅等特征。约78%的受访者表示已经将API对外部开放,其中供外部付费

6、使用的仅占9%,一定程度上说明当前API应用行业的竞争还处于蓝海时代。伴随企业的数字化、微服务改造进程不断深入,API被广泛应用在网页、移动应用、后端系统集成等场景,API经济正在帮助各行各业的企业借助外部力量高效、低成本、快速地获取数据和技术能力,新势力仍有广泛的市场机遇。API经济中,API质量问题仍是参与双方的主要困扰,因质量问题带来的API变更占据了线上事故中相当高的比例。当API出现问题时,使用者期待开发者提供便捷的沟通渠道和及时有效的处理方式,这需要API开发者有相应的技术能力维持高水平的可靠性、安全性和功能。就我国的API经济参与者来看,API使用者的数量比例明显高于开发者,双方

7、数量比例约为2:1,开发者集中在开发/设计端,且经验尚浅,从业3年以下的占比44.4%,这也说明我国的API经济尚处早期发展阶段,即希望通过API获取外部数据、技术能力的需求旺盛,但相对缺乏有能力开放高水平API、并进行全生命周期管理的组织。使用者对API的主要诉求已由获取数据能力转变为获取技术能力、甚至业务能力,使用者渴望高效便捷的寻找、调用方式,除关注API产品本身性能外,也愈发关注优质的后续服务和使用体验。从API的使用目的来看,使用者通过API获取技术能力、甚至业务能力的需求明显高于获取数据的需求,选择两者的受访者占比分别为78%、42.3%。进一步讲,使用者更关注API的可用性,易用

8、性、API文档准确详尽、服务可用性是其最为关注的三个要素。对于API开发者来说,除了产品性能的竞争外,更加优质的后续服务和使用体验,也会赢得更多用户的青睐。在寻找API和调用过程中,使用者最希望获得在线API调试、API参数说明、API全局搜索、SDK示例代码功能,表现出使用者希望高效找到合适的API、并快速掌握其使用方法的诉求。1.2.02 当前开发API的最主要目的是优化内部系统、工具和团队协作,其次是促进形成生态、开展外部合作,较少被用于盈利目的,API的开发行为同样需要广泛地借助各类工具,工具的易用性是其首要关注点。从API开发者的行为来看,开发API的主要动力是来源于组织内部的,有5

9、5.7%的受访者表示希望通过开发API优化内部系统、工具和团队协作,48.3%的受访者希望能够减少开发时间/成本、提高效率。源于组织内部的开发动力决定了API的衡量标准,开发者最关注API可用性,包括性能、功能性等方面的考量,但对于后期稳定性的关注度有所欠缺。在开发行为中,Java仍是48.8%的开发者选择的主流语言,相应的,34.7%的开发者使用IntelliJ IDEA作为集成开发环境,另外,华为云CloudIDE、VSCode等生态丰富的集成开发环境也广受开发者青睐。在开发工具的选择上,API开发者需要广泛地借助各类工具,涵盖设计、文档管理、测试等各个环节,易用性是开发者选择工具的重要关

10、注因素。API开发模式正走向规模化、体系化,半数开发者已经建立API设计流程,开源编辑器依然是其首选的设计工具,设计方式逐渐由代码驱动转向文档驱动,通过API设计文档自动生成代码的能力愈发重要。API设计能力的重要性不言而喻,建立API设计流程对提升设计能力的作用已经成为共识,共计约75%的开发者对拥有正式的API设计流程持正面态度。从设计方式来看,代码驱动的设计方式正逐渐转向文档驱动,采用两者的开发者占比分别为48%、38%。API开发模式正走向规模化、体系化,API开发文档的重要性愈发凸显,这也促使共计约65%的开发者表示希望获得、或已经实现了通过API设计文档自动生成代码的能力。在设计行

11、为上,开源编辑器依然是开发者进行API设计的首选工具,且RESTful风格的API因其具备的天然优势而受到广大开发者欢迎,被54.4%的开发者采用。3.4.03 质量低下的API可能对用户的业务造成严重影响,缺乏合适的工具和技术已经成为保障API质量的最大障碍。API开发者同样意识到了质量问题,建立API测试流程已经成为共识,普遍使用多款测试工具,YAPI、Postman是目前的主流。低质量的API直接影响使用者的项目交付时间,甚至严重影响用户和公司品牌,尤其是在更多的组织转向DevOps方向以实现持续集成和持续部署开发的背景下,第三方API产品的质量稳定性将关系到整个项目的开发进度和交付质量

12、。当前,建立API测试流程已经成为共识,有78%的使用者和开发者认为它非常重要,但缺乏合适的工具和技术是进行API测试的最大障碍。从API测试的行为来看,YAPI、Postman是应用最为广泛API测试工具,但76.5%的API使用者和43.2%的API开发者使用过多个测试工具,也说明还没有哪款工具赢得了用户的信任。七成受访者已建立正规的API文档流程,但大量的团队还没有意识到API文档应有的重要作用、也不具备自动化生成API文档的能力,有相当比例的受访者选择使用自研的API文档工具,相关工具的匮乏似乎成为API文档管理的障碍。API文档作为开发团队的必备工具,其重要性不言而喻,有58%的受访

13、者对所在组织API文档的完善程度给出正面评价,72.8%的受访者表示已建立正规的API文档流程,但依旧有超过半数的受访者表达出不认同其重要性、或目前没有API文档流程,显然API文档的价值还没有得到正确认识。从文档需求和工具使用情况来看,文档可读性是最重要的API文档需求,Swagger-Hub、ReadMe/Markdown、Atlassian Confluence是目前应用最为广泛的三款API文档工具,分别有13.8%的API使用者和23.3%的开发者使用自研的API文档工具,众多的管理工具在个性化的需求面前也显得众口难调。尤其对于API文档自动生成工具,仅36%的API使用者、34%的A

14、PI开发者表示有能力自动化生成API文档,而其余54%、58%的API使用者、开发者则手动编写API文档,市场现有工具似乎并不能为实现这一能力提供有效的帮助。5.6.04开发者的API管理意识更强,普遍选择API网关开放API、以及通过API综合管理平台实现API的全生命周期管理。在API的开放和调用方式上,开发者更倾向通过API网关开放API、并实现部分API管理能力,使用者则更关注API的可用性,总计70.9%的API使用者通过类库、SDK调用、直接调用的方式使用API,之间的差异体现出二者对于API管理诉求的差别。在管理工具的选择上,云厂商围绕API生命周期提供了更全面的管理功能,本次调

15、研的结果显示,阿里云、腾讯云、华为云的管理平台占据了主要市场份额。API技术依然面临全面的挑战,受到最多关注的包括标准化、可组合性/可重用性、以及安全性,且普遍认为微服务、物联网、DevOps等技术的发展可能对API最具促进作用。API的开发和管理方法正在期待更加标准化、自动化的变革,受访者认为API最主要的三项技术挑战分别是标准化、可组合性/可重用性、安全挑战。从受访者普遍看好的微服务、物联网、DevOps等技术当中,我们可以适当延伸解读API的发展趋势。首先,微服务架构将与整体的API策略深度绑定;其次,物联网的实现将越来越依赖API技术;第三,DevOps和API的融合将产生更大的业务价

16、值。8.057.API的发展和应用现状在报告的开篇部分,我们将为API生态描绘一个基本的现状雏形,从主要用途、应用场景、发展瓶颈、参与者画像等角度总结我国API生态的供需现状、发展特征及应用潜力第一部分大部分API同时面向内部和外部提供,网页、移动应用是目前API支持最多的场景数据表明,虽然API的主要开发动力源于提升内部效率,但仍有约56%的受访开发者将API积极地对外开放,仅有21%的受访者表示仅供内部使用,这样的行为也表明开放的API正在给开发者自身带来积极的影响和效益。从支持的场景来看,API已广泛支持了网页、移动应用、桌面、消息、事件,以及loT、原有系统的数字化改造等众多场景,其中

17、,网页、移动应用是其支持最多的场景。API的主要用途API的支持场景API 的发展和应用现状1.56%21%13%9%1%向内部和外部提供使用仅供内部使用供外部免费使用供外部付费使用不确定网页移动应用后段系统集成桌面消息事件嵌入式IoT原有系统数字化改造63.4%59.6%35.5%29.4%27.8%22.6%17.6%13.8%0%10%20%30%40%50%60%11.5%07API使用者遭遇API变更,进而引起的线上事故的比例较高API的使用者和开发者都因遭遇API变更引起了一定比例的线上事故,在API使用者中:45%的受访者遭遇API变更引起线上事故的比例在25%-50%之间、38

18、%的使用者表示这一比例低于25%;而API开发者中这一比例相对较低:调研中48%的开发者选择了“低于25%”、37%选择了“25%-50%”的数值区间。总体看来,尤其对于API使用者,API变更可能已经成为造成线上事故主要原因之一,而开发者显然拥有更好的应对措施。对于API开发者而言,需要提升稳定性方面的意识,为使用者提供更多使用上的稳定性保障。API开发者(左侧)与使用者(右侧)遭遇API变更,进而分别引起的线上事故比例2.75%100%50%75%25%50%低于25%48%13%0%0%10%20%30%40%50%50%40%30%20%10%2%37%38%14%3%45%API 的

19、发展和应用现状08当API出现问题时,开发者应提供便捷的沟通渠道和及时有效的处理方式,这对开发者进行API产品全生命周期的管理提出了更高要求当使用者遇到第三方API出现问题时,近六成的受访者会通过向API提供者提交问题、或临时切换到另一个API服务提供者等方式寻求解决,最大程度上保证业务的稳定,仅14.3%的受访者选择了等待,其余受访者会通过各种方式尽快找到解决办法或替代方案。而对于API开发者,使用者更希望其能够提供问题描述以及解决问题的步骤、临时的解决方案、即时的通知或警告。由此可见,API使用的稳定性至关重要,API产品应当为使用者提供一个能够随时沟通并处理问题的服务方式,这也对API产

20、品全生命周期的管理提出了更高要求。API使用者遇到第三方API出现问题的处理方式当API出现问题时,API使用者希望开发者采取哪些措施3.向API提供者提交问题临时切换到另一个API服务提供者向团队或组织内部其他人员提交问题审视SLA(服务等级协议)考虑永久切换到另一个API服务提供者向外界公开此问题(例如论坛、社区、社交媒体)等待问题解决49%46.3%40.8%31.5%24.5%24.0%14.3%0%10%20%30%40%50%提供问题描述以及解决问题的步骤提供临时的解决方案提供及时的通知或告警提供公开的API状态更新页面当问题解决时及时发布通知59.7%57.8%47.0%38.6

21、%32.6%0%10%20%30%40%50%60%API 的发展和应用现状09我国API生态尚不成熟,市场尚处早期发展阶段,API使用者的数量比例明显高于开发者,开发者集中在开发、设计端,从业经验相对不足本次调研中,72%的受访者为API使用者,占比超过2/3,而API开发者占比不足1/3。在从事API开发或相关工作的受访者中,从事开发、设计/架构、测试的人员占比最大,总计达到约75%,而从事文档、部署运维、安全、技术支持、运营监控等职能的人员占比较少,且年限3年以下的总占比44.4%,经验并不算丰富,也表明新的入局者存在较好的市场机遇。这一定程度上可以说明我国API生态的产品能力不足、市场

22、尚处早期发展阶段。一方面,仅少量企业或组织有能力通过开发API的手段优化内部效率、并通过优质的管理将内部功能转化为对外服务业务;进一步讲,这样的组织以API开发为主、以API所能提供的能力为核心竞争力,而对于API的管理、维护能力投入不足。相较之下,更多的公司希望借助外部工具快速实现自己的业务逻辑,因此市场对于通过API的方式获取技术能力的需求较为旺盛,对于很多开发者来说,提供API产品仍然具备较大的市场空间。开发者从事 API 相关开发或提供 API 服务的年限受访者在API生态中的角色4.72%API使用者28%API开发者API 的发展和应用现状10少于1年13年35年510年10年以上

23、9.3%6.0%15.0%34.6%35.1%05540开发者负责的API工作35%29%9%4%4%3%3%2%11%开发设计/架构测试战略规划文档部署运维安全技术支持运营监控API 的发展和应用现状11API的使用者需求本章试图站在API使用者的角度,探求其使用API的主要目的、功能诉求以及主要关注点第二部分API 使用者的需求使用者对API的主要诉求是获取技术能力、甚至业务能力在对API使用者的调研中,57.7%的受访者使用API的主要目的是“使用API提供的能力完成功能交付,避免重复开发,提高效率”,以“调用API,从外部服务获取数据”为主要目的的受访者仅为22%

24、。此外,还有20.3%的受访者同时选择了两者。由此看来,使用者对API的应用诉求已经由初期的获取数据能力过渡到后期的获取技术能力、甚至业务能力,而对于开发者来说,API技术能力的服务化和业务化将愈发重要。使用API的目的1.57.7%22.0%20.3%使用API提供的能力完成功能交付,避免重复开发,提高效率调用API,从外部服务获取数据两项都有13API使用者最看重的特征易用性、API文档准确详尽、服务可用性是API使用者最为看重的特征API使用者在决定是否使用一款API时,超过半数的受访者更看重API的易用性,同时有超过40%的受访者还会考虑API文档准确详尽、服务可用性、服务响应及性能。

25、此外,在长时间使用过程中,使用者还希望API功能和生命周期设定切合实际期望,如及时的数据安全、良好记录的变革及缺陷等。由此可以看出,对于使用者而言,当API能力满足当前需求时,更加看重同类API产品在具体使用上的体验及稳定性、应用性、可用性等特质,这预示着同类API产品间的竞争除了产品本身能力的维度外,更加优质的后续服务和使用体验,也会赢得更多用户的青睐。2.良好记录的变更及缺陷响应内容符合规范且易于消费可信任的提供者技术支持与客户服务底层架构可扩展性易于维护代码活跃的社区/论坛易用性API文档准确详尽服务可用性服务响应及性能API使用的学习成本数据安全API成本其他25.2%22.6%22.

26、5%21.2%20.4%19.9%13.0%50.2%46.0%42.6%40.2%35.4%34.8%12.9%0%10%20%30%40%50%60%0.4%API 使用者的需求14使用者希望API门户中提供哪些和API调用相关的功能受访者渴望更高效找到合适的API,并快速了解API的具体能力、掌握使用方式在对受访者进行的API门户能力调研中显示,希望API门户能够提供在线API调试、API参数说明、API全局搜索、SDK示例代码这4项功能的受访者比例均超过40%,受访者更希望能够通过门户尽快找到所需要的API,并快速了解其具体能力和调试应用。3.API参数说明API全局搜索SDK示例代码

27、API错误码详情API文档展示调用监控统计身份认证在线CLI订阅申请44.8%在线API测试46.8%44.8%43.5%36.4%31.2%19.4%19.3%17.6%0%10%20%30%40%50%13.9%其他0.5%API 使用者的需求15API开发者策略和行为画像本章试图站在API开发者的角度,探求其开发API的根本动力、主要目的、功能考量以及开发者行为画像第三部分减少开发成本/时间,提高效率便于与外部伙伴合作有助于提供产品或服务的功能扩展便于外部生态开发者参与加速数字化转型(互联网、移动、云计算等)以API产品作为盈利方式增强移动应用从外部产品获取数据或功能遵循合规要求48.3

28、%便于在内部系统、工具和团队间协作55.7%36.5%36.0%34.0%22.5%18.6%17.3%16.7%14.5%0%10%20%30%40%50%60%大部分开发者将优化内部系统、工具和团队协作作为开发API的主要目的,因此更强调可用性,很少将API产品用于盈利在受访的开发者中,开发API的主要目的依然是面向内部的,有55.7%的组织希望通过开发API优化内部系统、工具和团队间协作,48.3%的组织希望能够减少开发时间/成本、提高效率;近3成的受访者表达了希望API能够促进外部合作,如API能够便于与外部伙伴开展合作,以及便于外部生态的开发者参与;仅有18.6%的受访者将API产品

29、作为盈利方式。由此来看,API应用独立营收尚不被大多数团队所考量,一定程度上说明当前API应用行业的竞争还处于蓝海时代。开发API的目的决定了开发者将如何对其进行衡量,无论提供内部或外部使用,API的可用性都是最重要的衡量标准。而在面向外部使用者时,API的调用次数、订阅/用户数量也比利润/收入更受关注。开发者开发API的最大动力开发者衡量API成功的标准1.API的可用性API的调用次数开发者体验订阅/用户数量提交及解决的问题数利润/收入61.3%43.6%41.0%34.6%28.3%22.0%API 开发者的策略和行为画像17在可用性和可靠性的平衡上,开发者普遍更侧重可用性,对可靠性的关

30、注稍逊一筹,这与API使用者的关注点基本一致在程序员资源有限的情况下,如何平衡可用性和可靠性是一个值得思考的问题,在我们的调研中,受访者对可用性、性能、功能性等方面的考量明显高于安全性、扩展性、可维护性等关于可靠性的考量。在对API应用的关注方向上,提供者与使用者的关注点基本相同,但使用者更关注API应用接入后的稳定性,在这方面API开发者的关注度有所欠缺。API开发者对于APIs/Web Services主要的考量点2.性能可用性功能性安全性开发友好扩展性可维护性65.4%63.7%60.1%59.1%42.3%27.7%31.4%API 开发者的策略和行为画像18开发者所使用的开发IDE

31、华为云CloudIDEVS CodeVisual StudioEclipsePyCharmVim/EmacsHBuilderXSublimeAtom13.7%IntelliJ IDEA34.7%12.6%11.9%11.6%6.9%2.7%2.0%0.9%0%10%20%30%40%0.8%其他2.0%目前Java仍是API开发的主要语言,相应的,IntelliJ IDEA成为API开发者首选的集成开发环境客观上来说,Golang被普遍认为更适合写接口,其开发、运行更快,且部署环境简单。但从统计结果来看,Java是目前API开发的主流语言,近半数的受访者及其团队还是选择了自己最熟悉的编程语言。

32、在开发环境的选择上,与Java作为主流开发语言相对应的,IntelliJ IDEA作为业界公认的最好的Java开发工具,也成为了在受访者中应用最多的IDE。另外,开发者使用相对较多的华为云CloudIDE、VSCode、Visual Studio也都是当下较热门的IDE。开发者所使用的开发语言3.PythonC+NetCGoPHPC#RubyRust9.9%JavaScript11.2%Java48.8%9.1%6.0%4.4%3.1%2.7%2.0%1.3%0%10%20%30%40%50%0.2%其他0.5%API 开发者的策略和行为画像19API 开发者的策略和行为画像API开发需要广泛

33、借助各类工具,涵盖设计、文档管理、测试等各个环节,但普遍将易用性视为选择工具的重要关注因素从开发工具的使用上,我们不难看出开发者对于工具的依赖,开发者使用的工具类型覆盖了设计、文档管理、测试等API开发管理周期的各个环节,且各类开发工具的使用比例相近,API设计器、API功能/性能/压力测试工具、编码规范工具、源码版本管理工具、API网关工具、API文档工具、单元测试工具、服务虚拟化工具、代码评审工具在受访者中的使用率均超过了30%。而在同类型开发工具的选择上,大部分开发者首先关注开发工具的易用性。另外,与现有工具的集成、使用效率、先进的功能/特性等也成为开发者重点考虑的因素,而对于是否开源、

34、是否拥有活跃的社区、学习曲线的关注度并不高。4.编码规范工具源码版本管理工具API网关工具API文档工具单元测试工具服务虚拟化工具(Mock)代码评审工具安全测试工具API调用分析37.4%API功能/性能/压力测试工具37.9%API设计器38.5%36.2%34.6%33.2%32.9%32.2%31.4%21.1%0%10%20%30%40%12.9%API市场门户9.7%开发者使用哪些API相关的开发工具20在评估API工具时,开发者优先考虑哪些因素与现有工具的集成效率先进的功能/特性对脚本的支持成本是否开源是否拥有活跃的社区是否有现成客户案例(最佳实践)学习曲线43.2%易用性58.

35、5%43.1%39.8%28.1%26.4%22.5%21.2%19.5%0%10%20%30%40%50%60%18.4%API 开发者的策略和行为画像21API设计流程和工具在本章中,我们聚焦API产品生命周期的一个重要阶段API设计,观察开发者如何看待、以及使用哪些标准和工具实现API设计流程第四部分半数开发者已经拥有正式的API设计流程,近四成开发者已经实现了文档驱动的设计方式建立设计流程的重要性已经得到了开发者的普遍认可,共计约75%的开发者对拥有正式的API设计流程持正面态度,其中约48%的开发者认为设计流程非常重要、且已经建立设计流程。而从设计方式来看,约48%的开发者停留在代码

36、驱动的设计方式,也有38%的开发者已经实现了文档驱动的设计方式。显然,API应用的开发正在向成规模、成体系的团队化开发模式演进,这将加速API应用的快速创新和发展,并对API应用的后续服务提供保障。在这样的背景下,API开发文档中记录的详细信息将在日后成为团队协作共享的宝贵资源,其重要性愈发凸显。是否建立正式的API设计流程目前的API设计方式1.有,设计非常重要目前没有,未来可能有有,设计不是很重要1%48%27%6%18%没有不确定代码驱动:在编写好代码之后再在代码中补充API注解,然后生成API文档文档驱动:在编写代码之前先设计好API定义,然后生成框架代码无固定方式其他48%38%1%

37、13%API 设计流程和工具23RESTful作为优秀的接口设计标准被广泛使用RESTful是目前使用最为普遍的一种接口设计方式,作为一个优秀的接口设计标准,被54.4%的受访者采用。客观来说,兼容性和可扩展性仍然是软件设计的主要挑战,RESTful风格的API具备的天然优势使其受到广大开发者欢迎,例如通过HTTP协议降低客户端的耦合、具有极好的开放性,显然已经取代了SOAP和WSDL等接口设计。但并没有哪种标准是必然优于另外一种的,如gRPC和RESTful API都提供了一套通讯机制,但gRPC有更加严格的接口约束条件,且能够大幅减少需要传输的数据量,在需要对接口进行严格约束、或者对于性能

38、有更高要求的场景更加适用。通用的API或Web Service定义标准的使用情况2.WebsocketAsyncAPIWSDLAPI BlueprintSOAPThriftWADLRAMLISO 858317.1%GraphQL19.7%16.8%gRPCSocket24.5%REST54.4%23.0%15.1%15.1%12.4%9.3%9.0%5.5%0%10%20%30%40%50%60%4.2%我们没有用到API标准2.8%API 设计流程和工具24开源编辑器(如Swagger编辑器)API管理工具中的设计器(例如Apigee、Azure)IDE文本编辑器PostmanSwagger

39、HubMuleSoft Anypoint API DesignerApiaryStoplight26.4%18.7%17.1%12.4%10.2%6.0%3.0%2.2%0%10%20%30%1.6%其他2.4%开源编辑器依然是开发者进行API设计的首选工具,大部分开发者希望获得或已经实现了通过API设计文档自动生成代码的能力创建优质的API需要借助强大的工具、语言以及档案所优化的迭代流程来实现,工具和技术可以从根本上改善这一设计过程。接口描述语言提供支持性的工具以简化编写描述的任务,这一点已经非常常见,RAML、Swagger等单一功能的开源编辑器都提供了优秀的编辑工具以支持各自的语言,它们

40、依然是开发者进行API设计的首选,有26.4%的受访将其作为主要工具,而API管理工具普遍能够提供更全面的功能和更简洁的页面,也有18.7%的受访者使用。从另一个角度来看,有41%的开发者表示能够通过API设计文档自动生成代码,另外有25%的开发者希望通过工具获得借助设计文档自动生成代码的能力。通用的API或Web Service定义标准的使用情况能否通过API设计文档自动生成代码3.能够不能41%34%25%希望API开发工具能提供从API设计自动生成代码功能API 设计流程和工具25API测试流程和工具本章我们将看到API测试在API产品生命周期中的重要作用,还涉及不同测试工具的使用情况、

41、提供高质量API面临的主要障碍等问题第五部分质量低下的API直接影响项目交付时间、SLA要求,严重时甚至对使用者造成用户或公司品牌损失随着第三方API在项目中扮演愈发关键的角色,API的质量将直接影响软件项目的交付质量。23.9%的受访者认为低质量的API会延长项目交付时间,18.6%的受访者认为会导致项目无法满足SLA。同时有20%的受访者担忧,质量低下的API会导致公司丢失客户或用户,并对公司品牌造成损失。显然,提供更好的API质量保障方案,将为使用者选择API增加更多信心。因API质量低下给使用者带来的主要风险1.延长项目交付时间无法满足SLA(服务等级协议)降低项目交付速度影响内部依赖

42、于API的团队丢失客户/用户对公司/品牌造成损失合规风险23.9%18.6%17.6%16.7%14.2%3.2%5.8%API 测试流程和工具27缺少预算没有时间缺少工具/系统之间的集成缺乏经验和技能缺少足够的精力缺少有效协作缺乏合适的工具和技术16.4%6.3%0%0%10%20%30%30%20%10%11.6%11.9%13.4%12.1%11.6%12.4%20.9%16.8%16.1%20.8%13.8%15.1%缺乏合适的工具和技术是保障API质量的最大障碍在保障API质量的调研中,缺乏合适的工具和技术是使用者和开发者面临的最大障碍,分别有20.9%的使用者、20.8%的开发者选

43、择了该选项。其他障碍中,较为集中的选项还包括:缺少足够的精力、缺乏经验和技能、缺少有效协作等。可以得知,在尚未成熟的API生态中,市场亟需好的API开发工具和经验指导,具备专业能力的API开发机构或将加速API生态的建立和发展。使用者(左侧)和开发者(右侧)在保障API质量方面面临的最大障碍2.API 测试流程和工具28无论是API开发者还是使用者,已经建立API测试流程的受访者均超过半数,API测试将成为整体自动化策略的重要组成部分在API使用者中,52%的受访者表示已建立正式的API测试流程,而在开发者中这一比例提高到了56%,另外分别有26%和22%的受访者表示目前没有,但未来可能建立测

44、试流程。显然,建立API测试流程的重要性已经成为共识,伴随越来越多的公司转向DevOps方向,以实现持续集成和持续部署开发,这意味着更快的反馈效率和更短的交付时间,API测试将成为整体自动化策略的重要组成部分。API使用者(外层)和开发者(内层)是否建立正式的API测试流程3.有,测试非常重要目前没有,未来可能有有,测试不是很重要52%56%26%22%3.9%5%1%1.9%16.2%16%没有不确定API 测试流程和工具29大多数受访者使用过多个API 测试工具,YAPI、Postman应用最为广泛目前,有多种第三方工具帮助工程师实现API的自动化测试,其中使用最广泛的是:提供综合接口管理

45、服务的YAPI、以及高效的探索型API测试工具Postman。在所有受访者中,76.5%的API使用者和43.2%的API开发者使用过多个API测试工具,表明API测试工具的市场竞争较为激烈,也说明还没有哪款测试工具赢得了用户的绝对信任。API使用者使用哪些API测试工具4.Karate DSLDreddREST-AssuredKatalonPactJMeterTricentis ToscaParasoftInsomnia15.4%Eolinker17.8%14.6%ReadyAPI/soapUIRAP26.8%API Fortress27.6%Postman38.5%YAPI42.1%19.

46、0%14.5%13.9%11.5%11.2%10.1%7.1%0%10%20%30%40%50%9.1%Apigee22.6%API 测试流程和工具30API开发者使用哪些API测试工具RAPDreddREST-AssuredKarate DSLInsomniaKatalonPactParasoftTricentis-Tosca8.6%Eolinker11.0%7.9%JMeterAPI Fortress19.7%ReadyAPI/soapUI26.9%Postman38.7%YAPI58.2%13.1%7.1%5.8%5.7%4.2%3.9%2.2%0%10%20%30%40%50%50%3

47、.9%Apigee17.8%API 测试流程和工具31第六部分在本章中,我们将探讨如何认识并发挥API文档的重要价值,包括API文档流程的建立、对文档工具的功能需求、文档工具的使用情况、以及文档自动生成能力的实现API文档的使用33虽然约七成受访者已建立正规的API文档流程,且超过半数受访者对所在组织的API文档完善程度给出正面评价,但依然存在大量团队没有意识到API文档应有的重要作用约72.8%的受访者表示已建立正规的API文档流程,但其中27.4%的受访者并不认可API文档流程的重要性。此外还有21.1%的受访者表示目前没有API文档流程,但未来将可能建立。从自我评估的角度,有共计58%的

48、受访者对自身组织的API文档完善程度给出正面评价,包括“不错”、“很好”,仅有26%和13%的受访者给出“一般”和“需要改善”等偏负面的评价。API文档作为前后端两方沟通的桥梁,几乎是开发团队的必备工具,但依旧有超半数受访者表示不认同其重要性、目前没有API文档流程、以及不能确定,一个可能的原因是受访者所在的团队缺乏对于内部API的必要管理、以及管理缺乏基本的团队协同机制,以至于其团队并没有意识到API文档应有的重要作用。结合对API文档工具使用情况的调研,市场中显然还缺少一款主流好用的API文档工具,用以完善API文档的全过程管理。受访者所在组织是否有正规的API文档流程受访者所在组织的AP

49、I文档完善水平评估1.2.0%45.4%27.4%4.1%21.1%有,API文档非常重要有,API文档不是很重要目前没有,未来可能有没有不确定不错很好一般3%30%28%13%26%需要改善很差API 文档的使用API使用者和开发者普遍对文档可读性有较高要求无论API使用者或API开发者,文档可读性都是其最为看重的内容。此外,双方对API文档的主要需求还包括:对各种主流协议和设计规范的支持程度,操作指南,调用方法、参数和返回值的解释,样例等。2.开发者眼中API文档最重要的内容使用者眼中API文档最重要的内容授权资源变更日志版本信息术语表错误信息调用方法、参数和返回值的解释样例错误码其他33

50、.2%33.9%29.8%对各种主流协议和设计规范的支持程度操作指南(如API调用的示例、上下文介绍)44.6%文档可读性(清晰查阅)54.3%43.0%22.3%20.8%16.7%14.0%13.4%12.7%0%10%20%30%40%50%60%0.5%错误码资源变更日志术语表错误信息版本信息调用方法、参数和返回值的解释样例授权其他6.4%9.4%5.3%对各种主流协议和设计规范的支持程度操作指南(如API调用的示例、上下文介绍)19.3%文档可读性(清晰查阅)27.0%14.5%5.2%5.0%2.8%1.7%1.6%1.4%0%5%10%15%20%25%30%0.2%API 文档

51、的使用34API使用者使用哪些API文档工具API开发者使用哪些API文档工具API使用者和开发者使用的主流API文档工具较为一致,且都有相当比例的受访者选择使用自研的API文档工具总体来看,SwaggerHub、ReadMe/Markdown、Atlassian Confluence是API使用者和开发者使用最为广泛的三款API文档工具。值得关注的是,在使用者中,有13.8%的受访者选择使用自研的API文档工具,这一数据在开发者中更是高达23.3%,双方都体现出缺乏主流文档工具的问题,而自研的API文档工具或将有机会成为API开发生态中的创新点,弥补当前文档工具的不足。3.Eolinker自

52、研的API文档工具YAPIRAP没有API文档工具ApigeeRedoc.lyStoplight Docs25.9%31.6%20.8%SwaggerHubAtlassian ConfluenceReadMe/Markdown34.5%20.3%16.9%14.1%13.8%13.7%12.3%0%10%20%30%40%7.9%Apigee没有API文档工具Redoc.lyStoplight Docs其他ReadMe/Markdown自研的API文档工具Atlassian Confluence33.0%28.0%SwaggerHub23.3%18.6%17.0%14.2%13.1%9.0%0

53、%10%20%30%40%3.3%API 文档的使用35仅少量使用者和开发者具有自动化生成API文档的能力在受访者中,仅36%的API使用者、34%的API开发者表示有能力自动化生成API文档,考虑到其中相当比例使用自研的API文档工具,实际通过市场现有API文档工具实现自动化生成的比例会更低。其余54%的API使用者、58%的API提供者则自行编写、或由专职人员编写API文档。在整个API管理过程中,自动化生成API文档的能力至关重要,这项能力的不足也从一个侧面反映出现有的自动化生成工具难以满足应用需求。4.API使用者(左侧)和开发者(右侧)处理API文档的方式我们没有API文档流程我们有

54、专职的技术人员负责API文档编写开发人员自行编写API文档自动化生成API文档,比如使用OpenAPI36%24%0%0%10%20%30%40%40%30%20%10%10%30%34%21%8%37%API 文档的使用36API综合管理体系在本章中,我们着眼于分析API综合管理体系的建立,涉及API的开放和调用方式、API管理工具的选择、以及API监控流程的建立等第七部分开发者更倾向通过API网关实现部分API管理能力,使用者则更关注API的可用性,对API的管理意识和诉求相对不足在API的开放和调用方式上,总计70.9%的API使用者选择通过类库、SDK调用,以及直接调用的方式使用API

55、,选择CLI调用、API网关调用等方式的占比较少。而开发者更多选择API网关的方式进行开放,之间的差异体现出二者对于API管理诉求的差别。API网关作为API管理系统的一部分,不仅在OpenAPI开放平台上承担认证鉴权、限流计费、统计查看、过载熔断等功能,而且伴随微服务架构的流行,API网关也开始作为微服务网关的身份存在,成为其必不可少的组件。即使企业没有大规模地实施微服务架构,API网关也可以作为企业的API服务管理平台。API网关成为开发者开放API的首选方式,一定程度上表明了开发者强烈的API管理需求。相对而言,使用者对于API管理的意识还较为薄弱。使用者通过哪种方式使用API开发者采取

56、哪种方式开放API1.通过类库、SDK调用直接调用API通过CLI调用通过API网关调用其他38.7%32.2%15.0%13.4%0%10%20%30%40%0.6%API网关API管理工具API市场门户以SDK的方式提供我们不开放API31.5%21.1%18.4%18.3%0%10%20%30%40%10.7%API 综合管理体系38开发者显然需要一套完整的API治理体系,阿里云、腾讯云、华为云三家厂商的管理平台占据大部分市场份额伴随越来越多的云服务通过API方式交付、以及云服务之间的相互集成,阿里云、腾讯云、华为云等云厂商提供了更为丰富的API管理服务。在我们的统计中,阿里云、腾讯云、

57、华为云的API管理平台占据了主要的市场份额,反映出开发者更需要一套完整的API治理体系。如华为云API平台提供了错误码、API Explorer在线调试等功能,并通过APIG实现了便捷的端到端API生命周期管理,全面覆盖了从设计、开发、测试、发布、运维、下线、上架下架等功能;阿里云API平台集成了API文档/错误中心、API检索/在线调试等功能模块;腾讯云API平台综合了API文档、错误码、API Explorer及SDK等资源的统一查询功能。上述工具都大大简化了企业能力的开放流程,受到了开发者的欢迎,而YAPI、Kong等开源的微服务网关,因其商业化过程中较长的开发周期和较高的运营维护成本,

58、而逐渐受到冷落。2.IBM API ConnectMuleSoftSoftware AGSAP其他EolinkerRAPWSO27.1%11.2%6.3%Google(Apigee)KongMicrosoft Azure13.1%5.3%YAPIAWS API Gateway29.9%31.9%14.0%腾讯云华为云APIG阿里云42.8%13.4%5.3%5.0%4.2%4.1%3.8%0%10%20%30%40%50%5.5%开发者使用过哪些API管理平台API 综合管理体系39近半数受访使用者已建立了API监控流程超七成受访使用者对建立API监控流程持积极态度,其中43.8%的受访者已经

59、建立了API监控流程,还有28.1%的受访者表示可能将在未来建立。使用者或对API的稳定性存在担忧,开发者如果想要在同类API的竞争中脱颖而出,除了创新的功能点外,产品的稳定性及服务保障也是重要的竞争维度。3.是否建立正式的API监控流程有,监控非常重要目前没有,未来可能有有,监控不是很重要2.8%43.8%28.1%5.5%19.8%没有不确定API 综合管理体系40第八部分API的技术挑战和发展趋势本章我们将集中探讨API正在面临的技术挑战,并预测相关技术的发展前景我们似乎正面对全面的技术挑战,受访者更关注标准化、可组合性/可重用性、安全性挑战在API面临的技术挑战中,我们似乎正面对全面的

60、技术挑战,各项挑战的关注度相差不大,相较之下,受访者更关注标准化、可组合性/可重用性、安全挑战。尤其是API的标准化将有利于推动API应用的互联互通,真正成为项目开发的加速器和连接枢纽。API面临的哪些技术挑战是需要首先被解决的1.标准化可组合性/可重用性安全可发现性授权工具间易于集成版本化可扩展性51.4%48.1%29.2%41.8%23.6%28.9%34.6%35.4%API 的技术挑战和发展42微服务、物联网、DevOps技术的发展可能对API最具促进作用总体来看,受访者对相关技术的预期发展态势较为乐观,微服务、物联网、DevOps位列相关技术的前三名。2.VR/AR数字化转型开放企

61、业聊天机器人数字银行企业服务移动应用自动驾驶29.9%30.7%23.6%AI区块链DevOps38.1%39.3%物联网微服务50.2%20.8%20.8%20.1%17.8%17.6%15.6%0%10%20%30%40%50%60%13.1%哪些技术/应用会在未来两年促进API的发展API 的技术挑战和发展43统计人口样本在本报告的结尾,我们将统计分析不同参与者的画像信息,包括行业、职位、公司规模、地理位置等第九部分参与调研者所属行业受访者多来自互联网/IT/科技产业从受访者的所属行业来看,互联网/IT/科技产业占比达到38.8%,表明API的开发与使用依然高度集中于互联网原生行业。其他

62、如金融服务、零售/贸易、工业与制造、文化/媒体/娱乐、医疗保健、教育/科研等行业成长空间巨大,可见在我国传统产业数字化转型的趋势下,API拥有广阔的市场应用前景。1.受访者中,后端工程师、前端工程师、移动应用开发工程师占比近六成本次调研中,受访者的职业分布排名前三的分别是:后端工程师、前端工程师、移动应用开发工程师,总计占比约57.6%。而API开发工程师、DevOps工程师、QA工程师等职位整体占比较小。2.受访者的职位架构师API开发工程师DevOps工程师QA工程师其他前端工程师移动应用开发工程师运维工程师26.7%16.0%后端工程师14.9%10.2%8.9%8.1%5.3%3.5%

63、0%5%10%15%20%25%30%6.3%统计人口样本医疗保健教育/科研交通运输/物流能源非营利性金融服务零售/贸易文化/媒体/娱乐7.0%互联网/IT/科技5.2%4.2%工业与制造4.3%3.9%3.4%1.7%1.1%1.0%0%5%10%15%20%25%30%35%40%45%0.5%其他38.8%4575%的受访者来自于500人以下的中小型企业,处于规模化扩张阶段的企业对API的关注尤为密切参与本次调研的受访者总体上覆盖了50人以下的小微初创团队、50-500人规模的中小型企业、2000人以上的大型企业,其中近75%的受访者来自500人以下的中小型企业。特别是规模处于50-50

64、0人之间的企业,受访人数占比近六成,从侧面说明处于规模化扩张阶段的企业,对外部的技术资源需求更加迫切,对API的关注尤为密切。受访者所在组织的人员规模3.15.0%150人28.4%51100人31.3%101500人12.6%5012000人12.7%2000人以上超过50%的受访者在北京地区工作,受访者基本分布于互联网行业发展相对领先的一/二线城市从地域分布来看,55%的受访者工作所在地位于北京,其余占比较高的城市排名依次为上海、天津、杭州、深圳、广州,受访者基本分布于互联网行业发展相对领先的一/二线城市。4.北京市上海市天津市5%55%16%6%6%12%杭州市深圳市广州市受访者的工作所

65、在地统计人口样本46免责声明【中国API生态与开发者现状调研报告(2020年)】的编写以及数据采集工作由华为云、InfoQ联合发起,中国信息通信研究院作为指导单位深度参与,开源中国等技术社区及用友、环信、APICloud、DCLOUD、Eolinker、MobTech、蒲公英等API实践企业和社会各界也给予了大力支持,在此,谨致以最衷心的感谢。本报告保证采用数据来自合规渠道,力求客观公正、清晰准确地反映基于数据的研究成果。报告包含的信息取自调研获得的5000+份有效问卷,华为云不对此类信息的准确性、完整性或适当性做出任何保证。同时,可在不发出通知的情况下对本报告所含信息做出修改,读者应当自行关

66、注相应的更新或修改。本报告仅在相关法律许可的情况下面向所有开发者发放,并仅为提供信息而发放,概不构成任何广告。在任何情况下,本报告中的信息或所表述的意见均不构成对任何人的最终建议。在任何情况下,华为云、华为云员工或者关联机构不承诺读者一定获利,不与相关人士分享收益,也不对任何人因使用本报告中的任何内容所引致的任何损失负任何责任。读者务必注意,其据此做出的商业决策与华为云、华为云员工或者关联机构无关。本报告版权仅为 华为云 所有,未经书面许可,任何机构和个人不得以任何形式翻版、复制、发表。如征得华为云同意进行刊发的,需在允许的范围内使用,并注明出处,且不得对本报告进行任何有悖原意的引用、删节和修

67、改。47合作者姚冬:华为云应用平台部首席技术布道师,中国DevOps社区核心组织者,IDCF社区联合发起人马晓宇:环信 CEO,20多年技术和管理经验,曾任职于IONA、Symbian、Nokia等公司,是移动通讯、手机软件、开源软件等领域专家吴阳:蒲公英 CTO,Web 全栈开发工程师,多年技术开发经验,开源项目 date-fns 成员,FreeCodeCamp 中文社区讲师崔红保:DCloud CTO,跨平台开发老兵,小程序领域专家,出品了HBuilder、uni-app等广受开发者欢迎的产品刘昊臻:Eolinker CEO,API全生命周期管理方案专家,广东工业大学特聘研究生教师,TGO广州分会会员邹达:APICloud联合创始人兼CEO,国内较早将Web与Native技术融合的实践者,构建了APICloud技术架构及核心引擎刘晖:InfoQ行业分析师,深入研究AI、云计算等前沿科技领域,API创新生态的观察家与见证者万佳:InfoQ技术编辑,长期关注IT和互联网行业,熟悉当前主流技术,曾采访过多位知名专家、技术大牛

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(华为云&InfoQ:2020中国API生态与开发者现状调研报告(50页).pdf)为本站 (爱喝奶茶的猫) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部