Was ist eine integrierte Entwicklungsumgebung (IDE)?

Ein Mann und eine Frau arbeiten gemeinsam in einem Computerraum, umgeben von Bildschirmen und Laptops.

Autoren

Josh Schneider

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Was ist eine integrierte Entwicklungsumgebung (IDE)?

Eine integrierte Entwicklungsumgebung (IDE) ist eine Software, die von DevOps-Programmierern verwendet wird. Es vereint verschiedene nützliche Developer Tools – darunter einen Quellcode-Editor, Tools zur Automatisierung der Build-Erstellung und einen Debugger – in einer einzigen grafischen Benutzeroberfläche (GUI).

Obwohl sie für die Softwareentwicklung nicht unbedingt erforderlich sind, da Code mit jedem Texteditor geschrieben und über die Befehlszeile ausgeführt werden kann, vereinen IDEs Funktionen, die die Produktivität der Entwickler und die Codequalität verbessern. Moderne IDEs enthalten oft den erforderlichen Compiler, Interpreter oder beides, je nach der spezifischen Codierungssprache. 

Weitere gängige IDE-Funktionen sind die hier aufgeführten Funktionen:

  • Versionskontrollsystem: Die Versionskontrolle ist ein wesentlicher Bestandteil der modernen Softwareentwicklung und dient dazu, verschiedene Versionen von Code zu kontrollieren, zu Unternehmen und zu verfolgen. Versionskontrollsysteme unterstützen Entwickler dabei, Codeänderungen und -aktualisierungen zu überwachen und gleichzeitig die Codehistorie zu dokumentieren. Obwohl eigenständige Optionen wie Git weit verbreitet sind, bieten viele IDEs auch potenziell kompatible integrierte Optionen an. 
  • Klassenbrowser: Klassenbrowser ermöglichen es Programmierern, die Struktur von objektorientiertem Programmcode zu durchsuchen, zu erkunden oder zu visualisieren. 
  • Objektbrowser: Mit Objektbrowsern können Programmierer Softwarepakete nach Komponenten untersuchen. Sie können die Komponentenhierarchie, Eigenschaften und Ereignisse anzeigen, die mit einzelnen Objekten verbunden sind. 
  • Klassenhierarchiediagramm: Für die Softwareentwicklung auf Basis der objektorientierten Programmierung unverzichtbar, können IDEs Klassenhierarchiediagramme bereitstellen. Diese statischen Diagramme beschreiben die übergreifende Systemstruktur nach Objektklassen, einschließlich ihrer Attribute, Operationen und Beziehungen zu anderen Objekten.

Die neuesten Tech-News – von Experten bestätigt

Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben sich angemeldet.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Allgemeine Funktionen integrierter Entwicklungsumgebungen (IDEs)

