Anwendung (Anwendungssoftware)
Was ist eine Anwendung?
Eine Anwendung, die auch als Applikation, Anwendungsprogramm oder Anwendungssoftware bezeichnet wird, ist ein Computersoftwarepaket, das eine bestimmte Funktion direkt für einen Endbenutzer oder in einigen Fällen für eine andere Anwendung ausführt. Eine Anwendung kann in sich abgeschlossen sein oder aus einer Gruppe von Programmen bestehen. Das Programm ist ein Satz von Operationen, der die Anwendung für den Benutzer ausführt.
Beispiele für Anwendungen
Einige Arten von Anwendungen sind:
- Textverarbeitungsprogramme
- Datenbankprogramme
- Webbrowser
- Bildbearbeitungsprogramme
- Kommunikationsplattformen
Anwendungen nutzen das Betriebssystem des Computers und andere unterstützende Programme, in der Regel Systemsoftware, um zu funktionieren. Eine Anwendung fordert Dienste von anderen Technologien an und kommuniziert mit diesen über eine Programmierschnittstelle (API).
Anwendungen versus Systemsoftware
Im Gegensatz zu Anwendungssoftware arbeiten Systemsoftwareprogramme im Hintergrund und haben keine direkte Schnittstelle zum Computerbenutzer. Systemsoftware verwaltet den Betrieb eines Computers oder einer Instanz und umfasst normalerweise das Betriebssystem, den Hypervisor und die Treiber. Dabei handelt es sich in der Regel um Low-Level- oder Basisprogramme im Vergleich zu Anwendungen für den Endbenutzer.
Anwendungen nutzen Systemsoftware für den Zugriff auf grundlegende Hardwareressourcen, wie Arbeitsspeicher, Speicher und andere Dienstprogramme. Beispielsweise benötigt eine Anwendung Systemsoftware für den Zugriff auf das Dateisystem, um Dateien zu verwalten und zu speichern.
Arten von Anwendungen
Anwendungen können sich in vielerlei Hinsicht unterscheiden, zum Beispiel darin, wie sie erstellt werden, auf welcher Plattform sie laufen, ob sie Open Source oder proprietär sind oder für welche Branche sie verwendet werden.
Ein Entwickler einer mobilen Anwendung schreibt seinen Code beispielsweise als native, Web- oder hybride Anwendung – und diese Begriffe können auch Desktop-Anwendungen beschreiben. Der Entwickler kodiert eine native Anwendung so, dass sie auf einer bestimmten Hardware, zum Beispiel einer Kamera oder einem GPS, und in der gleichen Programmiersprache wie das zugrunde liegende Betriebssystem ausgeführt werden kann. Die Anwendung Fotos unter macOS ist beispielsweise in Objective-C geschrieben.
Ein Endbenutzer greift in der Regel über einen Webbrowser, wie zum Beispiel Google Chrome, auf eine Webanwendung zu. Ein Entwickler kann Webanwendungen in verschiedenen Sprachen schreiben, darunter JavaScript, CSS und HTML, hat aber keinen Zugriff auf die Hardware, auf der die Anwendung installiert ist.
Hybride Anwendungen verfügen über APIs, die auf Geräteressourcen zugreifen können, ähnlich wie eine native Anwendung, werden aber in der Regel in Sprachen wie HTML und CSS geschrieben. Außerdem programmieren die Entwickler mobile Anwendungen oft so, dass sie auf einer bestimmten Geräteplattform funktionieren.
Lizenzierung von Anwendungen
Anwendungen können auch nach der Art der Lizenzierung in Kategorien eingeteilt werden. Proprietäre Softwareprogramme, wie Adobe Photoshop, sind Anwendungen, die dem Urheberrecht unterliegen. Endbenutzer können proprietäre Anwendungen über den Anbieter der Software kaufen oder lizenzieren. Sie können diese Anwendungen nicht verändern, sondern nur über Add-ons von Drittanbietern um neue Funktionen erweitern.
Open-Source-Anwendungen, wie zum Beispiel WordPress, stellen den Quellcode zur Verfügung, der von Endbenutzern und Entwicklern verwendet und verändert werden kann. Softwareunternehmen und einzelne Entwickler stellen Open-Source-Anwendungen in der Regel unter einer allgemeinen oder öffentlichen Lizenz, wie zum Beispiel GNU, frei zur Verfügung.
Ein Entwickler oder ein Team von Entwicklern kann eine Anwendung für eine bestimmte Branche erstellen. Diese Anwendung dient in der Regel einem bestimmten Industriezweig oder einer bestimmten Abteilung, wie zum Beispiel einem medizinischen Abrechnungssystem. Im Gegensatz dazu ist eine horizontale Anwendung, wie zum Beispiel ein Textverarbeitungsprogramm oder ein Webbrowser, für eine breite Palette von Branchen geeignet.