CrossBridge es un conjunto de herramientas de código abierto desarrollado por Adobe Systems que compila de forma cruzada código C y C++ para ejecutarlo en Adobe Flash Player o Adobe AIR . [ 1 ] Los proyectos compilados con CrossBridge se ejecutan hasta 10 veces más rápido que los proyectos de ActionScript 3. [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] CrossBridge también era conocido como "Alchemy" y "Flash Runtime C++ Compiler" o "FlasCC". [ 7 ] [ 8 ] [ 9 ]
CrossBridge utiliza códigos de operación de acceso a memoria de alto rendimiento en Flash Player (conocidos como "Memoria de dominio") para trabajar rápidamente con datos en memoria. [ 10 ] CrossBridge utiliza LLVM y GCC como backends de compilación para compilar código C++, optimizarlo y transformarlo para que se ejecute dentro de AVM2 ( ActionScript Virtual Machine 2 ). Los programas creados con CrossBridge son hasta 10 veces más rápidos que el código ActionScript normal, [ 4 ] [ 5 ] [ 6 ] pero entre 2 y 10 veces más lentos que el código C++ nativo. [ 11 ]
CrossBridge puede generar películas de Flash Player ( archivos .swf ) o bibliotecas de Flash ( archivos .swc ), que luego pueden ser utilizadas por proyectos más grandes escritos en ActionScript 3 y compilados con el SDK gratuito Apache Flex (anteriormente Adobe Flex SDK). CrossBridge también utiliza la aceleración de renderizado 3D basada en GPU presente en Flash Player 11 (conocida como Stage3D ). [ 12 ]
Utilizando CrossBridge, Adobe portó OpenGL para su uso dentro de Flash Player Stage3D y lo lanzó como un proyecto de código abierto en 2012. [ 13 ] El lenguaje de programación Lua (versión 5.1) también se portó para ejecutarse en Flash Player usando CrossBridge y se lanzó en Google Code. [ 14 ] Los proyectos compilados con CrossBridge también permitieron ejecutar el procesamiento de señales digitales del lado del cliente en tiempo real, [ 15 ] incluyendo la transformada rápida de Fourier y la transformada wavelet de sombrero mexicano .
Historia
In 2008, CrossBridge was released by Adobe as "Project Alchemy", on the Adobe Labs website. It enabled compilation of specially modified C++ projects to SWF, using the LLVM and GCC compilers.[7]
In 2012, in an attempt to monetize Flash Player, Adobe restricted use of the Stage3D and Domain Memory features of Flash Player under the "Premium Features" brand. The "Premium Features" were licensed for use and publishers were to pay royalties to Adobe for use of the same.[16] Project Alchemy was commercially released as the Flash Runtime C++ Compiler.[9]
In 2013, Adobe open-sourced the Flash Runtime C++ Compiler as CrossBridge, and released it on the GitHub code hosting website.[17] The "Premium Features" were also made free for use, and no longer required licensing or royalties.[18]
See also
- asm.js
- Emscripten
- Google Native Client (NaCl)
- WebAssembly – an in-development bytecode for browsers
References
- ↑CrossBridge by Adobe, at GitHub
- ↑"Alchemy:FAQ". Archived from the original on May 5, 2012. Retrieved May 5, 2012., Adobe Labs, "ASC performs few optimizations at this time"
- ↑Zotov, Peter (2012-05-06). "Reaching the Limits of Adobe Stupidity – whitespace". Whitequark.org. Archived from the original on 2012-10-15. Retrieved 2012-10-27.
- 12Alchemy:FAQArchived May 5, 2012, at the Wayback Machine, Adobe Labs
- 12Optimizing ActionScript Bytecode using LLVM, Adobe
- 12Adobe Alchemy, is it ActionScript heresy?Archived 2012-08-19 at the Wayback Machine, Unit Zero One
- 12Alchemy Released on Labs, Adobe Blogs, November 17, 2008
- ↑Alchemy Updates Released on Labs, Adobe Blogs, December 11, 2008
- 12Project “Alchemy” is now the Flash Runtime C++ Compiler (FlasCC), Adobe Blogs, October 8, 2012
- ↑FlasCC for Flash Player, Adobe Gaming Archived May 25, 2013, at the Wayback Machine
- ↑AlchemyArchived 2020-10-04 at the Wayback Machine, Adobe Labs
- ↑XC APIs, Adobe Gaming Archived April 25, 2013, at the Wayback Machine
- ↑OpenGL for Stage3D, GitHub project hosting
- ↑lua-alchemy, Port of the Lua programming language for ActionScript using Alchemy, Google Code
- ↑Real-time pitch detection in AVM2, Temptonik, January 2015
- ↑Premium Features for Flash PlayerArchived 2014-07-19 at the Wayback Machine, Adobe Flash Team Blog, Adobe
- ↑Open Source Flash C++ Compiler, CrossBridgeArchived 2014-03-25 at the Wayback Machine, Adobe Blogs, June 25, 2013
- ↑Adobe Premium Features for Flash Player, Adobe Devnet
External links
- Official website
- Adobe Flash C++ Compiler (FlasCC) from Adobe devnet
- adobe-flash / crossbridge on GitHub
- CrossBridge on SourceForge
- vpmedia / crossbridge on GitHub
- CrossBridge-Community on SourceForge
- Adobe Flash
- Adobe software
- Cross-compilers
- Free software programmed in C++