Quer-Plattform

In der Computerwissenschaft ist Quer-Plattform oder Mehrplattform, ein Attribut, das zur Computersoftware oder den Rechenmethoden und den Konzepten zugeteilt ist, die durchgeführt werden und auf vielfachen Computerplattformen zwischenfunktionieren. Quer-Plattform-Software kann in zwei Typen geteilt werden; man verlangt individuelles Gebäude oder Kompilation für jede Plattform, die es unterstützt, und der andere auf jeder Plattform ohne spezielle Vorbereitung, z.B, Software direkt geführt werden kann, die auf einer interpretierten Sprache geschrieben ist, oder tragbaren bytecode vorkompiliert hat, für den die Dolmetscher oder Laufzeitpakete allgemeine oder normale Bestandteile aller Plattformen sind.

Zum Beispiel kann eine Quer-Plattform-Anwendung auf Windows von Microsoft auf der x86 Architektur laufen, Linux auf der x86 Architektur und Mac OS X entweder auf PowerPC oder auf x86 haben Systeme des Apple Macintosh gestützt. Eine Quer-Plattform-Anwendung kann auf so viel laufen wie alle vorhandenen Plattformen, oder auf nur zwei Plattformen.

Plattformen

Eine Plattform ist eine Kombination der Hardware, und Software hat gepflegt, Softwareanwendungen zu führen. Eine Plattform kann einfach als ein Betriebssystem oder Computerarchitektur beschrieben werden, oder es konnte die Kombination von beiden sein. Wahrscheinlich ist die vertrauteste Plattform Windows von Microsoft, das auf der x86 Architektur läuft. Andere wohl bekannte Tischcomputerplattformen schließen Linux/Unix und Mac OS X ein (von denen beide selbst Quer-Plattform sind). Es, gibt jedoch, viele Geräte wie Autotelefone, die auch effektiv Computerplattformen, aber weniger allgemein gedacht auf diese Weise sind. Anwendungssoftware kann geschrieben werden, um von den Eigenschaften einer besonderen Plattform — entweder die Hardware, das Betriebssystem oder die virtuelle Maschine abzuhängen, auf der es läuft. Die javanische Plattform ist eine virtuelle Maschinenplattform, die auf vielen Betriebssystemen und Hardware-Typen läuft, und eine gemeinsame Plattform für die Software ist, die dafür zu schreiben ist.

Hardware-Plattformen

Eine Hardware-Plattform kann sich auf eine Architektur eines Computers oder Verarbeiter-Architektur beziehen. Zum Beispiel setzen der x86 und die x86-64 Zentraleinheiten eine der allgemeinsten Computerarchitekturen im Gebrauch in Mehrzweckhauscomputern heute zusammen. Diese Maschinen führen häufig eine Version von Windows von Microsoft, obwohl sie andere Betriebssysteme ebenso, einschließlich Linux, OpenBSD, NetBSD, Mac OS X und FreeBSD führen können.

Eine ARM-Architektur ist auf smartphones und Block-Computern üblich, die Androiden, ein/Ausgabe-Steuersystem und andere bewegliche Betriebssysteme führen.

Softwareplattformen

Softwareplattformen können entweder ein Betriebssystem oder Programmierumgebung sein, obwohl allgemeiner es eine Kombination von beiden ist. Eine bemerkenswerte Ausnahme dazu ist Java, das ein Betriebssystem unabhängige virtuelle Maschine für seinen kompilierten Code verwendet, der in der Welt Javas als bytecode bekannt ist. Beispiele von Softwareplattformen schließen ein:

  • Androide (Betriebssystem) für Computer von Smartphones und Tablet
  • AmigaOS (m68k), AmigaOS 4 (PowerPC), AROS (x86, PowerPC, m68k), MorphOS (PowerPC)
  • BSD, sehr böse Plattform (sieh NetBSD, zum Beispiel)
  • Java
  • Linux (x86, x86-64, PowerPC und andere Architekturen)
  • Mac OS X (PowerPC, x86, x86-64)
  • Windows von Microsoft (x86, x86-64)
  • Systeme des DOS-TYPS auf dem x86: MS-DOS, IBM PC-DOS, DR-DOS, FreeDOS, usw.
  • OS/2, eComStation
  • Solaris (SPARC, x86, x86-64)
  • Der CLI, der auch durch die Durchführung bekannt ist, nennt.NET Fachwerk (von Microsoft) und Mono abspielbar (von Novell)

