2009-09-02 7 views
2

Je participe à l'écriture d'une bibliothèque Flex/ActionScript et je participerai à l'avenir à l'écriture de la même bibliothèque en JavaScript. Plutôt que d'écrire une bibliothèque dans chaque langue et d'avoir à les maintenir séparément, je me demandais s'il était possible de:Partager du code entre JavaScript et une bibliothèque ActionScript sans pont

1) Écrire le code dans une langue et partager le code dans l'autre, par ex. Ecrire le code JavaScript et utiliser les mêmes fichiers .js dans ActionScript

ou

2) Ecrire le code dans une langue et d'effectuer une conversion dans l'autre

Je sais qu'il est possible de communiquer entre Flash/ActionScript et JavaScript, mais je voudrais éviter les frais généraux en utilisant le pont technologique, donc ce n'est pas vraiment une option.

Comment les autres personnes s'occupent-elles d'écrire et de maintenir des bibliothèques qui font exactement la même chose mais dans des langues différentes? Plus précisément, comment les gens font cela entre JavaScript et ActionScript?

Répondre

1

Comment sur haXe.

Vous écrivez le code dans une langue et vous pouvez le compiler sous différentes formes, y compris des fichiers JavaScript et des fichiers flash compilés (versions 6 à 10). Ils ont même récemment commencé à prendre en charge la compilation C++. Cela vous permettra d'avoir le même code source (pré-compilation) pour vos projets JS et AS3.

(Remarqué quand FlashDevelop commencé à le soutenir)

+0

Il semble que la seule façon de le faire sans dupliquer le code est d'utiliser un convertisseur de code quelconque. Que ce soit un JavaScript vers ActionScript, ActionScript vers JavaScript ou un autre langage (haXe) vers ActionScript/JavaScript. Donc, "écrire le code dans une langue et le compiler sous différentes formes" semble la seule approche pour le moment. – leggetter

0

PureMVC fait cela très bien. L'implémentation de référence est écrite en AS3 et les ports (y compris la version JS) sont gérés en fonction de cette implémentation. Il serait non trivial d'écrire un convertisseur, et il serait probablement plus simple de maintenir les versions séparées.

Questions connexes