Plattformunabhängigkeit



Die Plattformunabhängigkeit , genau als plattformübergreifend Wird – in der Informationstechnik – die Eigenschaft genannt, Wenn Ein Programm auf Verschiedene Plattform ausgeführt Werden Kann. Im Englischen Wird This Eigenschaft Auch als Cross-Plattform (oder Cross – Plattform ) bezeichnet.

Einschränkungen

Ein programmierbares benötigt in der Regel Immer ein sogenannte Laufzeitumgebung , in der es ausgeführt (oder Geste artig) Werden und stabil – über die gesamten Ausführungszeitraum hinweg – lauffähig sein Kann. Mit der Eigenschaft plattformunabhängig oder – etwas Genau – plattformübergreifend Wird Programm Naher beschrieben, auf Verschiedene sterben Plattform – auch Rechnersysteme mit Unterschieden in Architektur , Prozessor , Übersetzern , Betriebssystem (in diesem Fall Auch betriebssystemübergreifend genannt) und weitere DienstprogrammDie, zur Übersetzung oder Ausführung Notwendig Ist – lauffähig Ist. Der Grad der Plattformunabhängigkeit Wird Auch als Portabilität bezeichnet (aus Englischen Portabilität ). Darunter wird nicht nur sterben oben kann Plattformunabhängigkeit, Sondern Auch der eingeschätzte Arbeitsaufwand schlechteste Kandidat wo benötigt Würde, um ein Anwendungen in ein plattformübergreifendes umzuwandeln. Of this vorgang Wird Auch Portierung oder Migration genannt.

Das Formular

Es gibt verschiedene Formen von Plattformunabhängigkeit:

Webanwendungen , die vom Browser ausgeführt wurden.
Hier ist das Betriebssystem egal, es müssen nur bestimmte Web- Browser zur Verfügung gestellt werden.
Hybrid Apps
Anwendungen, die unabhängig von der Plattform auf jedem Betriebssystem möglich sind.
Multi-Channel-Apps
Anwendungen, die unabhängig von Endgerät und Betriebssystem ausgeführt werden können. This Geräte können auch für Hybrid-Apps, stationär signalisieren.
In Zwischencode Weiterleitungssoftware
Programm, stirbt Entweder in Formular von Bytecode , Wie Hauptsächlich Java – Anwendungen, oder Einen Portable interpretierbaren Quellcodes ( Python , Perl , PHP und andere) vorliegen.
Fett-Binärdateien und Universal-Binärdateien
Programmpakete, sterben Mehrere lauffähige Version Enthalten. Das Betriebssystem gestartet ohne Zutun Dezember Anwenders entsprechende Version sterben. Beispiel für „fat Binärdateien“ sind das Öffnen Schritt -Programmformat und sterben „fat Binärdateien“ unter Mac OS , sterben Sowohl auf Motorola 680×0 -basierten Apple – Rechnern als available in PowerPC -MAC ausführbar Sind. Universal Binaries unter Mac OS X laufen Sowohl auf PowerPC als available in x86 -32-Bit oder x86-64-Bit. Voraussetzungen Dafür that Ein „fat binary“ überhaupt Erstellt Werden Kann, ist sterben Portabilität Dezember Quellcodes, insbesondere bezüglich dortByte-Reihenfolge („endianness“) und es gibt Langzeitvariablen.
Quellcode- Portabilität
This Formular der Plattformunabhängigkeit ist Haufe bei C – Programm für Unix anzutreffen: Der Quellcode Enthält Anweisungen, sterben es erlaub, sterben Betriebssystemunterschiede auszugleichen. Es existiert reichlich Hilfsmittel zu diesem Zweck, Wie zum beispiel GNU Autoconf . Eine weitere möglichkeit ist verwendung systemunabhängiger Bibliotheken, Wie die Qt und GTK + . Viele im Quellcode portable Anwendungen Stehen BEREITS in vorgefertigter Version plattformübergreifend bereit.
Eingeschränkte Platformunabhängigkeit
ist gegeben, , ideal zum beispiel des Programm nur Auf einen Bestimmt Prozessortyp lauffähig ist, aber auf ansonsten Verschiedene Hardware ARCHITEKTUR. Dies ist bei Haufe in Assemblersprachen Geschriebenen Anwendungen , in denen Fall, Wie man sich in den Fruh Zeiten , wo Microcomputer unter CP / M oft antraf; heute wird Assemblersprache meist nur noch für BESONDERS zeitkritische Programmstellen used, und zweck Plattformunabhängigkeit ist meist Noch eine hochsprachliche Version wo Gleichen Programmfunktionen beigegeben. Auch Programme, sterben unabhängig vom CPU – Typ nur Auf eine Bestimmt Betriebssystem-Familie funktioniert Ist Eingeschränkt plattformunabhängig.