Javanische Plattform

Wie vorher bemerkt, ist die javanische Plattform eine Ausnahme zur allgemeinen Regel, dass ein Betriebssystem eine Softwareplattform ist. Die javanische Sprache verlangt eine virtuelle Maschine oder eine "virtuelle Zentraleinheit", die den ganzen Code führt, der für die Sprache geschrieben wird. Das ermöglicht derselben rechtskräftigen Dualzahl, auf allen Systemen zu laufen, die javanische Software, durch den Gebrauch Javas Virtuelle Maschine unterstützend. Java executables läuft heimisch auf dem Betriebssystem nicht; d. h. weder MSWindows noch Linux führen javanische Programme direkt durch.

Wenn auch javanischer Code heimisch nicht läuft, ist der JVM dazu völlig fähig, verwandte Dienstleistungen von OS, wie Platteneingabe/Ausgabe und Netzzugang zur Verfügung zu stellen, wenn die passenden Vorzüge gewährt werden. Der JVM erlaubt Benutzern, das passende Schutzniveau abhängig von einem ACL zu entscheiden. Zum Beispiel, wird Platten- und Netzzugang gewöhnlich für Tischanwendungen ermöglicht, aber nicht für den Browser hat Applets gestützt.

JNI kann auch verwendet werden, um Zugang zu Betriebssystemsonderaufgaben zu ermöglichen. Zurzeit können javanische Programme auf Windows von Microsoft, Mac OS X, Linux und Solaris Betriebssysteme laufen. Für bewegliche Anwendungen wird Browser plugins für Windows verwendet, und Mac hat Geräte gestützt, und Androide hat eingebaute Unterstützung für Java.

Quer-Plattform-Software

In der Größenordnung von der Software, die als Quer-Plattform zu betrachten ist, muss es im Stande sein, auf mehr als einer Computerarchitektur oder Betriebssystem zu fungieren. Das kann eine zeitraubende gegebene Aufgabe sein, dass verschiedene Betriebssysteme verschiedene Anwendung haben, Schnittstellen oder APIs programmierend (zum Beispiel, verwendet Linux eine verschiedene API für die Anwendungssoftware, als Windows tut).

Gerade, weil ein besonderes Betriebssystem auf verschiedenen Computerarchitekturen laufen kann, der nicht bedeutet, dass die für dieses Betriebssystem geschriebene Software an allen Architekturen dass die Betriebssystembetreuungen automatisch arbeiten wird. Ein Beispiel bezüglich des Augusts 2006 war OpenOffice.org, der auf dem AMD64 oder den Linien von Intel 64 von Verarbeitern nicht heimisch gelaufen ist, die die x86-64 64-Bit-Standards für Computer durchführen; das, ist und OpenOffice.org seitdem geändert worden das Gefolge der Software wird "größtenteils" zu diesen 64-Bit-Systemen http://wiki.services.openoffice.org/wiki/Porting_to_x86-64_ (AMD64, _EM64T) getragen. Das bedeutet auch, dass gerade, weil ein Programm auf einer populären Programmiersprache wie C oder C ++ geschrieben wird, es nicht bedeutet, dass es auf allen Betriebssystemen laufen wird, die diese Programmiersprache — oder sogar auf demselben Betriebssystem auf einer verschiedenen Architektur unterstützen.

Webanwendungen

Webanwendungen werden normalerweise als Quer-Plattform beschrieben, weil, ideal, sie von einigen von verschiedenen WWW-Browsern innerhalb von verschiedenen Betriebssystemen zugänglich sind. Solche Anwendungen verwenden allgemein eine Client/Server-Systemarchitektur, und ändern sich weit in der Kompliziertheit und Funktionalität. Diese breite Veränderlichkeit kompliziert bedeutsam die Absicht der Quer-Plattform-Fähigkeit, die alltäglich uneins mit der Absicht der fortgeschrittenen Funktionalität ist.

Grundlegende Anwendungen

