Traverse le pont - CrossBridge
CrossBridge est un ensemble d'outils open source développé par Adobe Systems , qui compile de manière croisée du code C et C ++ pour s'exécuter dans Adobe Flash Player ou Adobe AIR . Les projets compilés avec CrossBridge s'exécutent jusqu'à 10 fois plus vite que les projets ActionScript 3 . CrossBridge était également connu sous le nom de "Alchemy" et de "Flash Runtime C ++ Compiler" ou "FlasCC".
CrossBridge utilise des opcodes d' accès mémoire hautes performances dans Flash Player (appelés «mémoire de domaine») pour travailler rapidement avec les données en mémoire. CrossBridge utilise LLVM et GCC comme backends du compilateur, afin de compiler le code C ++, de l'optimiser et de le transformer pour qu'il s'exécute dans AVM2 (la machine virtuelle ActionScript ). Les programmes créés avec CrossBridge sont jusqu'à 10 fois plus rapides que le code ActionScript normal, mais jusqu'à 2 × à 10 × plus lents que le code C ++ natif.
CrossBridge peut générer des films Flash Player ( fichiers .swf ) ou des bibliothèques Flash ( fichiers .swc ), qui peuvent ensuite être utilisés par des projets plus volumineux écrits en ActionScript 3 et compilés à l'aide du SDK Apache Flex gratuit (anciennement le SDK Adobe Flex). CrossBridge utilise également l' accélération de rendu 3D basée sur le GPU présente dans Flash Player 11 (connu sous le nom de Stage3D ).
En utilisant CrossBridge, Adobe a porté OpenGL pour une utilisation dans Flash Player Stage3D et l'a publié en tant que projet open-source en 2012. Le langage de programmation Lua (version 5.1) a également été porté pour s'exécuter dans Flash Player à l'aide de CrossBridge, et publié sur Google Code. Les projets compilés par CrossBridge ont également permis d'exécuter le traitement du signal numérique côté client en temps réel, y compris la transformation rapide de Fourier et la transformation en ondelettes de chapeau mexicain .
Histoire
En 2008, CrossBridge a été publié par Adobe sous le nom de "Project Alchemy", sur le site Web d' Adobe Labs . Il a permis la compilation de projets C ++ spécialement modifiés vers SWF, en utilisant les compilateurs LLVM et GCC.
En 2012, pour tenter de monétiser Flash Player, Adobe a restreint l'utilisation des fonctionnalités Stage3D et Domain Memory de Flash Player sous la marque «Premium Features». Les «Fonctionnalités Premium» étaient concédées sous licence et les éditeurs devaient payer des redevances à Adobe pour leur utilisation. Project Alchemy a été commercialisé sous le nom de compilateur Flash Runtime C ++.
En 2013, Adobe a ouvert le compilateur Flash Runtime C ++ en tant que CrossBridge et l'a publié sur le site Web d'hébergement de code GitHub . Les "Fonctionnalités Premium" ont également été rendues gratuites et ne nécessitaient plus de licence ni de redevances.
Voir également
- asm.js
- Emscripten
- Client natif Google (NaCl)
- WebAssembly - un bytecode en développement pour les navigateurs