Actionscript 3 vs Haxe: Die zu wählen, für den Sie eine neue Flash-Projekt?
Ich bin in der Planung einer neuen Flash-Spiel-Projekt und war neugierig, welche Sprache wäre besser, zu verwenden? Ich habe bereits ein starkes Verständnis von Actionscript 3 und hat nicht funktioniert, mit Haxe, aber ich habe gelesen das Referenzhandbuch docs und es scheint, dass die Haxe hat einige der features von meinem anderen Lieblings-Sprachen, C# und Ruby.
Also meine Frage hat zwei Teile:
1) Haxe interop mit flash-Komponenten (swc-Dateien)? Wie zum Beispiel, wenn ich mit der Flash-IDE zu Haut einige Steuerelemente, kann ich diese importieren und steuert, und verwenden Sie Sie in Haxe?
2) gibt es irgendwelche performance-Vorteile der Haxe-compiler? oder irgendwelche Fallstricke?
- Ich würde gerne wissen, wie das geht. Ich habe schon versucht durch haXe ein paar mal. Auch haben die haXe/Neko Buch. Nun, dass es kompiliert PHP und C++ (ebenso wie Neko, ActionScript, JavaScript), werde ich mir wohl eine Ausrede finden bald, es zu versuchen.
- Sie sollten auch prüfen, FPOD: code.google.com/p/fpod ... es bietet einige nette extra-features ... und in die mailing-Liste ... es gibt Tonnen von nützlichen infos/news und was es alles gibt ... und die helfen, natürlich ... 😀
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) ja und Nein. Wie der 2.03 Haxe exportieren können SWCs. Das heißt, Sie können Ihren code schreiben, in Haxe , kompilieren, um eine SWC-Datei und dann nutzen, dass Sie SWC mit Flash. Jetzt Haxe nicht unterstützt SWC-input, nur output (obwohl ich glaube, Sie arbeiten daran).
2) ja, es gibt Vorteile für die Verwendung Haxe - im Gegensatz zu Adobe ' s Haxe-Compiler tatsächlich einige Optimierungen während des Kompilierens (dies war ein wichtiger Zankapfel in der community für eine Weile). Darüber hinaus Haxe nutzt einige "versteckte" neue bytecodes, die mit Flash Player 10, dass derzeit weder Flash oder Flex zu nutzen - nur Adobe Alchemy (cross-kompiliert von C/C++ - Quelldatei, in SWCs).
Die einzige "gotcha", die ich kenne, ist, dass es Art von bizzaro ActionScript - sind die Dinge einfach genug anderes, das wird Reise, die Sie bis eine ganze Menge. Dass gesagt wird, mit features wie generics und schneller code, der kleiner Preis zu zahlen!
Finden Sie eine Menge hilfreiche Sachen auf lib.haxe.org ... (checkout haxelib für diese Angelegenheit (ein bisschen wie ruby gems, könnte man sagen)) ... es gibt auch eine AS3 zu Haxe converter ... könnte also versuchen, die übersetzung relevanten Teile der corelib zu Haxe ... einige manuelle Fixierung erforderlich wird, aber ich denke, ...
wenn es um Kontrollen, nur check-out die Haxe gui-Bibliotheken, ... gibt es ein paar von Ihnen schwimmende rund um das web ...
Nun Haxe Vorteile:
eine gute Sache über Haxe ist, dass der compiler ist viel schneller, so dass Sie nicht verbringen eine Menge Zeit beim erstellen von ... im ernst, es macht einen Unterschied ...
Auch, Haxe ist eine viel reichere Sprache, wie branden schon implizit angegeben ... ich möchte nur hinzufügen, sollten Sie wirklich überprüfen Sie Sie heraus, Enumerationen, ...
Immer noch, das beste, was über die Haxe ist, dass wenn ich kommt, zu schreiben, ein server, können Sie bleiben, mit der gleichen Sprache, plus Dinge wie Haxe remoting-machen Sie Ihr Leben super einfach ...
Gibt es einige AS3 Profis, aber die Sache ist die, dass die meisten von Ihnen sind nur im Zusammenhang mit der Tatsache, dass, wenn Sie versuchen, die Lösung von Problemen in der Haxe die Weise, die Sie würde in AS3, die Sprache scheint schrulligen und zeigt unerwartetes Verhalten zur Laufzeit ... wenn Sie bleiben streng und eingegeben, alles perfekt ...
Hoffe, das hilft ... 😉
greetz
back2dos
Neuen release von Haxe heute. Fügt offizielle Ziel von C++.
So, jetzt können Sie den Gegner ActionScript und C++) mit der gleichen Quelle.
NME verbessert auf Haxe ' s cross-Plattform-Unterstützung, um eine einheitliche API für Windows, Mac, Linux, Android, iOS, webOS, Flash-und HTML5-Anwendungen, ohne viel Aufhebens.
Der Haxe-compiler ist deutlich schneller als MXMLC, vor allem, wenn Sie verwendet werden, um kompilieren von der IDE Flash, anstatt eine IDE, die Gastgeber der Flex-compiler-shell, wie FlashDevelop. Wie bereits erwähnt, gibt es auch eine Reihe von zusätzlichen Funktionen der Sprache, wie Iteratoren, typedefs, Strukturen, Makros und andere nice-to-haves.
Das tolle ist, dass seit Sie können immer Ziel-Flash, es gibt wenig Risiko. Die Haxe Sprache sehr ähnlich ist, und wenn Sie nichts dagegen haben, die Unterstützung einer einzigen Plattform, können Sie als Ziel alle Flash-unterstützten Funktionen. Um jedoch den Grad, dass Sie stick mit NME ' s cross-Plattform-API, erleben Sie enorme performance-Vorteile für mobile und desktop-Plattformen, oder Experimentieren Sie mit HTML5-Unterstützung.
Schließlich gibt es eine SWF-Bibliothek, die es ermöglicht, den Zugriff von SWF-Inhalt von C++. Dies war schon immer möglich, auf die Flash-Gegner, natürlich, aber schon bald sollte es angemessen sein zu können, definieren Sie eine Schnittstelle in die Flash-IDE, und verwenden Sie diese in der mobile-oder desktop C++ - Anwendungen als auch die Flash - /AIR-target.
1) Sie können eine swf-Bibliothek (statt einer swc-Datei) beim kompilieren mit der
-swf-lib
compiler-argument und wenn Sie mehr brauchen als eine lib können Sie verschmelzen mehrere mit derswfmill
tool. Es gibt ein Beispiel dafür in der Haxe docs.2) Branden beantwortet diese tadellos 🙂 Obwohl ich vielleicht hinzufügen, dass eine Funktion, die keine Verbesserung der Leistung in flash-Anwendungen vor allem, ist das "inlining". Seit Nicolas (der Schöpfer von Haxe) Hinzugefügt noch mehr-byte-code Optimierungen inline-Funktionen. Und es gibt auch noch mehr von diesen Optimierungen geplant.