Grundlegende Webanwendungen leisten ganz oder der grösste Teil der Verarbeitung von einem staatenlosen Webserver, und passieren das Ergebnis zum Kunden-WWW-Browser. Die ganze Benutzerwechselwirkung mit der Anwendung besteht aus dem einfachen Austausch von Datenbitten und Server-Antworten. Diese Typen von Anwendungen waren die Norm in den frühen Phasen der Anwendungsentwicklung des World Wide Web. Solche Anwendungen folgen einem einfachen Transaktionsmodell, das zu dieser der Portion statischen Webseiten identisch ist. Heute sind sie noch besonders relativ üblich, wo Quer-Plattform-Vereinbarkeit und Einfachheit kritischer gehalten werden als fortgeschrittene Funktionalitäten. folglich ist das grundlegende Anwendung

Fortgeschrittene Anwendungen

Prominente Beispiele von fortgeschrittenen Webanwendungen schließen die Webschnittstelle zu Gmail, A9.com, und maps.live.com Website, ein Teil des Lebenden Suchdienstes von Microsoft ein. Solche fortgeschrittenen Anwendungen hängen alltäglich von zusätzlichen Eigenschaften gefunden nur in den neueren Versionen von populären WWW-Browsern ab. Diese Abhängigkeiten schließen Ajax, JavaScript, "Dynamisches" HTML, SVG und andere Bestandteile von reichen Internetanwendungen ein. Ältere Versionen von populären Browsern neigen dazu, an Unterstützung für bestimmte Eigenschaften Mangel zu haben.

Designstrategien

Wegen der konkurrierenden Interessen der Quer-Plattform-Vereinbarkeit und fortgeschrittenen Funktionalität sind zahlreiche alternative Webanwendungsdesignstrategien erschienen.

Solche Strategien schließen ein:

Anmutige Degradierung

Anmutige Degradierung versucht, dieselbe oder ähnliche Funktionalität allen Benutzern und Plattformen zur Verfügung zu stellen, während sie diese Funktionalität zu 'kleinstem gemeinsamem Nenner' für mehr beschränkte Kundenbrowser verringert. Zum Beispiel kann ein Benutzer, der versucht, einen Browser der beschränkten Eigenschaft zu verwenden, um auf Gmail zuzugreifen, bemerken, dass Gmail auf die "Grundlegende Weise," mit der reduzierten Funktionalität umschaltet. Etwas Ansicht diese Strategie als eine kleinere Form der Quer-Plattform-Fähigkeit.

Trennung der Funktionalität

Die Trennung der Funktionalität versucht, einfach jene Teilmengen der Funktionalität wegzulassen, die aus bestimmten Kundenbrowsern oder Betriebssystemen nicht fähig sind, während sie noch eine 'ganze' Anwendung dem Benutzer liefern. (sieh auch Trennung von Sorgen).

Vielfacher codebase

Vielfache codebase Anwendungen präsentieren verschiedene Versionen einer Anwendung abhängig vom spezifischen Kunden im Gebrauch. Diese Strategie ist wohl die am meisten komplizierte und teure Weise, Quer-Plattform-Fähigkeit zu erfüllen, da sich sogar verschiedene Versionen desselben Kundenbrowsers (innerhalb desselben Betriebssystems) drastisch zwischen einander unterscheiden können. Das wird weiter durch die Unterstützung für "plugins" kompliziert, der kann oder für keine gegebene Installation einer besonderen Browser-Version da sein kann.

Drittbibliotheken

Drittbibliotheken versuchen, Quer-Plattform-Fähigkeit durch 'das Verbergen' der Kompliziertheiten der Kundenunterscheidung hinter einer einzelnen, vereinigten API zu vereinfachen.

Prüfung von Strategien

Ein komplizierter Aspekt des Quer-Plattform-Webanwendungsdesigns ist das Bedürfnis nach der Softwareprüfung. Zusätzlich zu den Komplikationen erwähnt vorher gibt es die zusätzliche Beschränkung, dass einige Browser Installation von verschiedenen Versionen desselben Browsers auf demselben Betriebssystem verbieten. Techniken wie volle Virtualisierung werden manchmal als ein workaround für dieses Problem verwendet.

Traditionelle Anwendungen

Obwohl Webanwendungen immer populärer werden, verwenden viele Computerbenutzer noch traditionelle Anwendungssoftware, die sich auf eine client/web-server Architektur nicht verlässt.

