通用开发趋势

分享:

开发

您参与哪种(哪些)类型的活动?

90%

编码/编程

51%

代码审查

42%

测试

37%

系统设计

34%

部署

25%

基础架构开发/DevOps

17%

系统管理

您的开发环境使用哪种(哪些)操作系统?

64%

Windows

43%

Linux

42%

macOS

1%

其他

您是否参与开源项目?

45%

否,但愿意

21%

我只贡献过几次

12%

是,有时

8%

是,经常

7%

否,而且不愿意

4%

我全职编写开源代码,并为此获得报酬

2%

我全职编写开源代码,但不获得报酬

41%

的受访者为开源项目做出过贡献,20% 或多或少定期做出贡献。

在不同国家或地区有多少开发者为开源项目做出贡献?

55%

美国

54%

德国

53%

中东、非洲、中亚

53%

英国

52%

中国大陆

51%

东南亚其他地区和大洋洲

51%

印度

您在 IDE 或编辑器中使用什么类型的插件?

48%

版本控制系统

46%

针对特定框架的插件

40%

定制语言支持

37%

代码质量和分析

34%

UI/UX 插件和主题

32%

办公工具

32%

调试工具

跨平台开发

您是否开发跨平台软件?

65%

22%

是,我开发跨平台移动应用程序

17%

是,我开发跨平台桌面应用程序

您的跨平台桌面应用程序以什么平台为目标?

88%

Windows

77%

Linux

53%

macOS

2%

其他

Maarten Balliauw

JetBrains 开发技术推广工程师

Windows 在桌面使用中非常普遍,但我此前预计 macOS 会有更大的份额。以 Linux 为目标的人数很有趣。

您的跨平台移动应用程序以什么平台为目标?

87%

Android

72%

iOS

55%

Web

2%

其他

在开发跨平台桌面应用程序时,您通常如何使用不同的操作系统或平台?

50%

我使用实体计算机或设备

49%

我使用虚拟机

19%

我通常不使用不同的操作系统或平台

2%

其他

在开发跨平台移动应用时,您通常如何使用不同的操作系统或平台?

67%

我使用本地运行的模拟器

65%

我使用实体计算机或设备

16%

我使用在远程机器上运行的模拟器

4%

我通常不使用不同的操作系统或平台

1%

其他

移动

您面向哪种(哪些)移动操作系统开发?

87%

Android

58%

iOS

3%

其他

大多数从事移动开发的开发者在开发 Android 应用,超过半数参与 iOS 开发。

您如何面向移动操作系统开发?

61%

我使用原生工具

49%

我使用跨平台技术和框架

几乎一半的移动开发者使用跨平台技术。您可以在这里详细了解 Kotlin Multiplatform 和五个最佳跨平台框架。

您使用哪种(哪些)跨平台移动框架?

46%

46%

Flutter

32%

35%

React Native

12%

10%

Unity

12%

8%

Xamarin

11%

9%

Ionic

安全性

62%

的开发者遵循安全软件开发生命周期 (SSDLC)。

您使用什么工具进行安全开发?

74%

IDE/编辑器

39%

CI/CD

27%

问题跟踪器

13%

专用/专门的安全软件

4%

其他

您使用哪种(哪些)集成解决方案维护已开发软件的安全性?

58%

我不使用任何集成的解决方案

26%

GitLab

5%

Snyk

5%

Sonatype

4%

JFrog

2%

Checkmarx

2%

Veracode

静态分析

您在工作中如何保持代码质量?

71%

我运行手动代码审查

33%

我会时常运行自动代码分析/静态分析

33%

我在每次提交时运行自动代码分析/静态分析

2%

其他

您的项目/组织保持高质量代码的最大障碍是什么?

48%

时间限制

38%

工作量大

34%

团队/组织中的代码质量准则不一致

24%

员工太少

19%

缺少先进的工具

17%

工具过于昂贵

12%

我没有此类问题

3%

其他

您使用哪种(哪些)工具进行自动化代码分析/静态分析?

62%

IDE/编辑器

32%

ESLint

24%

SonarQube

16%

SonarLint

12%

Pylint

10%

Flake8

7%

SonarCloud

6%

Mypy

5%

PHPStan

5%

Ktlint

5%

Snyk

3%

Qodana

9%

其他

微服务

以下问题仅向开发微服务的人员显示。

34%

的受访者表示开发微服务。

您在系统设计中采用什么方式?

82%

微服务

35%

面向服务的架构

20%

带 Web 前端的单体

12%

CQRS

8%

反应式流

4%

Actor 系统

1%

其他

2%

您的应用程序的分布式部分如何通信?

75%

REST/RPC over HTTP

48%

消息队列

24%

WebSocket

24%

跨平台 RPC

12%

GraphQL

10%

流处理

9%

定制 TCP/UDP 通信

8%

SOAP

3%

远程

2%

其他

1%

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com