Im Server -Bereich, wo schon sehr Früh Mit virtuellen Maschinen und virtueller CPUs Gang Wird streifte, sieht es beim Thema Plattformunabhängigkeit etwas anders aus, als man es von Klassisches Unix / Linux -Portierungen hier kennt – letztere Fassa Zwar zunehmend im Desktop – Bereich Fuß , verursachen Durch Die starke Ausrichtung auf x86 – PCs in Sachen Plattformunabhängigkeit allerdings oftmals eher mehr als Kopfzerbrechen klassische Unix – Anwendungen .

Heute wurde Eine relative Plattformunabhängigkeit am häufigsten Durch verwendung von sterben Laufzeitumgebungen von Sprachen Wie Java oder .NET erzielt. Allerdings Wird this schei nur Unabhängigkeit wiederum Durch Eine abhängigkeit von der Laufzeitumgebung erkauft, sterben nunmehr im Kern sterben Plattform ist.

Allerdings traf den Begriff „Portabilität“ in Beide Fall nicht den Kern der Sache, wenn es mich von Beginn eines um plattformunabhängige Konzepte Handeln – auch alle Auch APIs auf Jedes Zielsystem im Vorhinein so nachgebildet Werden Müssen that sterben Software zwangsläufig lauffähig ist. Ansonsten wäre beispielsweise eine Java VM nicht zertizifierungsfähig. Die Laufzeitumgebungen selbst Sind auch nicht auf Jede Plattform verfügbar war zum beispiel im Fall von .NET zu Entwicklungen Wie der des Mono-Projektes geführt Hass. Portierungen sind aus Lizenz oder Patentrecht Das kann Gründen nicht, weil man mehr darüber erfahren kann.

Portabilitätsmetriken

Die Portabilität kann zum Beispiel geschätzt werden über: P = 1−(Ü+A)/E[1]

Übertragungsübertragungs (besondere Neukompilierung)
Eine benutzerdefinierte Fall-Auktion (Änderung von Betriebssystemschnittstellen)
E Entwicklungsaufwand für Neuentwicklung

Dabei Entspricht Eine Portabilität von 1 , wo Kompatibilität , das Programm ist auch Änderung Auf dem Zielsystem lauffähig ohne; Liegt Quellcode-Portabilität vor, Ist in der Regel ein Plan Ergebnis von> 90% zu Erwarten; wohingegen Eine Portabilität nahe 0 Eine Neuentwicklung des Programs nahelegt. Portabilität ist kein Maß für Lauffähigkeit Eines Programme auf der Zielplattform sterben, d. H. Selbst Eine Portabilität von 99% Bedeutende nicht unbedingt that das Programm nutzbar ist, ES Bedeutende Lediglich that Eine Portierung im Vergleich zu Einer Neuentwicklung Deutlich Weniger Aufwand Necessesary.

Siehe auch

  • Tragbare Software

Weblinks

  • Plattformunabhängigkeit – Seite bei e-teaching.org ; Bedingung: 21. Februar 2011

Einzelstunden

  1. Hochspringen↑ Dr.-Ing. Günter Rothhardt, „Praxis der Softwareentwicklung“, 2. unverändert. Aufl. 1988, VEB Verlag Technik Berlin, Kapitel 2, Seite 139