Hollywood es un lenguaje de programación distribuido comercialmente desarrollado por Andreas Falkenhahn (Airsoft Softwair) que se centra principalmente en la creación de aplicaciones orientadas a multimedia. Hollywood está disponible para AmigaOS , MorphOS , WarpOS , AROS , Windows , macOS , Linux , Android e iOS . Hollywood tiene un compilador cruzado incorporado que puede guardar automáticamente ejecutables para todas las plataformas compatibles con el software. Los ejecutables generados son completamente independientes y no tienen dependencias externas, por lo que también se pueden iniciar desde una unidad flash USB . Un complemento opcional también permite a los usuarios compilar proyectos en archivos APK . [2]
Hollywood Designer es un complemento para Hollywood con el que es posible utilizar Hollywood también como software de presentaciones y como sistema de creación .
Hollywood tiene sus raíces en la computadora Amiga . Inspirado por los lenguajes de programación de Amiga como AMOS , Blitz BASIC y Amiga E , el autor de Hollywood, Andreas Falkenhahn, comenzó el desarrollo de Hollywood en la primavera de 2002 después de terminar sus estudios de nivel A. [3] La versión 1.0 del software se lanzó en noviembre de 2002, pero solo para sistemas Amiga basados en 68000. Un mes después, siguió una versión nativa para MorphOS basado en PowerPC . [4] El soporte para WarpOS se introdujo con Hollywood 1.9, que apareció en la primavera de 2004 junto con el primer lanzamiento de Hollywood Designer, una herramienta que se puede usar para crear presentaciones con Hollywood. AmigaOS 4 es compatible desde marzo de 2005. A partir de la versión 2.0 (lanzada en enero de 2006), Hollywood usa el lenguaje de programación Lua como su máquina virtual , pero con modificaciones significativas en la sintaxis y la funcionalidad. [5] A partir de la versión 3.0 (enero de 2008), Hollywood por primera vez también se ejecuta en dos sistemas operativos no inspirados en Amiga: Microsoft Windows y macOS. Desde la versión 4.5 (enero de 2010) Hollywood también está disponible con un entorno de desarrollo integrado en Windows. Desde la versión 4.8 (abril de 2011) Hollywood también puede compilar ejecutables para Linux . Hollywood 5.0 se lanzó en febrero de 2012 e introduce soporte para reproducción de video y formatos de imágenes vectoriales como SVG. A partir de la versión 5.2 Hollywood también es compatible con Android. Hollywood 6.0 se lanzó en febrero de 2015 e introduce soporte para programación OpenGL a través de un complemento dedicado, así como soporte para Raspberry Pi . Hollywood 7.0 se lanzó en marzo de 2017 e introduce soporte Unicode y soporte para arquitecturas de 64 bits . [6]
El lenguaje Hollywood se centra en la facilidad de uso y la independencia de la plataforma. Fue diseñado principalmente para la creación de juegos y aplicaciones multimedia . El conjunto de lenguajes comprende aproximadamente 900 comandos diferentes de los siguientes campos de aplicación: gráficos 2D, sonido, operaciones del sistema de archivos, salida de texto, animaciones, sprites , capas, efectos de transición, manipulación de imágenes, guardado de imágenes y archivos de vídeo , funciones de fecha y hora, funciones de entrada (teclado, joystick, ratón), así como operaciones matemáticas y funciones de cadena. La programación en Hollywood se realiza a través de los llamados scripts de Hollywood (que utilizan la extensión de archivo *.hws). Estos scripts se compilan de forma dinámica y se pueden convertir en ejecutables independientes. Todos los programas de Hollywood se ejecutan dentro de una caja de arena , lo que hace que sea imposible que se bloqueen. [7]
Hollywood fue diseñado para ser un lenguaje de programación completamente independiente de la plataforma. Por lo tanto, los scripts no pueden llamar directamente a ninguna función API del sistema operativo anfitrión y están limitados al conjunto de comandos incorporado. La representación de texto también se implementa a través de un backend de fuentes independiente de la plataforma que garantiza que el texto TrueType se vea exactamente igual en todas las plataformas. Además, todas las versiones de Hollywood admiten formatos de archivo específicos de Amiga, como imágenes IFF ILBM , sonidos IFF 8SVX o archivos IFF ANIM , para ser totalmente compatible con scripts escritos en un sistema Amiga. [8]
Hay varios kits de herramientas GUI para Hollywood. RapaGUI es un complemento GUI multiplataforma para Hollywood que admite Windows, macOS, Linux y AmigaOS. RapaGUI utiliza controles GUI nativos proporcionados por el sistema operativo host respectivo, lo que le da a todas las aplicaciones RapaGUI una apariencia nativa. MUI Royale es un kit de herramientas GUI para Hollywood que se puede usar para crear GUI utilizando Magic User Interface . Otro kit de herramientas GUI para Hollywood es HGui. [9] A diferencia de RapaGUI y MUI Royale, HGui dibuja sus propios controles GUI, lo que hace que sus interfaces gráficas de usuario se vean exactamente iguales en todas las plataformas.
Una característica especial del compilador multiplataforma que viene con Hollywood es la capacidad de vincular todos los archivos externos (incluidas las fuentes) al ejecutable para que se cree automáticamente. Esto hace posible crear programas que constan de un solo archivo y, por lo tanto, se pueden transportar y distribuir fácilmente. Además, el compilador de Hollywood puede compilar scripts en applets de Hollywood (utilizando la extensión de archivo *.hwa). Estos applets son más pequeños que los programas de Hollywood normales, pero solo se pueden iniciar en sistemas que tengan Hollywood instalado. Finalmente, también es posible exportar scripts de Hollywood como videos AVI . [10]
No existe un entorno de desarrollo integrado para la versión de Hollywood compatible con Amiga. En estos sistemas, se puede utilizar Cubic IDE y Codebench para desarrollar con Hollywood, ya que estos tienen soporte para el lenguaje Hollywood a través de complementos. [11] [12] En Windows, Hollywood viene con un entorno de desarrollo integrado que se puede utilizar para crear scripts de Hollywood. Las versiones de Hollywood para macOS y Linux tampoco vienen con un IDE y se pueden controlar desde la consola o bien integrar en otros IDE.
Un programa de Hola Mundo en Hollywood podría lucir así:
Imprimir("¡Hola mundo!") EsperarRatónIzquierdo Fin
El código anterior abre una nueva ventana en el escritorio, imprime el texto "Hola mundo" en letras blancas y espera a que se presione el botón izquierdo del ratón antes de salir. La apertura de la ventana la realiza Hollywood automáticamente. A menos que se solicite lo contrario, Hollywood abrirá automáticamente una nueva ventana con una resolución de 640x480 para cada script.
Hollywood Designer es un complemento para Hollywood que permite crear presentaciones y sistemas de quiosco con Hollywood. El software utiliza una interfaz compatible con WYSIWYG basada en diapositivas. Los usuarios pueden crear tantas diapositivas como deseen y llenarlas con textos, gráficos y sonido. Hollywood Designer ejecutará las diapositivas una tras otra o en un orden predefinido. Hay disponibles varios efectos de transición. Además, es posible crear aplicaciones que requieran la interacción del usuario, como sistemas de quiosco. [13] [14]
Todos los proyectos creados en Hollywood Designer se muestran utilizando Hollywood y, por lo tanto, también se pueden compilar en archivos ejecutables o de video independientes . Los usuarios avanzados también pueden incrustar código personalizado dentro de sus proyectos. A través del código personalizado es posible acceder al conjunto completo de comandos de Hollywood. [15]
Técnicamente hablando, Hollywood Designer no hace nada más que generar automáticamente scripts para Hollywood de acuerdo con el diseño definido por el usuario en la GUI . [16] El proceso de generar scripts y ejecutarlos usando Hollywood está completamente oculto para el usuario, por lo que no se requieren habilidades de programación para usar Hollywood Designer. [17] Sin embargo, debido a que Hollywood Designer simplemente genera scripts para Hollywood, esto último es un requisito obligatorio para Hollywood Designer.
La primera versión de Hollywood Designer se lanzó en abril de 2004. [18] Actualmente, el software solo está disponible para sistemas operativos compatibles con Amiga. Sin embargo, gracias al compilador cruzado de Hollywood, también puede guardar ejecutables independientes para Windows , macOS y Linux desde la plataforma Amiga.