Die Unterscheidung zwischen "traditionellem" und "Web"-Anwendungen ist jedoch nicht immer eindeutig, weil Anwendungen viele verschiedene Eigenschaften, Installationsmethoden und Architekturen haben; und einige von diesen können überlappen und auf Weisen vorkommen, die die Unterscheidung verschmieren. Dennoch ist diese Vereinfachungsunterscheidung eine allgemeine und nützliche Generalisation.

Binäre Software

Traditionell in der modernen Computerwissenschaft ist Anwendungssoftware Endbenutzern als binäre Images verteilt worden, die in executables, einem spezifischen Typ der binären Datei versorgt werden. Solche executables unterstützen nur das Betriebssystem und die Computerarchitektur, dass sie für gebaut wurden — was bedeutet, dass das Bilden einer "rechtskräftigen Quer-Plattform" etwas einer massiven Aufgabe sein würde, und allgemein nicht getan wird.

Für die Software, die als eine Dualzahl rechtskräftig wie Software verteilt wird, die in C oder C ++ geschrieben ist, muss der Programmierer die Software für jedes verschiedene Betriebssystem und Computerarchitektur bauen. Zum Beispiel ist Mozilla Firefox, ein WWW-Browser der offenen Quelle, auf Windows von Microsoft, Mac OS X verfügbar (sowohl PowerPC als auch x86 durch etwas, was Apfel eine Universale Dualzahl nennt), und Linux auf vielfachen Computerarchitekturen. Die drei Plattformen (in diesem Fall, Windows, Mac OS X und Linux) sind getrennter rechtskräftiger Vertrieb, obwohl sie aus demselben Quellcode kommen.

Im Zusammenhang der binären Software werden Quer-Plattform-Programme im Quellcode geschrieben und dann zu jedem System "übersetzt", auf dem es durch das Kompilieren davon auf verschiedenen Plattformen läuft. Außerdem kann Software zu einer neuen Computerarchitektur oder Betriebssystem getragen werden, so dass das Programm mehr Quer-Plattform wird, als es bereits ist. Zum Beispiel kann ein Programm wie Firefox, der bereits auf Windows auf der x86 Familie läuft, modifiziert und wieder aufgebaut werden, um auf Linux auf dem x86 (und potenziell andere Architekturen) ebenso zu laufen.

Als eine Alternative zum Halten nach Backbord erlaubt Quer-Plattform-Virtualisierung Anwendungen, die für eine Zentraleinheit und Betriebssystem kompiliert sind, auf einem System mit einer verschiedenen Zentraleinheit und/oder Betriebssystem zu laufen, modifikationsfrei zum Quellcode oder den Dualzahlen. Als ein Beispiel hat die Software von Rosetta des Apfels, die in auf Intel gegründete Computer des Apple Macintosh, Lauf-Anwendungen eingebaut wird, für die vorherige Generation von Macs kompiliert, der Zentraleinheiten von PowerPC verwendet hat. Ein anderes Beispiel ist IBM PowerVM Lx86, der Linux/x86 Anwendungen erlaubt, unmodifiziert auf dem Linux/Power Betriebssystem zu laufen.

Schriften und interpretierte Sprachen

Wie man

betrachten kann, ist eine Schrift Quer-Plattform, wenn die scripting Sprache auf vielfachen Plattformen verfügbar ist und die Schrift nur die durch die Sprache zur Verfügung gestellten Möglichkeiten verwendet. D. h. eine Schrift, die in der Pythonschlange für ein Unix ähnliches System geschrieben ist, wird wahrscheinlich mit wenig oder keiner Modifizierung auf Windows laufen, weil Pythonschlange auch auf Windows läuft; es gibt auch mehr als eine Durchführung der Pythonschlange, die dieselben Schriften (z.B, IronPython für.NET) führen wird. Dasselbe geht für viele der offenen Quellprogrammiersprachen, die verfügbar sind und scripting Sprachen sind.

Verschieden von binärem executables kann dieselbe Schrift auf allen Computern verwendet werden, die Software haben, um die Schrift zu interpretieren. Das ist, weil die Schrift allgemein im Klartext in einer Textdatei versorgt wird. Es kann einige Probleme jedoch wie der Typ des neuen Liniencharakters geben, der zwischen den Linien sitzt. Allgemein, jedoch, muss wenig oder keine Arbeit getan werden, um eine Schrift geschrieben für ein System zu machen, auf einem anderen zu laufen.

