Ich dachte daran, Haxe für seine sprachübergreifende Fähigkeit zu nutzen, war mir aber nicht sicher, ob es für diese Aufgabe am besten war. Ich werde eine generische Bibliothek schreiben, die in den Zielsprachen verwendet und dokumentiert werden kann (in der Lage, etwas wie doxygen anzuwenden). Um es anders auszudrücken, würde ich gerne eine generische Bibliothek in Haxe schreiben, C ++ - Code (und Java, sobald es fertig ist) ausgeben und es anderen Programmierern zugänglich machen (lesbar für mehr als nur den C + Compiler) die beste Wahl für diese Aufgabe, oder wäre es besser, wenn ich nur eine Version der Bibliothek für jede Sprache geschrieben hätte?
Sicher ist es möglich, auch wenn es je nach der gewählten Plattform etwas peinlich sein könnte.
Bei JavaScript, neko und Flash ist der generierte Code sehr nah an den nativen und die Leute können ihn verwenden, ohne zu wissen, dass er in Haxe erzeugt wurde.
Bei PHP weiß ich leider nicht genau, wie es funktioniert. Aber es gibt einige Namespace-Hacks, die ein wenig peinlich sind, aber ich denke, dass diese gelöst werden könnten, indem die Bibliothek mit handgeschriebenem Code umschlossen wird.
In C ++, wenn es Ihnen nichts ausmacht, ein wenig Code zu verwenden, damit die Reflektion funktioniert, wird es meistens gut funktionieren. Es hat eine nicht-standardmäßige Art, mit Konstruktoren umzugehen, und Sie sollten auch sehr vorsichtig sein, da ein gc daran angehängt ist, und ich weiß nicht, wie gut es mit externem Code umgehen kann, der Referenzen enthält, die er nicht kennt. p>
Über die neuen Ziele - C # und Java werden 100% mit nativem Code zusammenarbeiten. Die meisten Haxe-Funktionen sind den nativen Funktionen der Plattformen zugeordnet, mit Ausnahme der Delegierten. Aber wenn Sie keine Delegierten in Ihrer Schnittstelle verfügbar machen, ist es in Ordnung. Sie werden auch einige Boilerplate Code generieren, um schnelle Reflexion auf diesen Plattformen zu ermöglichen, aber es gibt Möglichkeiten, dies zu deaktivieren, wenn Sie wissen, was Sie tun.
Haxe ist nicht für das Schreiben von sprachübergreifenden Bibliotheken gedacht, obwohl es gemacht werden kann und ich habe ein paar Beispiele gesehen, dass es funktioniert:
Jedoch, speziell für C ++, da hxcpp
eine Menge Haxe-spezifisches Zeug, einschließlich GC, erzeugt, kann es viel Säuberung erfordern oder es ist nicht-trivial zu verwenden. Sie können in der Haxe Mailingliste fragen.
Tags und Links haxe