Während einige grundlegende Funktionen in allen IDEs als Standard gelten, gibt es keine festgelegte Liste von Basisfunktionen, die eine Software erfüllen muss, um den Status einer IDE zu erhalten. Allerdings enthalten die meisten IDEs wahrscheinlich in gewissem Umfang die meisten (oder alle) der folgenden Tools, Features und Funktionen:

  • Automatisierung der Code-Bearbeitung: IDEs bieten verschiedene Automatisierungsfunktionen, die bei der Bearbeitung und Korrektur verschiedener Typen von Programmcode unterstützen. Da verschiedene Programmiersprachen unterschiedlichen Regeln folgen, können IDEs Syntaxfehler oder Abweichungen von der korrekten Sprachstruktur erkennen und bei deren Korrektur unterstützen. 
  • Intelligente Code-Autovervollständigung: IDEs verfügen häufig über automatisierte Tools (ähnlich wie Autovervollständigung oder Suchvorschläge), die Programmierern beim Schreiben von Code helfen, indem sie häufig verwendete Ausdrücke oder Begriffe basierend auf erkannten Codefunktionen oder -absichten vorschlagen. 
  • Syntaxhervorhebung: IDEs können geschriebenen Code automatisch formatieren, indem sie die Schriftfarben ändern und bestimmte Wörter, Ausdrücke oder Symbole fett oder kursiv darstellen. Syntaxhervorhebung kann sofortiges Feedback zu möglichen Syntaxfehlern bieten. Diese IDE-Funktion verbessert die Lesbarkeit des Quellcodes, sodass Programmierer ihre Arbeit leichter überprüfen können.
  • Refactoring-Unterstützung: Code-Refactoring ist der Prozess, bei dem effektiver Quellcode verfeinert, umstrukturiert oder neu geschrieben wird, um nicht nur die beabsichtigte Funktion zu erfüllen, sondern auch den etablierten Prinzipien der Einfachheit zu entsprechen. Ausreichend umgestalteter Code ist sowohl effizienter als auch besser lesbar und behält die beabsichtigte Funktion mit nur den wesentlichen Skripten bei. Refactoring wird als integraler Bestandteil des Software-Designs auf hoher Ebene angesehen, auch wenn der Prozess zeitaufwendig sein kann. In bestimmten Szenarien unterstützen IDEs Entwickler bei der Verbesserung ihres Codes, indem sie den Quellcode automatisch und schneller umgestalten.
  • Lokale Build-Automatisierung: IDEs können mehrere sich wiederholende Entwicklungsaufgaben automatisieren, die typischerweise mit der Code-Bearbeitung einhergehen, wie beispielsweise die Aktualisierung zuvor geschriebener Codezeilen, um neue Änderungen widerzuspiegeln.
  • Zusammenstellung und Interpretation: Die meisten Programmierer schreiben in höheren Programmiersprachen, weil sie für Menschen besser lesbar sind und es daher einfacher ist, mit ihnen zu arbeiten. Bevor Software jedoch ausgeführt werden kann, muss sie in eine Low-Level-Maschinensprache übersetzt werden, die ein Betriebssystem wie Linux oder Windows verstehen kann. Compiler und Interpreter sind Typen von Software, die den Übersetzungsprozess in Abhängigkeit vom sprachspezifischen Originalquellcode automatisieren. Während Compiler und Interpreter häufig als eigenständige Softwareprogramme angeboten werden, verfügen viele moderne IDEs über integrierte Compiler- und Interpreterfunktionen. 
  • Testen: Bevor neuer Quellcode in den bestehenden Entwicklercode integriert wird, bieten IDEs Developer Tools zur Automatisierung lokaler Unit-Tests. Dieser erste Prozess stellt eine erste Qualitätskontrolle dar, bevor der Code in komplexeren Produktionsumgebungen getestet wird.
  • Debugging: Der Begriff „Bug” (Fehler) wird als Sammelbegriff für eine Vielzahl potenzieller Fehler verwendet, die in unkorrigiertem Code gefunden werden können. Während einige Fehler als einfache typografische oder syntaktische Fehler auftreten können, kann jeder Code, der die beabsichtigte Funktion der Software daran hindert, wie vorgesehen zu arbeiten, als Fehler betrachtet werden. Der Debugging-Prozess umfasst mehrere Stufen der Codeüberprüfung und -tests, um sicherzustellen, dass der Code unter allen Umständen wie vorgesehen funktioniert. Obwohl IDEs oft kein vollständig integriertes Code-Debugging bieten, stellen sie häufig eine Reihe von Debugging-Tools bereit. Diese Tools helfen dabei, so viele Fehler wie möglich zu beseitigen, oft in Echtzeit, während der Code geskriptet wird. Eine Möglichkeit, wie IDEs den Debugging-Prozess unterstützen, besteht darin, den Code während der Ausführung Zeile für Zeile hervorzuheben, wodurch Entwickler den Code überprüfen und sein Verhalten validieren können. 
  • Code-Linting und -Analyse: Die Codeanalyse in Echtzeit liefert sofortiges Feedback, ähnlich wie die automatische Rechtschreib- und Grammatikprüfung in gängigen Texteditoren. Diese Tools können über die Erkennung einfacher Tippfehler hinausgehen und dabei helfen, eine Vielzahl potenzieller Probleme zu identifizieren. Zu diesen Problemen zählen Stilverstöße, die die Lesbarkeit und Wartbarkeit des Codes beeinträchtigen können, mögliche Fehler, ineffiziente Sprachmuster und kritische Sicherheitslücken.
Anwendungsentwicklung

Steigen Sie ein: Entwicklung von Enterprise-Anwendungen in der Cloud

In diesem Video erläutert Dr. Peter Haumer, wie die moderne Entwicklung von Unternehmensanwendungen in der Hybrid Cloud heute aussieht, indem er verschiedene Komponenten und Praktiken demonstriert, darunter IBM Z Open Editor, IBM Wazi und Zowe. 

Vorteile der Verwendung einer integrierten Entwicklungsumgebung

Im Vergleich zu einem Standard-Texteditor bietet die Arbeit in einer integrierten Entwicklungsumgebung (IDE) während der Anwendungsentwicklung Programmierern eine Vielzahl von Annehmlichkeiten und Vorteilen. IDEs tragen zur Optimierung des gesamten Entwicklungsprozesses bei, indem sie Entwicklern das Schreiben und Debugging von Code sowie die Zusammenarbeit mit Projektmanagern und erweiterten Teams erleichtern.