Eine ziemlich populäre Quer-Plattform scripting oder interpretierte Sprachen sind:

  • heftiger Schlag — Ein Unix schält allgemein geführt auf Linux und anderen modernen Unix ähnlichen Systemen, sowie auf Windows über den Cygwin POSIX Vereinbarkeitsschicht.
  • Perl — Eine scripting 1987 zuerst veröffentlichte Sprache. Verwendet für CGI WWW Programmierung, kleine Systemverwaltungsaufgaben, und mehr.
  • PHP — Eine scripting Sprache, die im Gebrauch auf dem WWW für Webanwendungen am populärsten ist.
  • Pythonschlange — Eine moderne scripting Sprache, wo der Fokus auf der schnellen Anwendungsentwicklung und Bequemlichkeit des Schreibens statt der Programm-Laufzeitleistungsfähigkeit ist.
  • Rubin — Eine scripting Sprache, deren Zweck ist, objektorientiert und leicht zu sein, zu lesen. Kann auch im Web durch den Rubin auf Schienen verwendet werden.
  • Tcl - Eine dynamische Programmiersprache, die für eine breite Reihe des Gebrauches, einschließlich Webs und Tischanwendungen, Netzwerkanschlusses, Verwaltung, Prüfung und noch viele passend ist.

Videospiele

Quer-Plattform ist ein Begriff, der auch für Videospiele gelten kann, die auf einer Reihe von Videospiel-Konsolen, spezialisierte Computer veröffentlicht sind, die der Aufgabe des Spielens von Spielen gewidmet sind. Beispiele von Quer-Plattform-Videospielen schließen ein:

  • Bergarbeiter 2049er
  • Phantasy Stern online-
  • FIFA Reihe

Jeder ist über eine Vielfalt von spielenden Plattformen, wie Nintendo Wii, PlayStation 3, Xbox 360, Personalcomputer (PCs) und bewegliche Geräte befreit worden.

Die Eigenschaften eines besonderen Systems können die Zeit verlängern, die gebracht ist, um ein Videospiel über vielfache Plattformen durchzuführen. Also, ein Videospiel kann auf einigen Plattformen am Anfang veröffentlicht und dann später auf restlichen Plattformen veröffentlicht werden. Gewöhnlich kommt diese Situation vor, wenn ein neues spielendes System veröffentlicht wird, weil sich Videospiel-Entwickler mit der Hardware und mit der neuen Konsole vereinigten Software bekannt machen müssen.

Einige Spiele können Quer-Plattform wegen Lizenzverträge zwischen Entwicklern nicht werden, und Videospiel trösten Hersteller, die Entwicklung eines Spiels zu einer besonderer Konsole beschränken. Als ein Beispiel konnte Disney ein Spiel mit der Absicht der Ausgabe auf den letzten Spielkonsolen von Nintendo und Sony schaffen. Wenn Disney das Spiel mit Sony zuerst lizenziert, Mai von Disney im Austausch sind erforderlich, das Spiel allein auf der Konsole von Sony seit einer kurzen Zeit oder unbestimmt — effektiv das Verbieten einer Quer-Plattform-Ausgabe für die Dauer zu veröffentlichen.

Mehrere Entwickler haben Mittel durchgeführt, Spiele online zu spielen, während sie verschiedene Plattformen verwenden. Epische Spiele, Microsoft und Klappe-Software alle besitzen Technologie, die Xbox 360 und PlayStation 3 gamers erlaubt, mit dem PC gamers zu spielen, die Entscheidung der Plattform verlassend, an Verbrauchern zu verwenden. Das erste Spiel, um dieses Niveau der Zwischentätigkeit zwischen PC und Konsole-Spielen zu erlauben, war Beben 3.

Spiele, die Quer-Plattform Online-Spiel zeigen, schließen ein:

  • Phantasy Stern online-
  • Shadowrun
Uno
  • Endfantasie XI online-
  • Spielzimmer
  • Mannschaft-Festung 2
  • 2 Pfort-
  • Stauben Sie 514 mit dem Vorabend Online-ab
  • Minecraft

