Hollywood — это коммерчески распространяемый язык программирования, разработанный Андреасом Фалькенханом (Airsoft Softwair), который в основном фокусируется на создании приложений, ориентированных на мультимедиа. Hollywood доступен для AmigaOS , MorphOS , WarpOS , AROS , Windows , macOS , Linux , Android и iOS . Hollywood имеет встроенный кросс-компилятор , который может автоматически сохранять исполняемые файлы для всех платформ, поддерживаемых программным обеспечением. Сгенерированные исполняемые файлы полностью автономны и не имеют никаких внешних зависимостей, поэтому их также можно запускать с USB-флеш-накопителя . Дополнительное дополнение также позволяет пользователям компилировать проекты в файлы APK . [2]
Hollywood Designer — это дополнение к Hollywood, с помощью которого можно использовать Hollywood также в качестве программного обеспечения для презентаций и системы авторинга .
Hollywood берет свое начало на компьютере Amiga . Вдохновленный языками программирования Amiga, такими как AMOS , Blitz BASIC и Amiga E , автор Hollywood Андреас Фалькенхан начал разработку Hollywood весной 2002 года после окончания учебы на уровне A. [3] Версия 1.0 программного обеспечения была выпущена в ноябре 2002 года, но только для систем Amiga на базе 68000. Месяц спустя последовала собственная версия для MorphOS на базе PowerPC . [4] Поддержка WarpOS была введена в Hollywood 1.9, который появился весной 2004 года вместе с первым выпуском Hollywood Designer, инструмента, который можно использовать для создания презентаций с помощью Hollywood. AmigaOS 4 поддерживается с марта 2005 года. Начиная с версии 2.0 (выпущенной в январе 2006 года), Hollywood использует язык программирования Lua в качестве своей виртуальной машины , но со значительными изменениями в синтаксисе и функциональности. [5] Начиная с версии 3.0 (январь 2008 г.), Hollywood впервые также работает на двух операционных системах, не вдохновленных Amiga: Microsoft Windows и macOS. Начиная с версии 4.5 (январь 2010 г.) Hollywood также доступен с интегрированной средой разработки на Windows. Начиная с версии 4.8 (апрель 2011 г.) Hollywood также может компилировать исполняемые файлы для Linux . Hollywood 5.0 был выпущен в феврале 2012 г. и вводит поддержку воспроизведения видео и векторных форматов изображений, таких как SVG. Начиная с версии 5.2 Hollywood также поддерживает Android. Hollywood 6.0 был выпущен в феврале 2015 г. и вводит поддержку программирования OpenGL через специальный плагин, а также поддержку Raspberry Pi . Hollywood 7.0 был выпущен в марте 2017 г. и вводит поддержку Unicode и поддержку 64-битных архитектур. [6]
Hollywood фокусируется на простоте использования и независимости платформы. Он был в основном разработан для создания игр и мультимедийных приложений. Языковой набор включает около 900 различных команд из следующих областей применения: 2D-графика, звук, операции с файловой системой, вывод текста, анимация, спрайты , слои, эффекты перехода, манипуляция изображениями, сохранение изображений и видеофайлов , функции времени и даты, функции ввода (клавиатура, джойстик, мышь), а также математические операции и строковые функции. Программирование в Hollywood осуществляется с помощью так называемых сценариев Hollywood (использующих расширение файла *.hws). Эти сценарии компилируются динамически и могут быть преобразованы в автономные исполняемые файлы. Все программы Hollywood запускаются внутри песочницы , что делает невозможным их сбой. [7]
Hollywood был разработан как полностью платформенно-независимый язык программирования. Таким образом, скрипты не могут напрямую вызывать какие-либо функции API операционной системы хоста и ограничены встроенным набором команд. Рендеринг текста также реализован через платформенно-независимый бэкэнд шрифтов, который гарантирует, что текст TrueType выглядит одинаково на каждой платформе. Кроме того, все версии Hollywood поддерживают специфичные для Amiga форматы файлов, такие как изображения IFF ILBM , звуки IFF 8SVX или файлы IFF ANIM , чтобы быть полностью совместимыми со скриптами, написанными на системе Amiga. [8]
Существует несколько наборов инструментов GUI для Hollywood. RapaGUI — это кроссплатформенный плагин GUI для Hollywood, который поддерживает Windows, macOS, Linux и AmigaOS. RapaGUI использует собственные элементы управления GUI, предоставляемые соответствующей операционной системой хоста, что придает всем приложениям RapaGUI собственный вид и ощущение. MUI Royale — это набор инструментов GUI для Hollywood, который можно использовать для создания GUI с помощью Magic User Interface . Другой набор инструментов GUI для Hollywood — HGui. [9] В отличие от RapaGUI и MUI Royale, HGui сам рисует свои элементы управления GUI, что делает его графические пользовательские интерфейсы абсолютно одинаковыми на всех платформах.
Особенностью кроссплатформенного компилятора , который поставляется с Hollywood, является возможность связывать все внешние файлы (включая шрифты) в исполняемый файл для автоматической сборки. Это позволяет создавать программы, которые состоят только из одного файла и, таким образом, могут быть легко перемещены и распространены. Кроме того, компилятор Hollywood может компилировать скрипты в апплеты Hollywood (используя расширение файла *.hwa). Эти апплеты меньше обычных программ Hollywood, но их можно запускать только на системах, на которых установлен Hollywood. Наконец, также можно экспортировать скрипты Hollywood в виде видео AVI . [10]
Для Amiga-совместимой версии Hollywood нет интегрированной среды разработки . На этих системах Cubic IDE и Codebench могут использоваться для разработки с Hollywood, поскольку они поддерживают язык Hollywood через плагины. [11] [12] В Windows Hollywood поставляется с интегрированной средой разработки, которую можно использовать для создания сценариев Hollywood. Версии Hollywood для macOS и Linux также не поставляются с IDE и могут управляться с консоли или интегрироваться в другие IDE.
Программа Hello World в Голливуде могла бы выглядеть так:
Печать("Привет, мир!") WaitLeftMouse Конец
Код выше открывает новое окно на рабочем столе, печатает текст "Hello World!" белыми буквами и ждет нажатия левой кнопки мыши перед выходом. Открытие окна выполняется автоматически Hollywood. Если не указано иное, Hollywood автоматически откроет новое окно с разрешением 640x480 для каждого скрипта.
Hollywood Designer — это дополнение для Hollywood, позволяющее создавать презентации и киоск-системы с Hollywood. Программное обеспечение использует WYSIWYG -совместимый интерфейс на основе слайдов. Пользователи могут создавать столько слайдов, сколько пожелают, и заполнять их текстами, графикой и звуком. Затем Hollywood Designer будет запускать слайды один за другим или в предопределенном порядке. Доступны различные эффекты перехода. Кроме того, можно создавать приложения, требующие взаимодействия с пользователем, например киоск-системы. [13] [14]
Все проекты, созданные в Hollywood Designer, отображаются с использованием Hollywood и, таким образом, могут быть скомпилированы в автономные исполняемые файлы или видеофайлы . Продвинутые пользователи также могут встраивать пользовательский код в свои проекты. С помощью пользовательского кода можно получить доступ к полному набору команд Hollywood. [15]
Технически говоря, Hollywood Designer не делает ничего, кроме как автоматически генерирует сценарии для Hollywood в соответствии с макетом, определенным пользователем в графическом интерфейсе . [16] Процесс генерации сценариев и их запуска с помощью Hollywood полностью скрыт от пользователя, поэтому для использования Hollywood Designer навыки программирования не требуются. [17] Однако, поскольку Hollywood Designer просто генерирует сценарии для Hollywood, последнее является обязательным требованием для Hollywood Designer.
Первая версия Hollywood Designer была выпущена в апреле 2004 года. [18] В настоящее время программное обеспечение доступно только для операционных систем, совместимых с Amiga. Однако благодаря кросс-компилятору Hollywood оно также может сохранять автономные исполняемые файлы для Windows , macOS и Linux с платформы Amiga.