Instrucciones Para La Preparación De Ponencias Para Informática
Total Page:16
File Type:pdf, Size:1020Kb
CAZABE: HERRAMIENTA DE AUTOR LIBRE PARA FLASH CAZABE: FREE AUTHORING TOOL FOR FLASH Darien Alonso Camacho Joven Club de Computación y Electrónica, Cuba, [email protected], Colón #222A Sagua la Grande, Villa Clara RESUMEN Cazabe could be useful to designers, cartoons El presente documento refleja un estudio makers and software developers. It might avoid realizado acerca de las opciones para la creación paying for licence of proprietary software. de animaciones y software multimedia usando tecnología flash sobre plataformas GNU/Linux. KeyWords: Flash, free software, linux, open Dada la ausencia de un entorno de desarrollo source integrado para flash en este sistema operativo, se comenzó un proyecto práctico e investigativo que permita suplir esta carencia. Se concibió un 1. INTRODUCCIÓN desarrollo colaborativo, de software libre y código Cuando en el año 2009 fueron creados los abierto, con resultados satisfactorios en la Grupos de Desarrollo de Software en los Joven implementación de la herramienta debido a que Club de Computación y Electrónica (JCCE) de se obtuvo una versión preliminar pero funcional de Cuba, se informó por parte de la dirección que el la misma. perfil de trabajo de los mismos sería el desarrollo Cazabe puede ser útil para diseñadores, de software multimedia y juegos. La plataforma animadores y desarrolladores de software en flash es ampliamente usada en entornos Microsoft general y además evitará el pago de licencias de Windows para la creación de este tipo de programas propietarios de este tipo. programas, sin embargo, al intentar usar únicamente software de código abierto para este Palabras Clave: Flash, software libre, linux, propósito, se llegó a la conclusión de que no código abierto existe una herramienta, distribuida bajo alguna licencia de software libre, que sea lo suficientemente usable para cumplir en tiempo ABSTRACT con un proyecto de envergadura. El proyecto This paper outlines a research about the op Cazabe tiene como objetivo lograr un entorno de tions for animations and multimedia software cre desarrollo integrado que permita editar gráficos ation using flash technologies on GNU/Linux plat vectoriales y código ActionScript en un mismo forms. Because there is not an integrated devel ambiente y contribuir a la migración hacia opment environment (IDE) for flash on this oper software libre en Cuba y el resto del mundo. ating system, a practical and theoretical project was started to provide it. The purpose is a collab 2. METODOLOGÍA orative development of free and open source soft ware, encountering good results with this ap A continuación se describen algunas proach because nowadays exist an immature but tecnologías y herramientas libres para el functional first version. desarrollo flash sobre GNU/Linux así como algunos proyectos anteriores con metas similares “Informática 2011”. 1 Alonso, Darien. | “CAZABE: HERRAMIENTA DE AUTOR LIBRE PARA FLASH ” a las de Cazabe. Se explican los principales retos Para el desarrollo de aplicaciones de escritorio de implementación y las soluciones brindadas. sobre GNU/Linux, como es este caso, existen varias opciones. En este epígrafe se detallan algunas de las posibilidades y se justifica la 2.1 Estado del arte elección final. Con un estudio acerca de la tecnología flash se pudo constatar que el formato SWF es público y 2.2.1 Lenguajes de programación está bien documentado [1], aunque Adobe controla las modificaciones que se le realizan al Java mismo; por lo tanto crear o usar software que lea Java es un lenguaje de programación o escriba el formato SWF no constituye un delito. completamente orientado a objetos desarrollado En entornos GNU/Linux existen varios por Sun Microsystems a principios de los años 90. reproductores capaces de leer el formato SWF, El lenguaje toma mucha de su sintaxis de C y como gnash C++, pero tiene un modelo de objetos más simple (http://www.gnu.org/software/gnash/) y swfdec y elimina herramientas de bajo nivel, que suelen (http://swfdec.freedesktop.org/), hasta el momento inducir a muchos errores, como la manipulación soportan solamente ActionScript 2.0 y algunas directa de punteros o memoria. características de ActionScript 3.0. Java es un lenguaje multiplataforma, aunque Existe, además, un amplio grupo de proyectos esta portabilidad depende, en gran medida, de la libres relacionados con la tecnología flash que se máquina virtual, es decir, sin la máquina virtual de encuentran hospedados en www.osflash.org, Java instalada tal portabilidad no existe. muchos pensados para propósitos específicos. Permite usar las mismas funcionalidades de En el transcurso del tiempo ha habido intentos escritorio para hacer programas basados en de lograr un clon de Macromedia/Adobe Flash "WEB". Presenta una arquitectura estándar de (Flash) para Linux. QFlash fue uno de ellos, desarrollo orientado a Internet, más que un lográndolo principalmente en la parte de la lenguaje, es toda una plataforma. interfaz gráfica, que es muy parecida, pero aún No tiene punteros y no es necesario destruir así carece de muchas funcionalidades [2]. Por otro los objetos, el sistema posee un recolector lado, F4L [3] fue una aplicación informática que se automático de basura, de forma tal que el desarrolló como alternativa a Flash para programador determina cuándo se crean los GNU/Linux, sin embargo esta no fue muy objetos y el entorno en tiempo de ejecución de difundida. Más tarde QFlash se unió con F4L para Java (JRE) es el responsable de gestionar el ciclo crear un proyecto conjunto llamado UIRA que dejó de vida de los objetos. Las aplicaciones Java de funcionar a mediados de 2007 [4]. están típicamente compiladas en un bytecode, El caso de Ktoon es otro, el objetivo no es aunque la compilación en código máquina nativo realizar un clon de Flash. Ktoon es una también es posible. En tiempo de ejecución, el herramienta de diseño y creación de animaciones rendimiento de una aplicación Java depende más 2D que no persigue ser el reemplazo de Adobe de la eficiencia del compilador, o la JVM, que de Flash en Linux ni brindar la posibilidad de crear las propiedades intrínsecas del lenguaje. El aplicaciones interactivas, está centrado solamente bytecode de Java puede ser interpretado en en la animación [5]. tiempo de ejecución por la máquina virtual, o bien En cuanto a los compiladores de ActionScript, compilado al cargarse el programa, o durante la utilidad indispensable si se desean aplicaciones en propia ejecución, para generar código nativo que flash, sobresalen dos: mtasc y haXe. HaXe es se ejecuta directamente sobre el hardware. Si es capaz de compilar ActionScript 2.0 y 3.0 [6] interpretado, será más lento que usando el código mientras que mtasc solo ActionScript 2.0 [7]. máquina intrínseco de la plataforma destino. Si es compilado, durante la carga inicial o la ejecución, la penalización está en el tiempo necesario para 2.2 Herramientas de desarrollo propuestas llevar a cabo la compilación. El uso de un recolector de basura, añade una sobrecarga que “Informática 2011”. 2 Alonso, Darien. | “CAZABE: HERRAMIENTA DE AUTOR LIBRE PARA FLASH ” puede afectar al rendimiento, o ser apenas apreciable, dependiendo de la tecnología del Python recolector y de la aplicación en concreto. Python es un lenguaje de programación Entre noviembre de 2006 y mayo de 2007, Sun interpretado, creado por Guido Van Rossum a Microsystems liberó la mayor parte de sus principios de los años 90. Se desarrolla como un tecnologías Java bajo la licencia GNU GPL, de proyecto de código abierto, administrado por la acuerdo con las especificaciones del Java Python Software Foundation. Community Process, de tal forma que Es un lenguaje de propósito general, aunque prácticamente todo el Java de Sun es ahora está limitado en el alcance de lo que puede software libre aunque la biblioteca de clases de acceder sobre el sistema; no es adecuado para la Sun que se requiere para ejecutar los programas programación de bajo nivel. Java todavía no es software libre [8]. Python es un lenguaje multiparadigma, permite varios estilos: programación orientada a objetos, C++ programación estructurada y programación C++ es un lenguaje de programación diseñado funcional. Posee una sintaxis sencilla, su tipado es a mediados de los años 1980 por Bjarne dinámico y soporta herencia múltiple. Stroustrup [9]. La intención de su creación fue el El intérprete de Python está disponible en extender al exitoso lenguaje de programación C multitud de plataformas (UNIX, Solaris, Linux, con mecanismos que permitan la manipulación de DOS, Windows, OS/2, Mac OS, etc.), de esta objetos. Su éxito entre los programadores forma los programas escritos sin usar bibliotecas profesionales le ha llevado a ocupar el primer dependientes de una plataforma específica podrán puesto entre las herramientas de desarrollo de correr en todos estos sistemas sin grandes aplicaciones. cambios [10]. C/C++ es multipropósito, diseñado para El hecho de ser interpretado hace que ahorre desarrollar los más diversos tipos de aplicaciones. un tiempo considerable en el desarrollo del Se le conoce como un lenguaje híbrido, dicha programa, pues no es necesario compilar ni denominación proviene de que soporta los enlazar. El intérprete se puede utilizar en modo paradigmas de programación estructurada, la interactivo, lo que facilita experimentar con programación genérica y la programación características del lenguaje, escribir programas orientada a objetos. desechables o probar funciones durante el Su portabilidad es excelente; una gran cantidad desarrollo del