www.wikidata.de-de.nina.az
Haxe ist eine objektorientierte JavaScript ahnliche Programmiersprache Die Moglichkeit aus Haxe Code ausfuhrbare Programme fur Adobe Flash JavaScript PHP C und Neko VM zu erzeugen zusammen mit leistungsfahigem Remoting Fahigkeit Objekte und Methodenaufrufe an andere Systemen zu senden siehe eigener Abschnitt machen Haxe ideal fur die Programmierung von Webanwendungen weshalb es auch als universelle weborientierte Sprache bezeichnet wird HaxeBasisdatenErscheinungsjahr 2005Entwickler Haxe FoundationAktuelle Version 4 3 3 1 17 November 2023 Beeinflusst von ActionScript OCaml JavaScriptBetriebssystem Windows Linux macOSLizenz GPL v2haxe org Inhaltsverzeichnis 1 Geschichte 1 1 2003 bis 2005 Tools fur die Arbeit mit ActionScript 1 2 Ab 2005 Aufbau einer eigenen Sprache und Technologie 1 3 Benennung und Aussprache 2 Sprache 2 1 Syntaxubersicht 2 2 Feature Ubersicht 2 3 Typinferenz 2 4 Konditionales Kompilieren 2 5 Aufzahlungstypen 2 6 Weitere Details 3 Zielplattformen 3 1 Bibliotheken und APIs 3 2 Grafische Benutzerschnittstellen 4 Rich Internet Applications Vergleich zwischen Haxe und anderen Losungen 4 1 Umsetzung mit mehreren Sprachen 4 2 Umsetzung mit Haxe 4 3 Andere Ansatze mit einer einzigen Sprache 5 Remoting 6 Compiler Implementierung und Performanz 7 Weblinks 8 EinzelnachweiseGeschichte BearbeitenDas franzosische Unternehmen Motion Twin wurde 2001 gegrundet und beschaftigt sich seitdem mit der Entwicklung von Flash basierten Webseiten und Spielen Die Entwicklung von Haxe ist eng mit der Unternehmensgeschichte verwoben Als Erfinder von Haxe gilt Nicolas Cannasse Mitbegrunder von Motion Twin 2003 bis 2005 Tools fur die Arbeit mit ActionScript Bearbeiten Um sich die Arbeit mit ActionScript zu erleichtern begann Motion Twin im Dezember 2003 mit der Entwicklung der ActionScriptMetaLanguage Darin geschriebene Programme werden durch einen eigenen Vorcompiler in gewohnliches ActionScript umgewandelt In diesem Schritt wird Typ und Parameterprufung zu Compilezeit durchgefuhrt wobei auch die weiter unten erlauterte Typinferenz zum Einsatz kommt Der resultierende ActionScript Code wird dann mittels des Compilers von Flash in eine SWF Datei umgewandelt welche dann beim Nutzer mittels Flash Players angezeigt wird Zum Vergleich Ohne den Einsatz der ActionScriptMetaLanguage wird die Typprufung erst zur Laufzeit moglich was das Auffinden von Programmfehlern erschwert Im April 2004 wurde die ActionScriptMetaLanguage um neue Typen erweitert und nannte sich von da an MotionTypes Wenig spater erhielt der Compiler die Fahigkeit direkt SWF Bytecode zu erzeugen ohne den Umweg uber den Macromedia Compiler zu gehen Sowohl ActionScriptMetaLanguage als auch MotionTypes werden nur innerhalb des Unternehmens genutzt Im Gegensatz dazu wurde MTASC der MotionTwin Actionscript Compiler im Oktober 2004 als Betaversion der Offentlichkeit vorgestellt Dieser Compiler ist unabhangig von MotionTypes denn er erstellt aus gewohnlichem ActionScript welches inzwischen die Sprachversion 2 0 erreicht hatte SWF Bytecode Zusammen mit anderer freier Software ergab sich das Programmpaket FAMES bestehend aus Flashout ASDT MTASC Eclipse und SwfMill womit es erstmals moglich war Flashapplikationen auch ohne die proprietare Software von Macromedia oder Adobe zu erstellen Am 14 Juli 2005 nur zwei Tage nach der offentlichen Vorstellung des Flash Player 8 unterstutzte MTASC bereits diese Flash Version Ab 2005 Aufbau einer eigenen Sprache und Technologie Bearbeiten Zunachst wurde geplant die ebenfalls von Motion Twin entwickelte Sprache Neko zukunftig in den Mittelpunkt zu stellen und Neko mit anderen Technologien wie z B ActionScript 2 0 Java und Ruby zu kombinieren Als seitens Adobe ActionScript 3 0 angekundigt wurde und die zahlreichen Nutzer von MTASC darauf warteten dass die neuen Sprachfeatures von MTASC unterstutzt wurden kundigte Motion Twin an die Entwicklung einzustellen und stattdessen die neue Technologie haXe voranzutreiben 2 Die Entwicklung begann am 22 Oktober 2005 Nach Alphaversionen im November 2005 und Betaversionen um Februar 2006 folgte am 17 Mai 2006 die Releaseversion 1 0 Die Aktuelle Version ist 4 2 5 welche am 6 Marz 2022 veroffentlicht wurde 3 Der Haxe Compiler ist freie offene Software unter der GNU General Public License die mitgelieferten Bibliotheken stehen unter der BSD Lizenz 4 Benennung und Aussprache Bearbeiten Der ursprungliche Name haXe wurde gewahlt weil er dem Autor zufolge kurz einfach und cool sei und ein X enthalt was wie er scherzhaft anmerkt notwendig sei um eine neue Technologie erfolgreich zu machen 5 Es gibt keine offizielle Aussprache des Namens haXe International verbreitete Aussprachen sind hex welches einer franzosischen Aussprache nahekommen soll hacks und aytch ax 6 Sprache BearbeitenHaxe ist eine eigenstandige Programmiersprache die sich syntaktisch an JavaScript bzw ActionScript und Java anlehnt jedoch auch eigene Syntaxelemente einfuhrt Syntaxubersicht Bearbeiten Das folgende Codebeispiel bietet einen Uberblick uber den typischen Aufbau einer Haxe Quelltextdatei Dabei zeigt es auch einige fortgeschrittene Moglichkeiten die vom Programmierer nicht zwingend beherrscht werden mussen package my pack import flash Lib Dokumentation im Javadoc Stil class MyClass lt EinTyp gt extends MyOtherClass implements MyInterface private var id Int private static var idCounter Int public var typisierteVariable EinTyp Es folgt eine Eigenschaft samt get und set Methode Der Typ der Eigenschaft wird als Typenparameter angegeben public var x getX setX EinTyp private var my x EinTyp private function getX return my x private function setX v EinTyp my x v trace Wert von x wurde geandert return my x Dies ist ein Konstruktor public function new id idCounter function foo Void for x in 3 7 trace Eine Zahl x Einsprungpunkt fur die Anwendung static function main var instanz new MyClass lt Bool gt instanz x true ruft den setter auf welcher eine Warnung per trace ausgeben wird An dieser Stelle sei nochmal betont dass dieser Code ohne Anderungen in allen drei Compiler Zielen lauffahig ist Feature Ubersicht Bearbeiten Die meisten der folgenden Haxe Features sind auch aus weit verbreiteten objektorientierten Sprachen wie C oder Java bekannt und werden daher nicht naher erlautert 7 Strukturierung grosser Projekte mittels packages Dokumentation mittels speziellen Javadoc ahnlichen Kommentaren Klassen mit Typparametern wobei neuere Versionen Template ahnliche Vorzuge bieten Einfachvererbung und das Implementieren von auch mehreren Interfaces Zugriffsmodifikatoren wie z B private und static Eigenschaften deren Zuweisung uber Zugriffsfunktionen Getter und Setter abgewickelt wird Konstruktoren und Destruktoren Main Methode muss auch innerhalb einer Klasse untergebracht sein For Each Schleife andere Formen der For Schleife gibt es in Haxe nicht Iteratoren im Codebeispiel nicht gezeigt Reflection im Codebeispiel nicht gezeigt Folgende Features die viele gangige Sprachen bieten fehlen jedoch in Haxe Methodenuberladung Mehrfachvererbung Abstrakte KlassenTypinferenz Bearbeiten Programmiersprachen sind fur gewohnlich statisch oder dynamisch typisiert Bei statischer Typisierung ist jeder Variable jedem Attribut und jedem Parameter eindeutig ein Typ zuzuordnen der zur Laufzeit konstant bleibt Java Beispiel Java ist statisch typisiert int x x 3 geht x hallo geht nicht In einer dynamisch typisierten Sprache haben Variablen Attribute und Parameter keinen klar definierten Typ Javascript Beispiel Javascript ist dynamisch typisiert var x x 3 geht x hallo geht Haxe verbindet beide Ansatze Zum einen ist es dem Programmierer freigestellt ob der Typ einer Variablen angegeben wird oder nicht Zum anderen schlussfolgert Inferenz bedeutet Schlussfolgerung der Compiler selbstandig den Typ jeder Variable die nicht vom Programmierer festgelegt wurde und behandelt sie als ware sie statisch typisiert Als dritte Alternative kann der Programmierer sie explizit als Dynamic deklarieren und somit die Typinferenz aushebeln Haxe Beispiel in diesem Fall statisch var x Int x 3 geht x hallo geht nicht Haxe Beispiel in diesem Fall statisch durch Typinferenz var x x 3 geht Compiler schliesst darauf dass x vom Typ Int ist x hallo geht nicht Haxe Beispiel in diesem Fall dynamisch var x Dynamic x 3 geht x hallo geht Die Sprachen fur die Haxe einen Ersatz darstellen kann Javascript ActionScript PHP etc sind in der Regel dynamisch typisiert Der Vorteil der Typinferenz sei nochmals an folgendem Beispiel gezeigt function bar Array lt Int gt var retval 1 2 3 4 if Math random lt 0 001 Math random liefert zufalligen Wert zwischen 0 und 1 retval push 5 001 ACHTUNG Diese Zeile erzeugt einen Compiler Fehler return retval Das Array retval ist vom Programmierer nicht typisiert Jedoch kann der Compiler aus dem Methodenkopf erkennen dass das Array vom Typ Int sein muss um spater als Ruckgabewert zu dienen Das Einfugen des Wertes 5 001 widerspricht dem somit wird der Compiler einen Fehler melden Ohne Typinferenz wurde dieser Fehler erst zu Laufzeit auffallen und auch erst bei Ausfuhrung der markierten Zeile Aufgrund der if Bedingung wurde dies erst nach ca 1000 Testlaufen auftreten d h eventuell erst wenn die Software zum Kunden ausgeliefert wurde Konditionales Kompilieren Bearbeiten Ein Grossteil des Haxe Codes ist auf allen Zielplattformen lauffahig siehe Abschnitt Zielplattformen Dennoch kommt man oft nicht um plattformspezifische Anpassungen herum Diese konnen wie folgt eingebunden werden if flash haXecode fur Flash Plattform beliebige Version z B wird folgendes ein Quadrat mittels eines Flash MovieClip Objektes anzeigen var mc flash MovieClip flash Lib current mc beginFill 0xFF0000 mc moveTo 50 50 mc lineTo 100 50 mc lineTo 100 100 mc lineTo 50 100 mc endFill elseif js haXecode fur Javascript Plattform z B Zugriff auf das Browser DOM um etwas anzuzeigen elseif neko haXecode fur die neko Plattform error wird automatisch den Fehler Not implemented on this platform ausgeben end Aufzahlungstypen Bearbeiten Aufzahlungstypen sind eine Schlusselfunktion der Sprache Sie konnen selbst Parameter haben und rekursiv sein was ihnen erlaubt wie Klassen behandelt zu werden 8 Enums in Haxe sind nicht einfach nur indizierte magic numbers wie in den meisten Sprachen sondern sind abstrakter Sie haben keinen eigenen Wert aber konnen instantiiert werden wie das folgende Beispiel zeigt enum Farbe rot gruen blau rgb r Int g Int b Int class Farben static function nachInt c Farbe Int return switch c case rot 0xFF000 case gruen 0x00FF00 case blau 0x0000FF case rgb r g b r lt lt 16 g lt lt 8 b static function gueltigeAufrufe var rotint nachInt rot var rgbint nachInt rgb 100 100 100 Aus der Haxe Referenz modifiziert Weitere Details Bearbeiten Funktionsparameter konnen in Haxe sehr genau definiert werden function mehrereParameter dreidimensionalsArray Array lt Array lt Array lt Int gt gt gt stringval String boolval Bool function optionalerParameter i Int Int return 0 optional int value returning an int function funktionAlsParameter f Void gt Void f call a function with no parameters function eineAndereFunktionAlsParameter f Int gt Int var result f 1 call a function that returns an int with an int parameter function kannAllesMoeglicheSein d Dynamic Dynamic return d function which takes any kind of type and returns itZielplattformen BearbeitenIn Haxe geschriebener Code wird kompiliert im Gegensatz zu anderen Sprachen welche interpretiert werden Dabei kann man zwischen folgenden Zielen wahlen Flash genauer SWF Bytecode fur AVM 1 entspricht Flash 6 7 8 SWF Bytecode fur AVM 2 entspricht Flash 9 ActionScript 3 0 Sourcecode JavaScript Neko VM C ab Version 2 04 PHP ab Version 2 0 Java Bytecode 9 C Bytecode experimentell Das ansonsten eher unbekannte Neko verdient hierbei besondere Beachtung Es kann einerseits serverseitig eingesetzt werden als Standalone Server oder als Apache Modul modneko Andererseits kann es auch direkt beim Client eingesetzt werden Dazu muss dieser die Neko VM auf seinem Rechner installieren Mittels Screenweaver HX ist es moglich Desktopanwendungen mittels Haxe umzusetzen bei denen die Logik in Neko umgesetzt ist das Userinterface jedoch mittels Flash Ab der Version 2 0 wird auch PHP als serverseitige Sprache unterstutzt welches auf Webservern meist vorinstalliert ist im Gegensatz zur eher unbekannten Neko VM In Haxe geschriebene Klassen kann man nach der Kompilierung als SWF in Actionscript Code verwenden umgekehrt konnen kompilierte Actionscript Klassen von Haxe Code verwendet werden man kann sogar davon ableiten Bibliotheken und APIs Bearbeiten Der Sprachkern von Haxe und eine Reihe von mitgelieferten Bibliotheken sind fur alle Zielplattformen verfugbar Dazu gehoren zwei verschiedene XML APIs beide sind uberall verfugbar regulare Ausdrucke Exceptions Remoting Reflection Math trigonometrische Funktionen Pseudozufallszahlen etc und der Umgang mit Daten und Zeiten Solange eine Klasse nur von diesen APIs Gebrauch macht kann sie ohne jegliche Anpassungen fur alle Ziele kompiliert werden Es ist fur den Programmierer irrelevant ob es sich dabei um Wrapper handelt welche eine native Bibliothek kapseln oder diese komplett in Haxe implementiert sind Sprachmerkmale von Haxe die in der Zielsprache nicht vorhanden sind z B Interfaces Generik etc bereiten hierbei keine Probleme denn sie werden vom Compiler in aquivalenten Code umgesetzt Daruber hinaus bietet Haxe vollen Zugriff auf die plattformspezifischen APIs Bei Flash betrifft das z B MovieClips und Grafikfilter bei Javascript die Interaktion mit dem Browserfenster und bei Neko zugriff auf Systemressourcen wie etwa lokale Dateien Grafische Benutzerschnittstellen Bearbeiten Haxe ermoglicht zwar Grossteile der grafischen Benutzerschnittstelle damit umzusetzen jedoch stosst die Portabilitat hier eindeutig an ihre Grenzen Es ist ohne zusatzliche Softwarepakete nicht moglich eine einzige GUI zu schreiben welche in Flash HTML Javascript und als Desktopanwendung zugleich lauffahig ist Dennoch ist es moglich zwei bzw drei getrennte GUIs zu schreiben die denselben Anwendungskern verwenden siehe Model View Controller Derzeit werden Frameworks entwickelt um die GUI einmalig zu beschreiben sodass sie auf den verschiedenen Plattformen gleichwertig angezeigt wird und die gleiche Anwendung darstellt So stellt jeash 10 die aus Flash bekannten Klassen auch in JavaScript bereit mittels des Canvas Elements aus HTML5 Fur die Entwicklung in C leistet neash 11 das gleiche Auf diese Weise lassen sich Flash ahnliche Inhalte auch auf Mobilplattformen wie Android und iPhone bereitstellen 12 Rich Internet Applications Vergleich zwischen Haxe und anderen Losungen BearbeitenHeutige Rich Internet Applications unterscheiden sich von klassischen Webseiten dadurch dass sich zunehmend Anwendungslogik vom Server auf den Client verlagert Dies ermoglicht schnellere Reaktionen auf Benutzereingaben weniger Traffic und ein Desktop ahnliches Look and Feel Um solche RIAs zu entwerfen waren bis vor kurzem eine Vielzahl von Programmiersprachen notig Haxe und auch andere aktuelle Ansatze siehe Ende des Abschnitts ermoglichen die Arbeit mit einer einzigen Sprache Umsetzung mit mehreren Sprachen Bearbeiten Zum Erstellen von RIAs konkurrieren seit langerem zwei Technologien Ajax und Flash Zwar sind Java Applets die alteste und ausgereifteste Technologie in diesem Bereich konnten jedoch beim durchschnittlichen Nutzer nie die Bedeutung von Javascript und Flash erreichen Neue Technologien wie JavaFX das Flash basierte Flex und Microsoft Silverlight drangen ebenfalls in diesen Bereich indem sie neue Sprachen JavaFX Script MXML und XAML einfuhren die meist mit den bereits vorhandenen kombiniert werden Allen Konzepten gemeinsam ist dass die Webanwendung verteilt ablauft Die Benutzeroberflache und zeitkritische Teile der Logik laufen beim Client innerhalb des Webbrowsers die Datenhaltung und alle sicherheitsrelevante Logik befindet sich auf dem Server Die Kommunikation findet asynchron d h vom Anwender unbemerkt im Hintergrund mittels HTTP statt Um diese Webanwendungen auch offline und ohne Browser verfugbar zu machen muss der Nutzer auf seinem Rechner auch die Teile ablaufen lassen die ursprunglich auf den Server ausgelagert wurden Dies wird teilweise durch Adobe Integrated Runtime AIR und Gears ermoglicht Quasi alle oben genannten Techniken erfordern vom Entwickler verschiedene Sprachen zu beherrschen im Extremfall sind dies HTML CSS XML JavaScript ActionScript und eine serverseitige Sprache wie z B PHP Ruby Perl oder Java Zudem mussen die Einzelteile auch sprachubergreifend zusammenarbeiten wofur meist ein XML oder ein textbasiertes Interface zwischen diesen geschaffen werden muss Die Arbeit mit diesen Sprachen wird dadurch erschwert dass sie nicht nur eine andere Syntax sondern oft ein komplett anderes Typsystem besitzen So ist die Objektorientierung in Javascript grundverschieden von z B der in Java Umsetzung mit Haxe Bearbeiten Bei der Entwicklung mit Haxe konnen Server Client und gegebenenfalls Desktop Komponenten in derselben Sprache verfasst werden Zudem ermoglicht es das Haxe Remoting Objekte und Methodenaufrufe uber Sprach und Rechnergrenzen hinaus zu versenden Somit muss der Entwickler nur noch eine Programmiersprache beherrschen Auszeichnungssprachen wie HTML und CSS konnen weiterhin notig sein sich nicht fruhzeitig entscheiden ob ein Programmteil client oder serverseitig ablaufen soll sich nicht fruhzeitig entscheiden ob er dem Benutzer eine Flash oder Ajax Oberflache bieten mochte keine textuellen Interfaces zwischen den Anwendungsebenen entwerfen und implementierenHaxe bietet sich also vor allem bei mehrschichtigen Webanwendungen an Aufgrund von Sprachfeatures die anderen Sprachen oft fehlen kann Haxe auch schon bei einfachen einschichtigen Anwendungen die Entwicklung erleichtern Andere Ansatze mit einer einzigen Sprache Bearbeiten Sowohl Rich Ajax Platform als auch Google Web Toolkit ermoglichen dem Entwickler RIAs zu entwickeln und dabei sowohl die Client als auch die Serverseite in Java zu programmieren Beide generieren daraus ein Servlet sowie clientseitigen Code in Javascript Anders als Haxe bieten beide eigene Widgets an aus denen automatisch HTML Seiten erzeugt werden Im Gegensatz dazu erfordert Haxe vom Entwickler selbst HTML zu generieren es sei denn er verzichtet komplett auf den Einsatz von HTML Flash wird von diesen beiden Losungen nicht unterstutzt allerdings kann Rich Ajax Platform eigenstandige Desktopanwendungen auf SWT Basis erzeugen OpenLaszlo verwendet zwar nicht nur eine einzige Sprache denn in den deklarativen XML Dialekt LZX wird ECMAScript eingebettet Ahnlich wie Haxe kann OpenLaszlo daraus jedoch auch eine Flash als auch eine DHTML Oberflache erzeugen Insofern ist es Haxe uberlegen da Haxe seinerseits kein Userinterface generieren kann siehe Abschnitt Grafische Benutzerschnittstellen weiter oben Remoting BearbeitenDem Abschnitt Remoting fehlen noch folgende wichtige Informationen Der Artikel stellt das Remoting der Versionen 1 x dar In haXe 2 0 gibt es hier grossere nennenswerte Anderungen siehe haxe org Hilf der Wikipedia indem du sie recherchierst und einfugst Haxe ermoglicht es zwischen den unterstutzten Plattformen quasi beliebig Objekte und Methodenaufrufe zu versenden Dabei stehen in jedem Fall synchrone und asynchrone Verbindungen zur Verfugung Das Verfahren ahnelt Remote Procedure Call So konnen Flash Objekte und Javascripts innerhalb einer Seite untereinander kommunizieren und beide konnen direkt auf einen Neko Server zugreifen Auf gleiche Weise konnen Server bzw Neko Desktopanwendungen auch untereinander kommunizieren Daruber hinaus konnen mit haXe geschriebene Flashprogramme auf einen Flash Media Server auch AMFPHP zugreifen Folgender Quellcode konnte in Flash Javascript oder einem zweiten Neko Server benutzt werden um auf einem Neko Server die Methode meineMethode aufzurufen Der Ruckgabewert bzw eine dort geworfene Exception wird an eine der beiden lokalen Callback Methoden weitergeleitet Verbindung zu Neko Server aufbauen var verbindung haxe remoting AsyncConnection urlConnect http einedomain com neko anonyme Callback Methode fur den Fehlerfall anmelden verbindung onError function err trace Fehler Std string err Callback Methode fur den Erfolgsfall var beiErfolg function r trace Ruckgabewert Std string r Methode auf dem Server aufrufen Entspricht dort dem Aufruf mein package MeineAndereKlasse meineMethode 0 1 verbindung mein p ackage MeineAndereKlasse meineMethode call 0 1 beiErfolg Uber die bei Ajax ublichen HTTP Anfragen an den Server werden damit andere Einsatzmoglichkeiten denkbar Ein mogliches Anwendungsbeispiel Eine RIA mit HTML Oberflache und Anwendungslogik in Javascript enthalt eine aufwandige Berechnung Falls auf dem Nutzerrechner Flash verfugbar ist wird sie an ein 1 1 Pixel grosses Flashobjekt delegiert unter der Annahme dass Flash Bytecode deutlich schneller ausgefuhrt wird als Javascript Ist kein Flash verfugbar so wird die Berechnung auf dem Server ausgefuhrt Falls weder der Server noch Flash verfugbar sind lauft die Berechnung lokal per Javascript Die Berechnung selbst muss dabei nur ein einziges Mal in Haxe implementiert werden Compiler Implementierung und Performanz BearbeitenDer Haxe Compiler ist in Objective CAML implementiert Da Haxe generierter Code in virtuellen Maschinen lauft ist jedoch keine weitere Kenntnis dieser Sprache notig um mit Haxe Anwendungen zu entwickeln Dies bedeutet auch dass die Performanz je nach Zielplattform variiert da jede Plattform angepasst werden muss damit die verfugbaren Ressourcen bestmoglich ausgenutzt werden konnen Ein Benchmark 13 zeigt dass Haxe Flash 9 Bytecode AVM2 mit besserer Performanz kompiliert als der aquivalente AS3 Code auf Adobes Compiler Seit diesem Leistungstest wurde der Compiler noch weiter verbessert u a durch das Hinzufugen von Inline Funktionen Um das Ubersetzen mehrerer Klassen fur verschiedene Kompilierziele zu vereinfachen werden hxml Dateien verwendet Dies sind einfache Textdateien mit Anweisungen fur den Compiler Per Doppelklick auf diese kann somit das gesamte Projekt kompiliert werden Da der Compiler eine Kommandozeilenanwendung ist lasst er sich auch in vorhandene Entwicklungsumgebungen einbinden FlashDevelop bringt von Haus aus Unterstutzung fur Haxe mit sich Weblinks BearbeitenOffizielle Website englisch Website des entwickelnden Unternehmens Motion Twin Website des Haxe Vorgangers MTASC englisch Einzelnachweise Bearbeiten Release 4 3 3 17 November 2023 abgerufen am 18 November 2023 MTASC und Actionscript 3 Abgerufen am 2 Januar 2011 englisch Haxe Changelog Abgerufen am 23 November 2022 haXe Lizenzen Seite Archiviert vom Original am 12 Mai 2012 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot haxe org englisch haXe Mailinglist Beitrag zur Aussprache Archiviert vom Original am 28 Marz 2007 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot lists motion twin com englisch haXe Mailinglist Beitrag zur Aussprache Archiviert vom Original am 20 Februar 2011 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot lists motion twin com englisch haXe Sprachreferenz Archiviert vom Original am 25 Februar 2011 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot haxe org englisch haXe Sprachreferenz uber Enums Archiviert vom Original am 25 Februar 2011 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot haxe org englisch Mailinglist Beitrag uber Java Archiviert vom Original am 20 Februar 2011 abgerufen am 2 Januar 2011 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot lists motion twin com englisch launchpad net code google com Game Haxe Blog Eintrage zum Einsatz auf Android und iPhone Portierung der Actionscript Physics Library nach haXe Abgerufen am 2 Januar 2011 englisch Abgerufen von https de wikipedia org w index php title Haxe Programmiersprache amp oldid 235838274