Allgemeine Entwicklungstrends

Teilen:

Programmierung

An welchen Aktivitäten sind Sie beteiligt?

90%

Programmierung

51%

Code-Reviews

42%

Testen

37%

Systemdesign

34%

Deployment

25%

Infrastrukturentwicklung/DevOps

17%

Systemadministration

Welche Betriebssysteme nutzen Sie für Ihre Entwicklungsumgebung(en)?

64%

Windows

43%

Linux

42%

macOS

1%

Sonstiges

Tragen Sie zu Open-Source-Projekten bei?

45%

Nein, aber ich es würde gern tun

21%

Ich habe nur ein paar Beiträge geleistet

12%

Ja, gelegentlich

8%

Ja, regelmäßig

7%

Nein, und ich möchte es auch nicht

4%

Ich arbeite in Vollzeit an Open-Source-Code und werde dafür bezahlt

2%

Ich arbeite ohne Bezahlung in Vollzeit an Open-Source-Code

41%

der Befragten haben zu Open-Source-Projekten beigetragen; 20% tun dies mit einer gewissen Regelmäßigkeit.

Anteil der Open-Source-Mitwirkenden nach Land

55%

USA

54%

Deutschland

53%

Naher Osten, Afrika, Zentralasien

53%

Vereinigtes Königreich

52%

China (Festland)

51%

Restliches Südostasien und Ozeanien

51%

Indien

Welche Arten von Plugins verwenden Sie in Ihrer IDE oder Ihrem Editor?

48%

Versionsverwaltungssysteme

46%

Framework-spezifische Plugins

40%

Unterstützung benutzerdefinierter Sprachen

37%

Codequalität und -analyse

34%

UI/UX-Plugins und Themes

32%

Produktivitätstools

32%

Debugging-Tools

Plattformübergreifende Entwicklung

Entwickeln Sie plattformübergreifende Software?

65%

Nein

22%

Ja, ich entwickle plattformübergreifende Mobil-Apps

17%

Ja, ich entwickle plattformübergreifende Desktop-Anwendungen

Für welche Plattformen entwickeln Sie Ihre plattformübergreifenden Desktop-Anwendungen?

88%

Windows

77%

Linux

53%

macOS

2%

Sonstiges

Maarten Balliauw

Developer Advocate, JetBrains

Windows ist bei der Desktop-Nutzung sehr präsent, aber ich hatte erwartet, dass macOS einen größeren Anteil hat. Es ist faszinierend, wie viele Leute Linux als Zielplattform verwenden.

Für welche Plattformen entwickeln Sie Ihre plattformübergreifenden Mobil-Apps?

87%

Android

72%

iOS

55%

Web

2%

Sonstiges

Wie arbeiten Sie normalerweise mit verschiedenen Betriebssystemen oder Plattformen bei der Entwicklung plattformübergreifender Desktop-Anwendungen?

50%

Ich verwende physische Computer oder Geräte

49%

Ich verwende virtuelle Systeme

19%

Normalerweise arbeite ich nicht mit verschiedenen Betriebssystemen oder Plattformen

2%

Sonstiges

Wie arbeiten Sie normalerweise mit verschiedenen Betriebssystemen oder Plattformen bei der Entwicklung plattformübergreifender Mobil-Apps?

67%

Ich verwende einen lokal ausgeführten Emulator

65%

Ich verwende physische Computer oder Geräte

16%

Ich verwende einen remote ausgeführten Emulator

4%

Normalerweise arbeite ich nicht mit verschiedenen Betriebssystemen oder Plattformen

1%

Sonstiges

Mobilgeräte

Für welche mobilen Betriebssysteme entwickeln Sie?

87%

Android

58%

iOS

3%

Sonstiges

Die überwiegende Mehrheit der Mobil-Entwickler*innen arbeitet an Android-Apps, und mehr als die Hälfte ist in der iOS-Entwicklung aktiv.

Wie entwickeln Sie für mobile Betriebssysteme?

61%

Ich verwende native Tools

49%

Ich verwende plattformübergreifende Technologien und Frameworks

Fast die Hälfte der Mobil-Entwickler*innen nutzt plattformübergreifende Technologien. Informationen zu Kotlin Multiplatform und fünf weiteren Top-Frameworks für die plattformunabhängige Entwicklung finden Sie hier.

Welche plattformübergreifenden Mobile-Frameworks verwenden Sie?

46%

46%

Flutter

32%

35%

React Native

12%

10%

Unity

12%

8%

Xamarin

11%

9%

Ionic

Sicherheit

62%

der Entwickler*innen folgen dem Secure Software Development Life Cycle (SSDLC).

Welche Tools verwenden Sie für die sichere Entwicklung?

74%

IDE/Editor

39%

CI/CD

27%

Issue-Tracker

13%

Spezialisierte/dedizierte Sicherheitssoftware

4%

Sonstiges

Welche integrierten Lösungen verwenden Sie, um die Sicherheit der entwickelten Software zu gewährleisten?

58%

Ich verwende keine integrierten Lösungen

26%

GitLab

5%

Snyk

5%

Sonatype

4%

JFrog

2%

Checkmarx

2%

Veracode

Statische Analyse

Wie gewährleisten Sie die Codequalität bei Ihrer Arbeit?

71%

Ich führe manuelle Code-Reviews durch

33%

Ich führe gelegentlich automatisierte Codeanalysen/statische Analysen durch

33%

Ich führe bei jedem Commit eine automatisierte Codeanalyse/statische Analyse durch

2%

Sonstiges

Was sind für Ihr Projekt/Unternehmen die größten Hindernisse bei der Gewährleistung einer hohen Codequalität?

48%

Zeitmangel

38%

Hohe Arbeitsbelastung

34%

Mangelhaft abgestimmte Codequalitätsrichtlinien im Team/Unternehmen

24%

Zu wenig Arbeitskräfte

19%

Mangel an sinnvollen Tools

17%

Tools sind zu teuer

12%

Ich habe keine derartigen Probleme

3%

Sonstiges

Welche Tools verwenden Sie für die automatisierte Codeanalyse/statische Analyse?

62%

IDE/Editor

32%

ESLint

24%

SonarQube

16%

SonarLint

12%

Pylint

10%

Flake8

7%

SonarCloud

6%

Mypy

5%

PHPStan

5%

Ktlint

5%

Snyk

3%

Qodana

9%

Sonstiges

Microservices

Die folgenden Fragen wurden nur Befragten gestellt, die Microservices entwickeln.

34%

der Befragten entwickeln nach eigenen Angaben Microservices.

Welche Ansätze verwenden Sie in Ihrem Systemdesign?

82%

Microservices

35%

Serviceorientierte Architektur

20%

Monolith mit Web-Frontend

12%

CQRS

8%

Reaktive Datenströme

4%

Actor-Systeme

1%

Sonstiges

2%

Keine

Wie kommunizieren die einzelnen Teile Ihrer verteilten Anwendung miteinander?

75%

REST/RPC über HTTP

48%

Nachrichtenwarteschlange

24%

WebSocket

24%

Plattformübergreifendes RPC

12%

GraphQL

10%

Stream-Verarbeitung

9%

Selbst definierte TCP/UDP-Kommunikation

8%

SOAP

3%

Remoting

2%

Sonstiges

1%

Keine

Danke, dass Sie sich die Zeit genommen haben!

Wir hoffen, dass Sie unseren Bericht nützlich fanden. Teilen Sie diesen Bericht im Freundes- und Kollegenkreis.

Wenn Sie Fragen oder Anregungen haben, schreiben Sie uns bitte unter surveys@jetbrains.com.