Mit der Plattform unabhängige Software

Software, die unabhängige Plattform ist, verlässt sich auf keine Besonderheiten jeder einzelnen Plattform, oder, wenn es tut, behandelt jene solche Besonderheiten, dass es sich mit vielfachen Plattformen befassen kann.

Quer-Plattform-Programmierung

Quer-Plattform-Programmierung ist die Praxis, aktiv Software zu schreiben, die an mehr als einer Plattform arbeiten wird.

Annäherungen an die Quer-Plattform-Programmierung

Es gibt verschiedene Weisen, sich dem Problem zu nähern, ein Quer-Plattform-Anwendungsprogramm zu schreiben. Eine solche Annäherung soll einfach vielfache Versionen desselben Programms in verschiedenen Quellbäumen — mit anderen Worten schaffen, die Windows-Version eines Programms könnte einen Satz von Quellcodedateien haben, und die Version von Macintosh könnte einen anderen haben, während ein FOSS *nix System einen anderen haben könnte. Während das eine aufrichtige Annäherung an das Problem ist, hat es das Potenzial, um in Entwicklungskosten, Entwicklungsdauer oder beide besonders für die korporativen Entitäten beträchtlich teurer zu sein. Die Idee dahinter ist, mehr als zwei verschiedene Programme zu schaffen, die in der Lage sind, sich ähnlich zu einander zu benehmen. Es ist auch möglich, dass dieses Mittel, eine Quer-Plattform-Anwendung zu entwickeln, auf mehr Probleme mit dem Programmfehler-Verfolgen und Befestigen hinauslaufen wird, weil die zwei verschiedenen Quellbäume verschiedene Programmierer, und so verschiedene Defekte in jeder Version haben würden. Je kleiner die Programmiermannschaft, desto schneller die üblen Programmfehler-Lagen dazu neigen zu sein.

Eine andere Annäherung, die verwendet wird, soll davon abhängen, Software vorher zu existieren, die die Unterschiede zwischen den Plattformen — genannt Abstraktion der Plattform — solch verbirgt, dass das Programm selbst die Plattform nicht weiß, auf der es läuft. Es konnte gesagt werden, dass solche Programme Plattform-Agnostiker sind. Programme, die auf Java Virtual Machine (JVM) laufen, werden auf diese Mode gebaut.

Einige Anwendungen mischen verschiedene Methoden der Quer-Plattform-Programmierung, die Endanwendung zu schaffen. Ein Beispiel davon ist der WWW-Browser von Firefox, der Abstraktion verwendet, um einige der Bestandteile der niedrigeren Ebene, getrennten Quellsubbäume zu bauen, um mit der Plattform spezifische Eigenschaften (wie der GUI), und die Durchführung von mehr als einer scripting Sprache durchzuführen, um zu helfen, Bequemlichkeit der Beweglichkeit zu erleichtern. Firefox führt XUL, CSS und JavaScript durch, für den Browser, zusätzlich zum klassischen Netscape-artigen Browser plugins zu erweitern. Viel vom Browser selbst wird in XUL, CSS und JavaScript ebenso geschrieben.

Quer-Plattform-Programmierwerkzeuge und Umgebungen

