Informationsmaterial M|2.7: Anwendungssoftware
Anwendungssoftware, auch Anwendungsprogramme oder kurz Anwendungen genannt, sind Computerprogramme, die dazu verwendet werden, nützliche oder gewünschte Funktionalitäten zu bearbeiten oder zu unterstützen. Sie dienen der Lösung von Benutzerproblemen. Beispiele für Anwendungsgebiete sind Bildbearbeitung, E-Mail-Programme, Webbrowser, Textverarbeitung, Tabellenkalkulation und Computerspiele.
Aus dem englischen Begriff application hat sich in der Alltagssprache auch die Bezeichnung Applikation, kurz App, eingebürgert. Im deutschen Sprachraum wird die Abkürzung App seit dem Erscheinen des iOS App Store (2008) fast ausschließlich mit mobilen Anwendungen gleichgesetzt, also Anwendungssoftware für Mobilgeräte wie Smartphones und Tabletcomputer. Allerdings wird inzwischen auch Desktop-Anwendungssoftware als App bezeichnet, wie zum Beispiel bei Microsofts Betriebssystem Windows seit Windows 8 (Windows-Apps), das sowohl auf Desktop-PCs als auch Tablets eingesetzt wird, oder bei Apples Betriebssystem macOS mit dem Mac App Store.
Anwendungssoftware steht im Gegensatz zu Systemsoftware und Dienstprogrammen. Dazu gehören die Programme, die für den korrekten Ablauf einer Rechenanlage erforderlich sind, sowie alle Programme, die die Programmerstellung unterstützen, wie zum Beispiel Übersetzer und Testwerkzeuge und allgemeine Dienstleistungen bereit. Anwendungssoftware kann sowohl lokal auf einem Desktop-Computer oder einem Mobilgerät installiert sein oder auf einem Server laufen, auf den vom Desktop-Computer oder Mobilgerät zugegriffen wird (Client-Server- oder Webanwendung). Sie kann, abhängig von der technischen Implementierung, im Modus Stapelverarbeitung oder im Dialogmodus (mit direkter Benutzer-Interaktion) ausgeführt werden. Diese beiden Unterscheidungen gelten grundsätzlich für alle Computerprogramme, einschließlich der Systemsoftware.
Plattformunabhängigkeit
Plattformunabhängigkeit ist die Fähigkeit eines Programms, auf unterschiedlichen Hardware- und Software-Systemen zu funktionieren. Dies kann beinhalten verschiedene Betriebssysteme wie Windows, Mac OS, und Linux, sowie unterschiedliche Rechnerarchitekturen wie PC oder Macintosh.
Ein Maßstab für den Grad der Plattformunabhängigkeit ist die Portabilität des Quellcodes, d.h. wie viel Aufwand erforderlich ist, um das Programm auf anderen Plattformen lauffähig zu machen. Eine hundertprozentige Plattformunabhängigkeit bedeutet, dass kein Aufwand notwendig ist.
Es gibt verschiedene Methoden, um Anwendungen plattformunabhängig zu gestalten. Eine Möglichkeit ist, den Quellcode durch integrierte Anweisungen anzupassen, die Unterschiede zwischen verschiedenen Betriebssystemen ausgleichen. Diese Art von Programmen sind oft in vorkompilierten Versionen für verschiedene Plattformen verfügbar. Eine andere Methode ist die Verwendung von Paketen, die mehrere lauffähige Versionen desselben Programms enthalten ("Fat Binaries"). Das Betriebssystem wählt dann automatisch die kompatible Version des Programms zur Installation aus.