SWF ( / ˈ s w ɪ f / ) [6] es un formato de archivo obsoleto de Adobe Flash que se usaba para multimedia , gráficos vectoriales y ActionScript . [7]
Los archivos SWF, que se originaron con FutureWave Software , luego se transfirieron a Macromedia y luego pasaron a estar bajo el control de Adobe , pueden contener animaciones o subprogramas con distintos grados de interactividad y función. También pueden aparecer en programas, normalmente 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 nuevo 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 SDK Flex disponible de forma gratuita . 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 Motion-Twin ActionScript 2 Compiler (MTASC) de código abierto , la biblioteca Ming de código abierto y la suite de software libre 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 acrónimo Small Web Format para eliminar la confusión con una tecnología diferente, Shockwave , de la que se derivó SWF. [9] [10] No existe una resolución oficial para las siglas "SWF" por parte de Adobe. [11]
Adobe declaró el fin de su reproductor Flash el 31 de diciembre de 2020. El 12 de enero de 2021, lanzó una actualización a 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 que el software de reproducción pudiera ejecutar en cualquier sistema y que 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 producía 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 un problema, por lo que el formato comenzó a denominarse simplemente SWF. [8]
Adobe adquirió Macromedia en 2005. [14]
El 1 de mayo de 2008, Adobe abandonó sus restricciones de licencia sobre las especificaciones del formato SWF, como parte del Proyecto Open Screen . Sin embargo, Rob Savoye , miembro del equipo de desarrollo de Gnash , ha señalado algunas partes del formato Flash que siguen cerradas. [15] El 1 de julio de 2008, Adobe publicó un código para Google y Yahoo, que permitía a sus motores de búsqueda rastrear e indexar archivos SWF. [16]
El elemento gráfico principal en SWF es la ruta, que es una cadena de segmentos de tipos primitivos, que van desde líneas hasta splines o curvas de Bézier . A partir de estos elementos se pueden construir elementos gráficos adicionales como rectángulos, elipses e incluso texto. Los elementos gráficos en SWF son, por lo tanto, bastante similares a SVG y MPEG-4 BIFS . SWF también utiliza listas de visualización y permite nombrar y reutilizar componentes definidos previamente. [17]
El formato de flujo binario que utiliza SWF es bastante similar a los átomos de QuickTime , con una etiqueta, una longitud y una 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 una manera 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 denominada Molehill, el nombre oficial que se le dio a esta API fue Stage3D . Su intención era 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 de SWF de software libre 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 reproductor es Swfdec con licencia LGPL . Lightspark es una continuación de Gnash que admite versiones de SWF más recientes. [20]
Adobe ha incorporado la reproducción y creación de archivos SWF en otros productos y tecnologías, incluido Adobe Shockwave , que reproduce documentos más complejos. [17] Los archivos SWF también se pueden incrustar en archivos PDF ; estos se pueden visualizar con Adobe Reader 9 o posterior. [21] InDesign CS6 también puede producir algunas formas limitadas de animaciones SWF directamente. [22]
Las consolas portátiles Sony PlayStation pueden reproducir archivos SWF limitados en el navegador web de Sony, a partir de la versión de firmware 2.71. Tanto las consolas Nintendo Wii [23] como las Sony PS3 [24] pueden ejecutar archivos SWF a través de sus navegadores de Internet.
Scaleform GFx es un reproductor de SWF comercial alternativo que ofrece aceleración de hardware completa mediante la GPU y es compatible con Flash 8 y AS2. Scaleform GFx tiene licencia como solución de middleware para juegos y se utiliza en muchos juegos 3D para PC y consolas para interfaces de usuario, HUD , minijuegos y reproducción de video. [ cita requerida ]
Las nuevas características 3D de SWF se han visto como una alternativa a WebGL , con un aumento de motores 3D como Papervision3D , [25] [26] [27] Away3D , [25] [28] [29] Sandy 3D, [25] [30] y Alternativa 3D que apuntan a SWF 3D. [31] Aunque algunos de estos proyectos comenzaron alrededor de 2005, hasta Flash Player 10 sin embargo no tenían soporte de aceleración de GPU , e incluso en esa versión de Flash Player, los shaders podían usarse para los mismos materiales, pero la información de vértices todavía tenía que procesarse 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 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 un complemento SWF instalado, 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 su reproductor Flash el 31 de diciembre de 2020. El 12 de enero de 2021, lanzó una actualización a su reproductor Flash que bloqueaba la ejecución de todo el contenido Flash.
Adobe pone a disposición una especificación parcial de SWF, [34] actualizada más recientemente en enero de 2013 para reflejar los cambios en la versión 19 de SWF. [35] Las versiones de SWF se han desvinculado 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 características agregadas en Flash Player 11.6. [36] Flash Player 14 utiliza la versión 25 de SWF. [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 las especificaciones para RTMP y Sorenson Spark . [15] La especificación RTMP [38] se publicó en junio de 2009. [ cita requerida ] 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 Open Screen, Adobe eliminó todas esas restricciones sobre 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 reproduzcan "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 que utiliza Flash de Adobe, pero no 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 entorno de ejecución, cliente, reproductor, ejecutable u otro programa que lea o represente archivos SWF.