Integrierte Entwicklungsumgebung (IDE)
Was ist eine integrierte Entwicklungsumgebung (IDE)?
Eine integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) ist eine Software-Suite, die grundlegende Tools zum Schreiben und Testen von Software zusammenfasst.
Entwickler verwenden während der Entwicklung und dem Testen von Softwarecode zahlreiche Tools. Zu den Entwicklungswerkzeugen gehören häufig Texteditoren, Codebibliotheken, Compiler und Testplattformen. Ohne eine IDE muss ein Entwickler all diese Tools separat auswählen, bereitstellen, integrieren und verwalten. Eine IDE vereint viele dieser Tools in einer einzigen grafischen Benutzeroberfläche (GUI). Die IDE wurde entwickelt, um die Softwareentwicklung zu vereinfachen und kann Codierungsfehler und Tippfehler identifizieren und minimieren.
Einige IDEs sind Open Source, andere sind kommerzielle Angebote. Eine IDE kann eine eigenständige Anwendung sein oder Teil eines größeren Softwarepakets.
Funktionen von IDEs
Eine IDE enthält in der Regel einen Codeeditor, einen Compiler oder Interpreter und einen Debugger, auf die über eine einzige GUI zugegriffen werden kann. Der Benutzer schreibt und bearbeitet den Quellcode im Codeeditor. Der Compiler übersetzt den Quellcode in eine lesbare Sprache, die von einem Computer ausgeführt werden kann. Der Debugger testet die Software, um Probleme oder Fehler zu beheben.
Eine IDE kann auch Funktionen wie programmierbare Editoren, Objekt- und Datenmodellierung, Unit-Tests, eine Quellcodebibliothek und Tools zur Build-Automatisierung enthalten.
Die Symbolleiste einer IDE ähnelt oft der Symbolleiste eines Textverarbeitungsprogramms. Die Symbolleiste erleichtert die farbliche Organisation, die Formatierung des Quellcodes, die Fehlerdiagnose und -meldung sowie die intelligente Codevervollständigung. Über die Benutzeroberfläche einer IDE kann ein Entwickler oder ein Entwicklerteam Code schrittweise kompilieren und ausführen sowie Änderungen am Quellcode einheitlich verwalten. IDEs sind in der Regel für die Integration mit Versionskontrollbibliotheken von Drittanbietern wie GitHub und Apache Subversion ausgelegt.
Eine IDE kann die modellgetriebene Entwicklung unterstützen. Ein Entwickler, der mit einer IDE arbeitet, beginnt mit einem Modell, das die IDE in geeigneten Code übersetzt. Anschließend debuggt und testet die IDE den modellgetriebenen Code mit einem hohen Grad an Automatisierung. Sobald der Build erfolgreich und ordnungsgemäß getestet ist, kann er über die IDE oder andere Tools außerhalb der IDE für weitere Tests bereitgestellt werden.
Vorteile bei der Verwendung von IDEs
Eine IDE kann die Produktivität von Entwicklern dank schneller Einrichtung und Standardisierung über alle Tools hinweg verbessern.
Ohne eine IDE verbringen Entwickler Zeit damit, zu entscheiden, welche Tools sie für verschiedene Aufgaben verwenden sollen, die Tools zu konfigurieren und deren Verwendung zu erlernen. Viele oder sogar alle erforderlichen Entwickler-Tools sind in einer integrierten Entwicklungsumgebung enthalten.
IDEs sind außerdem so konzipiert, dass alle Tools unter einer Benutzeroberfläche zusammengefasst sind, was die Softwareentwicklung für den Benutzer zugänglicher macht.
Arten von IDEs und verfügbare Tools
Entwickler müssen die von ihnen verwendete IDE an die Art der Anwendung anpassen, die sie erstellen möchten. Wenn ein Entwickler beispielsweise eine Anwendung für iOS erstellen möchte, benötigt er eine IDE, die die Programmiersprache Swift von Apple unterstützt. Die Arten von IDEs reichen von web- und Cloud-basierten bis hin zu mobilen, sprachspezifischen oder mehrsprachigen IDEs.
Webbasierte IDEs eignen sich für die Entwicklung webbasierter Anwendungen in Hypertext Markup Language (HTML), JavaScript oder ähnlichen Programmiersprachen. Microsofts Visual Studio Code ist ein Beispiel für eine webbasierte IDE mit Funktionen wie einem Code-Editor, Syntaxhervorhebung, Codevervollständigung und Debugging.
IDEs werden zunehmend über ein Platform-as-a-Service-Bereitstellungsmodell (PaaS) angeboten. Zu den Vorteilen dieser Cloud-IDEs gehören:
- Zugriff auf Softwareentwicklungswerkzeuge von überall auf der Welt und von jedem kompatiblen Gerät aus.
- Minimale bis keine Download- und Installationsanforderungen.
- Einfache Zusammenarbeit zwischen geografisch verteilten Entwicklern.
Cloud9 ist eine IDE von AWS, die bis zu 40 Sprachen unterstützt, darunter C, C++, Python, Ruby und JavaScript. Cloud9 bietet Benutzern Codevervollständigung, einen Bildeditor und einen Debugger sowie weitere Funktionen wie Unterstützung für die Bereitstellung auf Microsoft Azure und Heroku.
Eine IDE für die mobile Entwicklung funktioniert normalerweise mit Code, der auf iOS- oder Android-Geräten ausgeführt wird. Xamarin ist ein Beispiel für eine plattformübergreifende mobile IDE, das heißt sie kann Code für mehrere mobile Plattformtypen erstellen. Ein Entwickler kann beispielsweise eine Funktion in C schreiben, und Xamarin übersetzt sie in Swift für iOS und Java für Android. Darüber hinaus bietet Xamarin UI-Tests und kann Beta-Tests an Benutzer verteilen.
IDEs wie C-Free, die einen Codeeditor, einen Debugger und eine Umgebung zum Ausführen von C- und C++-Code unterstützen, sind sprachspezifisch. Andere IDEs unterstützen mehrere Sprachen, wie Cloud9 und Visual Studio Code. Weitere beliebte IDE-Tools sind Apache NetBeans, Eclipse und IntelliJ IDEA.