Es gibt mehrere Werkzeuge, die verfügbar sind, um zu helfen, den Prozess der Quer-Plattform-Programmierung zu erleichtern:

  • Kairo: Eine Bibliothek der kostenlosen Software hat gepflegt, einem Vektoren grafikbasierte, mit dem Gerät unabhängige API zur Verfügung zu stellen. Es wird entworfen, um Primitive für die 2-dimensionale Zeichnung über mehrere verschiedene backends zur Verfügung zu stellen. Kairo wird in C geschrieben und hat bindings für viele Programmiersprachen.
  • Eklipse: Eine offene Quelle durchquert Plattform-Entwicklungsumgebung. Durchgeführt in Java mit einer konfigurierbaren Architektur, die viele Werkzeuge für die Softwareentwicklung unterstützt. Erweiterungen sind für mehrere Sprachen, einschließlich Javas und C ++ verfügbar.
  • FLTK: Eine Andere offene Quelle durchquert Plattform-Werkzeug, aber leichter, weil es sich zum GUI einschränkt.
  • fpGUI: Ein offenes Quellprodukt-Werkzeug, das in Object Pascal völlig durchgeführt wird. Es unterstützt zurzeit Linux, Windows und ein wenig Windows CE.
  • GeneXus: Windows Schnelle Softwareentwicklungslösung für die Quer-Plattform-Anwendungsentwicklung und Aufstellung, die auf der Kenntnisse-Darstellung gestützt ist und C#, COBOL, Java einschließlich des Androiden und BlackBerry kluge Geräte, Ziel-C für den Apfel bewegliche Geräte, RPG, Rubinroter, Visueller Grundlegender und Visueller FoxPro unterstützend.
  • GTK +: Ein offenes Quellprodukt-Werkzeug für Unix ähnliche Systeme mit Windows von X11 und Microsoft.
  • haXe: Eine offene Quellquer-Plattform-Sprache.
  • Juce: Ein Anwendungsfachwerk, das in C ++ geschrieben ist, verwendet, um heimische Software über zahlreiche Systeme (Windows von Microsoft, POSIX, Mac OS X) ohne Änderung zum Code zu schreiben.
  • LiveCode: Ein RAD IDE entwickelt durch die Laufzeitrevolution, kompiliert Dualzahlen MacOS X, Windows, Linux, EIN/AUSGABE-STEUERSYSTEM, Androiden, und kann als eine Server-Seite scripting Sprache verwendet werden, um Webanwendungen zu erzeugen.
  • Mono abspielbar (eine offene Quellversion des Microsofts.NET): Ein Quer-Plattform-Fachwerk für Anwendungen und Programmiersprachen.
  • MonoCross ist ein offenes QuellmusterAnsicht-Kontrolleurdesignmuster, wo das Modell und der Kontrolleur geteilte Quer-Plattform sind, aber die Ansicht ist mit der Plattform spezifisch.
  • MoSync ist eine offene Quelle SDK für die bewegliche Plattform app Entwicklung im C ++ Familie.
  • Anwendungsfachwerk von Mozilla: Eine offene Quellplattform, für Mac, Windows und Anwendungen von Linux zu bauen.
  • OpenGL: Eine Quer-Plattform 3D-Grafikbibliothek.
  • Qt — Ein Anwendungsfachwerk und Produkt-Werkzeug für Unix ähnliche Systeme mit X11, Windows von Microsoft, Mac OS X und anderen Systemen — verfügbar sowohl unter der offenen Quelle als auch unter den Eigentumslizenzen.
  • RealStudio: Ein RAD IDE entwickelt durch die Echte Software, verwendet einen objektorientierten Dialekt der GRUNDLEGENDEN Programmiersprache, und erzeugt kompilierte Dualzahlen für Macintosh, Windows und Linux, als Bohrlöcher als im Stande seiend, mit Sitz in cgi Webanwendungen zu erzeugen.
  • Einfache und Schnelle Multimediabibliothek — Multimedia C ++ API, die niedrige Stufe und hohen Zugang zur Grafik, dem Eingang, Audio-usw. zur Verfügung stellt.
  • Einfache Schicht von DirectMedia — Eine offene Quellquer-Plattform-Multimediabibliothek, die in C geschrieben ist, der eine Abstraktion über die Grafik der verschiedenen Plattformen, Ton und Eingang APIs schafft. Es läuft auf vielen Betriebssystemen einschließlich Linux, Windows und Mac OS X und wird auf Spiele und Multimediaanwendungen gerichtet.
  • Smartface Plattform: Ein böses Plattform-Werkzeug für Windows hat gepflegt, bewegliche Anwendungen für J2ME, Symbian S60, BlackBerry und Androiden, mit Werkzeugen der Schinderei-Und-Falls und dem Handlungsredigieren zu schaffen.
  • Tcl/Tk
  • wxWidgets: Ein offenes Quellprodukt-Werkzeug, das auch ein Anwendungsfachwerk ist. Es läuft auf Unix ähnlichen Systemen mit X11, Windows von Microsoft und Mac OS X. Es erlaubt Anwendungen, die geschrieben sind, es zu verwenden, um auf allen Systemen zu laufen, die es unterstützt, wenn die Anwendung keine systemspezifische Betriebsprogrammierung zusätzlich dazu verwendet.
  • XVT: Ein Quer-Plattform-Werkzeug, um Tischanwendungen in C/C ++ auf Windows, Linux und Unix (Solaris, HPUX, AIX), und Mac zu schaffen.
  • XPower ++ ist eine Quer-Plattform IDE für Windows, Linux, Mac OSX, und Bewegliche Betriebssysteme.
  • Äußerst ++: Ist ein C ++ Quer-Plattform schnelles Anwendungsentwicklungsfachwerk hat sich auf Programmierer-Produktivität konzentriert. Es schließt eine Reihe von Bibliotheken ein (GUI, SQL, usw.), und eine einheitliche Entwicklungsumgebung. Es unterstützt Windows und Unix ähnlichen OS-s. Der U ++ bewirbt sich mit populären scripting Sprachen, während er C/C ++ Laufzeiteigenschaften bewahrt. Es hat seine eigene einheitliche Entwicklungsumgebung, TheIDE, der BLITZKRIEG zeigt - baut Technologie zur Beschleunigung C ++ baut bis zu 4mal wieder auf.