Zu den Vorteilen, die mit IDE-Funktionen verbunden sind, gehören: 

Steigerung der Produktivität

IDEs bieten zahlreiche Effizienzsteigerungen zur Erhöhung der Entwicklerproduktivität. Durch die Integration verschiedener Tools in eine Anwendung wird die Notwendigkeit von Kontextwechseln zwischen Anwendungen reduziert, was den gesamten Workflow verbessert. Programmierer sparen durch Automatisierung ebenfalls Zeit, indem sie die IDE wiederkehrende Aufgaben übernehmen lassen, während Codegeneratoren dabei helfen, Abkürzungen für gängige Skriptmuster zu erstellen. Integrierte Dokumentations-Tools unterstützen Entwickler auch bei der Versionskontrolle, wodurch sie Zeit sparen und sich auf die Codeerstellung konzentrieren können, anstatt sich mit der Katalogisierung zu befassen.

Verbesserter Code

IDEs helfen durch verschiedene Tools, die allgemeine Codequalität zu verbessern. Die Fehlererkennung in Echtzeit reduziert menschliche Fehler, während Tools zur Codeanalyse und Refactoring automatische und intelligente Optimierungen ermöglichen. Visuelle Indikatoren wie die Syntaxhervorhebung helfen Entwicklern dabei, mehr Ordnung und Struktur zu schaffen und gleichzeitig die Lesbarkeit für die Codeüberprüfung zu verbessern.

Schnelleres Onboarding

IDEs sind hervorragende Tools, die Entwicklern den Einstieg in neue Projekte oder Programmiersprachen erleichtern. Sie erleichtern den Lernprozess durch vorgefertigte Vorlagen, geführte Workflows und integrierte Supportdokumente.

Einfachere Zusammenarbeit

IDEs erleichtern die Zusammenarbeit zwischen Entwicklern, die an Altlast-Code arbeiten. Sie verbessern auch die Kommunikation mit dem gesamten Team, einschließlich potenziell weniger technisch versierter Projektmanager und Stakeholder des Kunden. IDEs lassen sich gut in Versionskontrollsysteme integrieren, um eine einheitliche Dokumentation zu gewährleisten, und enthalten Reviews für eine gemeinsame Projektanalyse und -bestätigung. 

Arten von integrierten Entwicklungsumgebungen

Um den Anforderungen von Entwicklern gerecht zu werden, gibt es integrierte Entwicklungsumgebungen (IDEs) in einer Vielzahl von Varianten – von Open Source bis proprietär, von einsteigerfreundlich bis komplex. Viele IDEs bieten plattformübergreifende Unterstützung, während einige stärker sprachabhängig sind. Hier einige der beliebtesten Typen von IDEs.

Lokale IDEs

Lokale IDEs werden lokal auf der persönlichen oder beruflichen Hardware eines Entwicklers installiert und ausgeführt. Diese IDEs erfordern zusätzliche Ressourcenbibliotheken, die Entwickler entsprechend den Projektanforderungen und persönlichen Präferenzen herunterladen und lokal installieren müssen.

Lokale IDEs sind besser anpassbar, profitieren dadurch, dass es kaum Probleme mit Latenzen gibt, und können nach Abschluss der Einrichtung auch ohne aktive Internetverbindung vollständig betrieben werden. Die Einrichtung und Konfiguration einer lokalen IDE kann jedoch mühsam sein, und Unterschiede zwischen dem lokalen Rechner und der Produktionsumgebung können zu unbeabsichtigten Softwarefehlern oder Ausfällen führen.

Lokale IDEs sind auch von der lokalen Hardware abhängig. Da lokale Hardware auf die lokalen Speicherressourcen eines Computers angewiesen ist, kann es schwierig sein, eine lokale IDE auszuführen, insbesondere bei der Arbeit mit großen Mengen komplexen Codes.  

Beispiele für lokale IDEs:

  • Microsoft Visual Studio
  • Eclipse
  • JetBrains-IDEs wie IntelliJ IDEA und PyCharm

Cloud-IDEs

Im Gegensatz zu lokalen IDEs sind Cloud-IDEs browserbasiert und erfordern nicht, dass Entwickler bestimmte Software oder Bibliotheken auf ihre lokale Hardware herunterladen. Diese Anforderung setzt eine stabile Internetverbindung voraus, um effektiv auf die Cloud zugreifen zu können.

