SWF ( / ˈ s w ɪ f / ) [6] es un formato de archivo desaparecido de Adobe Flash que se utilizaba para multimedia , gráficos vectoriales y ActionScript . [7]
Originados con el software FutureWave , luego transferidos a Macromedia y luego bajo el control de Adobe , los archivos SWF pueden contener animaciones o subprogramas de diversos grados de interactividad y función. También pueden ocurrir en programas, comúnmente juegos de navegador , que utilizan ActionScript .
Los programadores pueden generar archivos SWF desde varios productos de Adobe, incluidos Flash , Flash Builder (un IDE ), Adobe Animate (un cambio de nombre de Adobe Flash desde 2016) y After Effects , así como a través de MXMLC, un compilador de aplicaciones de línea de comandos que forma parte del Flex SDK disponible gratuitamente . Aunque Adobe Illustrator puede generar archivos en formato SWF a través de su función de "exportación", no puede abrirlos ni editarlos. Además de utilizar productos de Adobe, se pueden crear archivos SWF con el compilador Motion-Twin ActionScript 2 (MTASC) de código abierto , la biblioteca Ming de código abierto y el paquete de software gratuito SWFTools . Varios otros programas de terceros también pueden producir archivos en este formato, como Multimedia Fusion 2 , Captivate y SWiSH Max .
El término "SWF" se originó como una abreviatura de ShockWave Flash . [8] Este uso se cambió al backronym Small Web Format para eliminar la confusión con una tecnología diferente, Shockwave , de la que derivó SWF. [9] [10] No existe una resolución oficial para el acrónimo "SWF" de Adobe. [11]
Adobe declaró el fin de vida de su reproductor Flash el 31 de diciembre de 2020. El 12 de enero de 2021, lanzó una actualización de su reproductor Flash que bloqueó la ejecución de todo el contenido Flash. [12]
La pequeña empresa FutureWave Software definió originalmente el formato de archivo con un objetivo principal: crear archivos pequeños para mostrar animaciones entretenidas. [13] La idea implicaba un formato en el que el software de reproducción pudiera ejecutarse en cualquier sistema y funcionara con conexiones de red más lentas. FutureWave lanzó FutureSplash Animator en mayo de 1996. En diciembre de 1996, Macromedia adquirió FutureWave y FutureSplash Animator se convirtió en Macromedia Flash 1.0.
El nombre original de SWF surgió del deseo de Macromedia de sacar provecho de la conocida marca Macromedia Shockwave ; Macromedia Director produjo archivos Shockwave para el usuario final, por lo que los archivos creados por su nuevo producto Flash intentaron sacar provecho de la marca ya establecida. A medida que Flash se hizo más popular que el propio Shockwave, esta decisión de marca se convirtió en una responsabilidad mayor, por lo que el formato comenzó a denominarse simplemente SWF. [8]
Adobe adquirió Macromedia en 2005. [14]
El 1 de mayo de 2008, Adobe eliminó sus restricciones de licencia sobre las especificaciones del formato SWF, como parte del Open Screen Project . Sin embargo, Rob Savoye , miembro del equipo de desarrollo de Gnash , ha señalado algunas partes del formato Flash que permanecen cerradas. [15] El 1 de julio de 2008, Adobe lanzó un código para Google y Yahoo, lo que permitió a sus motores de búsqueda rastrear e indexar archivos SWF. [dieciséis]
La principal primitiva gráfica en SWF es la ruta, que es una cadena de segmentos de tipos primitivos, que van desde líneas hasta splines o curvas bezier . A partir de estos se pueden crear primitivas adicionales como rectángulos, elipses e incluso texto. Los elementos gráficos en SWF son, por tanto, bastante similares a SVG y MPEG-4 BIFS . SWF también utiliza listas de visualización y permite nombrar y reutilizar componentes previamente definidos. [17]
El formato de flujo binario que utiliza SWF es bastante similar a los átomos de QuickTime , con una etiqueta, longitud y carga útil, una organización que hace que sea muy fácil para los reproductores (más antiguos) omitir contenidos que no admiten. [17]
Originalmente limitado a presentar objetos e imágenes basados en vectores de forma secuencial simple, el formato en sus versiones posteriores permite audio (desde Flash 3) y video (desde Flash 6).
Adobe introdujo una nueva API 3D de bajo nivel en la versión 11 de Flash Player. Inicialmente con el nombre en código Molehill, el nombre oficial dado a esta API fue finalmente Stage3D . Estaba destinado a ser un equivalente de OpenGL o Direct3D . [18] : 9 En Stage3D, los sombreadores se expresan en un lenguaje de bajo nivel llamado Adobe Graphics Assembly Language (AGAL). [18] : 57 [19]
Adobe pone a disposición complementos , como Adobe Flash Player y Adobe Integrated Runtime , para reproducir archivos SWF en navegadores web en muchos sistemas operativos de escritorio, incluidos Microsoft Windows , Mac OS X y Linux en la arquitectura x86 y la arquitectura ARM ( solo ChromeOS ).
GNU ha comenzado a desarrollar un reproductor SWF de software gratuito llamado Gnash bajo la Licencia Pública General GNU (GPL). A pesar de ser un proyecto GNU declarado de alta prioridad, la financiación para Gnash fue bastante limitada. [20] Otro jugador es Swfdec , con licencia LGPL . Lightspark es una continuación de Gnash que admite versiones SWF más recientes. [20]
Adobe ha incorporado la reproducción y creación de SWF en otros productos y tecnologías suyas, incluido Adobe Shockwave , que genera documentos más complejos. [17] SWF también se puede incrustar en archivos PDF ; estos se pueden ver con Adobe Reader 9 o posterior. [21] InDesign CS6 también puede producir algunas formas limitadas de animaciones SWF directamente. [22]
Las consolas Sony PlayStation Portable pueden reproducir archivos SWF limitados en el navegador web de Sony, comenzando con la versión de firmware 2.71. Tanto la consola Nintendo Wii [23] como la Sony PS3 [24] pueden ejecutar archivos SWF a través de sus navegadores de Internet.
Scaleform GFx es un reproductor SWF alternativo comercial que presenta aceleración de hardware completa utilizando la GPU y tiene una alta conformidad hasta Flash 8 y AS2. Scaleform GFx tiene licencia como solución de middleware de juegos y se utiliza en muchos juegos 3D de PC y consolas para interfaces de usuario, HUD , minijuegos y reproducción de vídeo. [ cita necesaria ]
Las funciones 3D más nuevas de SWF se han visto como una alternativa a WebGL , con un auge de motores 3D como Papervision3D , [25] [26] [27] Away3D , [25] [28] [29] Sandy 3D, [25] [30] y Alternativa 3D dirigida a 3D SWF. [31] Aunque algunos de estos proyectos comenzaron alrededor de 2005, hasta Flash Player 10 no tenían soporte para la aceleración de GPU , e incluso en esa versión de Flash Player, se podían usar sombreadores para los mismos materiales, pero la información de los vértices aún tenía que ser procesado en la CPU (usando árboles BSP , etc.) [31] Después de que la versión 11 de Flash Player agregó la nueva API de bajo nivel Stage3D, algunos, pero no todos, estos proyectos migraron a la nueva API. Uno que sí migró fue Away3D, versión 4. [32]
Según un estudio independiente realizado por Millward Brown y publicado por Adobe, en 2010, más del 99% de los navegadores web de escritorio en los "mercados maduros" (definidos como Estados Unidos, Canadá, Reino Unido, Francia, Alemania, Japón, Australia y Nueva Zelanda) tenían instalado un complemento SWF, y alrededor del 90% tenía la última versión de Flash Player. [33]
Debido a la creciente popularidad de HTML5 para juegos y animaciones, así como a los numerosos agujeros de seguridad que habían afectado al reproductor SWF de Adobe, Adobe declaró el fin de vida útil de su reproductor Flash el 31 de diciembre de 2020. El 12 de enero de 2021, impulsó una actualización de su Reproductor Flash que bloqueó la ejecución de todo el contenido Flash.
Adobe pone a disposición una especificación parcial de SWF, [34] actualizada por última vez en enero de 2013 para reflejar los cambios en la versión 19 de SWF. [35] Las versiones de SWF se han desacoplado de las versiones de Flash Player después de Flash 10. Posteriormente, el número de versión de SWF progresó. rápidamente; La versión 19 de SWF corresponde a las nuevas funciones agregadas en Flash Player 11.6. [36] Flash Player 14 utiliza SWF versión 25. [37]
En 2008, el documento de especificaciones fue criticado por Rob Savoye , el desarrollador principal del proyecto Gnash , por faltar "enormes cantidades" de información necesaria para implementar completamente SWF, omitiendo especificaciones para RTMP y Sorenson Spark . [15] La especificación RTMP [38] se publicó públicamente en junio de 2009. [ cita necesaria ] El códec Sorenson Spark no es propiedad de Adobe.
Hasta el 1 de mayo de 2008, la licencia de la especificación no permitía la implementación de software que reprodujera SWF. [39] En esa fecha, como parte de su Proyecto de Pantalla Abierta, Adobe eliminó todas esas restricciones en los formatos SWF y FLV . [40]
Siempre se ha permitido la implementación de software que crea archivos SWF, con la condición de que los archivos resultantes se muestren "libres de errores en la última versión disponible públicamente de Adobe Flash Player". [41]
Otros formatos relacionados con la creación de SWF en la cadena de herramientas de Adobe siguen sin una especificación pública. Un ejemplo es FLA, que es la versión editable de SWF utilizada por Flash de Adobe, pero no por otras herramientas de Adobe que también pueden generar SWF, aunque con menos funciones. [42]
No puede utilizar la Especificación de ninguna manera para crear o desarrollar un tiempo de ejecución, cliente, reproductor, ejecutable u otro programa que lea o represente archivos SWF.