Herausforderungen an die Quer-Plattform-Entwicklung

Es gibt bestimmte mit der Quer-Plattform-Entwicklung vereinigte Probleme. Einige von diesen schließen ein:

  • Prüfung von Quer-Plattform-Anwendungen kann beträchtlich mehr kompliziert sein, da verschiedene Plattformen ein bisschen verschiedene Handlungsweisen oder feine Programmfehler ausstellen können. Dieses Problem hat einige Entwickler dazu gebracht, Quer-Plattform-Entwicklung zu verlachen, wie "Einmal, Fehlersuchprogramm Überall Schreiben" Schreibt ein Nehmen auf der Sonne "Einmal, Lauf Überall" Marktslogan.
  • Entwickler werden häufig auf das Verwenden der Teilmenge des kleinsten gemeinsamen Nenners von Eigenschaften eingeschränkt, die auf allen Plattformen verfügbar sind. Das kann die Leistung der Anwendung hindern oder Entwicklern verbieten, die fortgeschrittensten Eigenschaften von Plattformen zu verwenden.
  • Verschiedene Plattformen lassen häufig verschiedenen Benutzer Vereinbarung verbinden, die Quer-Plattform-Anwendungen nicht immer anpassen. Zum Beispiel sollen Anwendungen, die für Mac OS X und ZWERG entwickelt sind, den wichtigsten Knopf auf der rechten Seite Fenster und Dialoge legen, wohingegen Windows von Microsoft und KDE die entgegengesetzte Tagung haben. Obwohl viele dieser Unterschiede fein sind, kann eine Quer-Plattform-Anwendung, die sich passend dieser Vereinbarung nicht anpasst, clunky oder Ausländer dem Benutzer fühlen. Wenn sie schnell arbeitet, kann solche gegenüberliegende Vereinbarung sogar auf Datenverlust, solcher als in einem Dialogfeld hinauslaufen, das bestätigt, ob der Benutzer sparen oder Änderungen zu einer Datei verwerfen will.
  • Sprachen von Scripting und virtuelle Maschinen müssen in den heimischen rechtskräftigen Code jedes Mal übersetzt werden, wenn die Anwendung durchgeführt wird, eine Leistungsstrafe auferlegend. Dieser Leistungserfolg kann mit fortgeschrittenen Techniken wie gerade rechtzeitig Kompilation erleichtert werden; aber sogar mit solchen Techniken kann etwas Leistung oben unvermeidlich sein.
  • Verschiedene Plattformen verlangen den Gebrauch von heimischen Paket-Formaten wie RPM und MSI. Mehrplattform-Monteure wie InstallAnywhere, JExpress, InstallBuilder oder IzPack richten dieses Bedürfnis.
  • Quer-Plattform-Ausführungsumgebungen können Quer-Plattform-Sicherheitsfehler ertragen, eine fruchtbare Umgebung für die Quer-Plattform malware schaffend.

Siehe auch

  • Liste von Produkt-Werkzeugen
  • Plattform-Virtualisierung
  • Javanische Plattform
  • GeneXus

Ruthenia / Rechenplattform
Impressum & Datenschutz