Im Vergleich zu lokalen IDEs bieten cloudbasierte IDEs mehrere Vorteile. Teams, die mit cloudbasierten IDEs arbeiten, können eine standardisierte Entwicklungsumgebung schaffen und so Fehler vermeiden, die durch unterschiedliche lokale Hardwarekonfigurationen entstehen können.

Cloud-IDEs können durch die Nutzung cloudbasierter Ressourcen auch eine bessere Leistung als lokale IDEs bieten. Bestimmte komplexe IDE-Funktionen erfordern häufig erhebliche Rechenressourcen. Um Verzögerungen bei lokalen IDEs zu vermeiden, können Entwickler diese Aufgaben an leistungsstarke cloudbasierte Rechenzentren auslagern.

Beispiele für cloudbasierte IDEs:

  • AWS Cloud9
  • Replit
  • CodeSandbox

IDEs für die Entwicklung mobiler Apps

Diese Art von IDEs wurde speziell für die Entwicklung mobiler Anwendungen entwickelt. IDEs für die Entwicklung mobiler Apps verfügen in der Regel über Bibliotheken für mobile Technologie und exklusive Funktionen wie Emulator-Unterstützung. 

Beispiele für IDEs für die Entwicklung mobiler Apps:

  • Flutter IDE-Plug-ins für VS Code, IntelliJ und andere
  • Android Studio für die Android-Entwicklung

Datenbankspezifische IDEs

Die Programmierung für Datenbanken erfordert eine Reihe konkreter Überlegungen. Diese Typen von IDEs wurden speziell für die Datenbankentwicklung entwickelt und verfügen über besondere Funktionen wie integrierte Abfrage-Generatoren und Datenbank-Tools. 

Beispiele für datenbankspezifische IDEs:

  • MySQL Workbench
  • Oracle SQL-Entwickler
  • pgAdmin

IDEs nach Programmiersprache oder Projekt

Zwar bieten viele IDEs Unterstützung für mehrere Sprachen, jedoch sind einige speziell auf die besonderen Parameter bestimmter Programmiersprachen ausgelegt. Ebenso sind andere IDEs je nach Projektzweck spezialisiert. Einige Beispiele für sprach- oder projektspezifische IDEs sind die hier aufgeführten IDEs: 

Java™

  • IntelliJ IDEA: Eine robuste IDE, die für die Unterstützung von Java entwickelt wurde und über erweiterte Funktionen für Refactoring, Codeanalyse und Build-Automatisierung verfügt. 
  • Eclipse: Eine vielseitige Open-Source-IDE, die von einem großen Plug-in-Ökosystem profitiert, das über öffentliche Repositories wie GitHub verfügbar ist. 
  • NetBeans: Eine beliebte Open-Source-IDE-Option, die kostenlos zur Verfügung steht.

Python

  • PyCharm: Diese IDE bietet Unterstützung für wissenschaftliches Rechnen und viele nützliche Funktionen für die Codierung in Python. 
  • Spyder: Eine weitere IDE, die für Data Science und wissenschaftliches Rechnen entwickelt wurde, ist die Programmiersprache Python. 
  • IDLE: Diese relativ einfache IDE eignet sich gut für Anfänger, um Python zu erlernen. 

Web-Entwicklung

  • Visual Studio Code: Diese leichtgewichtige und intuitive IDE hat sich zu einer vertrauenswürdigen Umgebung für Programmierer entwickelt, die in der Webentwicklung arbeiten.
  • WebStorm: Eine spezialisierte IDE, die für Programmierer entwickelt wurde, die mit JavaScript, TypeScript und ähnlichen Technologien arbeiten. 
Weiterführende Lösungen
IBM Enterprise Application Service für Java

Ein vollständig verwalteter, mandantenfähiger Service für die Entwicklung und Bereitstellung von Java-Anwendungen.

Java-Apps erkunden
DevOps-Lösungen

Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.

DevOps-Lösungen erkunden
Services für die Entwicklung von Unternehmensanwendungen

Die Entwicklung von Cloud-Anwendungen bedeutet: einmal erstellen, schnell iterieren und überall bereitstellen.

Services für die Anwendungsentwicklung
Machen Sie den nächsten Schritt

IBM Cloud Application Development Consulting Services bieten fachkundige Beratung und innovative Lösungen zur Optimierung Ihrer Cloud-Strategie. Arbeiten Sie mit den Cloud- und Entwicklungsexperten von IBM zusammen, um Ihre Anwendungen zu modernisieren, skalieren und beschleunigen und so transformative Ergebnisse für Ihr Unternehmen zu erzielen.

Mehr zu Services zur Anwendungsentwicklung Erste kostenlose Schritte beim Erstellen auf IBM Cloud