Articulo de referencia

Puente transversal

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 A...

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

En 2008, Adobe lanzó CrossBridge como "Project Alchemy" en el sitio web de Adobe Labs . Permitía la compilación de proyectos C++ especialmente modificados a SWF, utilizando los compiladores LLVM y GCC. [ 7 ]

En 2012, en un intento por monetizar Flash Player, Adobe restringió el uso de las funciones Stage3D y Domain Memory de Flash Player bajo la marca "Premium Features". Las "Premium Features" se licenciaban para su uso y los editores debían pagar regalías a Adobe por su utilización. [ 16 ] Project Alchemy se lanzó comercialmente como el compilador Flash Runtime C++. [ 9 ]

En 2013, Adobe liberó el código fuente del compilador Flash Runtime C++ como CrossBridge y lo publicó en el sitio web de alojamiento de código GitHub . [ 17 ] Las "Funciones Premium" también se hicieron de uso gratuito y ya no requerían licencia ni regalías. [ 18 ]

Véase también

Referencias

  1. CrossBridge de Adobe , en GitHub
  2. "Alquimia: Preguntas frecuentes" . Archivado del original el 5 de mayo de 2012. Consultado el 5 de mayo de 2012 .Adobe Labs afirma: "ASC realiza pocas optimizaciones en este momento".
  3. Zotov, Peter (6 de mayo de 2012). "Alcanzando los límites de la estupidez de Adobe: el espacio en blanco" . Whitequark.org. Archivado del original el 15 de octubre de 2012. Recuperado el 27 de octubre de 2012 .
  4. 1 2 Alquimia: Preguntas frecuentes Archivado el 5 de mayo de 2012 en Wayback Machine , Adobe Labs
  5. 1 2 Optimización del código de bytes de ActionScript mediante LLVM , Adobe
  6. 1 2 Adobe Alchemy, ¿es una herejía de ActionScript? Archivado el 19/08/2012 en Wayback Machine , Unidad Cero Uno
  7. 1 2 Alchemy lanzado en Labs , Blogs de Adobe, 17 de noviembre de 2008
  8. Actualizaciones de Alchemy publicadas en Labs , Blogs de Adobe, 11 de diciembre de 2008
  9. 1 2 El proyecto “Alchemy” ahora es el compilador Flash Runtime C++ (FlasCC) , Adobe Blogs, 8 de octubre de 2012
  10. FlasCC para Flash Player , Adobe Gaming. Archivado el 25 de mayo de 2013 en Wayback Machine .
  11. Alquimia archivada el 4 de octubre de 2020 en Wayback Machine , Adobe Labs
  12. API de XC , Adobe Gaming. Archivado el 25 de abril de 2013 en Wayback Machine .
  13. OpenGL para Stage3D , alojamiento de proyectos en GitHub
  14. lua-alchemy , Adaptación del lenguaje de programación Lua para ActionScript usando Alchemy, Google Code
  15. Detección de tono en tiempo real en AVM2 , Temptonik, enero de 2015
  16. Funciones Premium para Flash Player Archivado el 19/07/2014 en Wayback Machine , Blog del equipo de Adobe Flash, Adobe
  17. Compilador Flash C++ de código abierto, CrossBridge Archivado el 25/03/2014 en Wayback Machine , Blogs de Adobe, 25 de junio de 2013
  18. Funciones premium de Adobe para Flash Player , Adobe Devnet
  • Sitio web oficial
  • Compilador de Adobe Flash C++ (FlasCC) de Adobe DevNet
  • Adobe Flash / Crossbridge en GitHub
  • CrossBridge en SourceForge
  • vpmedia / crossbridge en GitHub
  • Comunidad CrossBridge en SourceForge