© saicle/Shutterstock.com
Kolumne: The Good Parts

Kolumne: The Good Parts


JavaScript ist mittlerweile viel mehr als nur eine Sprache – es ist eine Plattform. Unterschiedlichste Sprachen können automatisiert in JavaScript übersetzt werden. Zur Entwicklung von Programmen im Browser ist daher der Einsatz von JavaScript keine zwingende Voraussetzung mehr. Durch diesen Ansatz werden moderne Webapplikationen nicht nur unabhängig von der Sprache, es ist außerdem möglich, Applikationen durch einen Cross-Compiler sowohl nativ als auch fürs Web zu übersetzen.

JavaScript on Steroids

Eine Codebasis, sie alle zu knechten

Epic hat es in Kooperation mit Mozilla vorgemacht: Ihre Epic-Citadel-Demo [1] ist eine mittels Emscripten [2] für den Browser übersetzte Version der Unreal Engine. Mit relativ moderaten Anpassungen war es Epic möglich, ihre Technologiedemo für den Browser zu kompilieren. Ergebnis: Eine Codebasis, ursprünglich gedacht für die native Ausführung auf einer Plattform, ist nun im Browser auf jedem aktuellen System einsetzbar.

Denkt man diese Idee weiter, so erkennt man schnell, dass dieser technologische Ansatz im Bereich von 3-D-Anwendungen großes Potenzial besitzt. Ein Spiel z. B. könnte so aus der gleichen Codebasis nicht nur auf aktuelle Mobile-Plattformen wie iOS und Android, Desktopsysteme wie Linux, Windows und Mac OS, sondern auch auf jeden modernen Browser deployt werden.

Ein Beispiel sagt mehr als tausend Worte

Im Folgenden wird die schrittweise Erstellung einer OpenGL-Applikation gezeigt. Ziel ist es, sie anschließend nativ für Windows, Linux und Mac OS zu kompilieren und sie mithilfe von Emscripten für den Browser zu übersetzen. Die Applikation selbst gestaltet sich sehr einfach: Sie soll ein Fenster öffnen, in dem ein dreidimensionaler Würfel dargestellt wird, der sich um alle drei Achsen dreht. Auf allen Seiten des Würfels soll das Qafoo-Firmenlogo angezeigt werden, welches zuvor als Textur aus einer PNG-Datei geladen wurde. Abbildung 1 zeigt das Ergebnis der fertigen Applikation ausgeführt unter Mac OS.

westhoff_opengl_1.tif_fmt1.jpgAbb. 1: OpenGL-Applikation in Aktion – ein sich drehender Qafoo-Würfel

Die Entscheidung für die Entwicklungssprache fällt auf C. Vornehmlich aus zwei Gründen: Erstens unterstützt Emscripten als Ausgangssprache nur C und C++. Dies schränkt die Auswahl natürlich bereits maßgeblich ein. Auch wenn es noch andere Transpiler z. B. für die .NET-Sprachenfamilie gibt, so ist Emscripten derzeit doch eines der interessantesten Projekte. Zweitens fällt die Entscheidung auf C, weil diese Sprache für das gewählte Beispiel einf...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang