Hollywood (język programowania)

Z Wikipedii, wolnej encyklopedii
Hollywood
Ilustracja
Hollywood IDE running on Windows XP
Autor Andreas Falkenhahn
Pierwsze wydanie Listopad 2002
System operacyjny AmigaOS, MorphOS, OS/2 Warp, AROS, Windows, macOS, Linux, Android, iOS
Rodzaj Język programowania
Licencja Zamknięte oprogramowanie
Strona internetowa

Hollywood – komercyjny język programowania stworzony przez Andreasa Falkenhahna (Airsoft Softwair) przeznaczony głównie do tworzenia aplikacji multimedialnych. Hollywood jest dostępny dla systemów AmigaOS, MorphOS, OS/2 Warp, AROS, Windows, macOS, Linux, iOS oraz Android (tylko odtwarzacz). Posiada on również wbudowany kompilator skrośny, co umożliwia automatyczne tworzenie plików wykonywalnych na wszystkie wspierane platformy. Generowane pliki wykonywalne są absolutnie samodzielne i nie wymagają dołączania żadnych zewnętrznych bibliotek, co sprawia, że mogą być one uruchamiane bezpośrednio z pamięci USB. Opcjonalny dodatek pozwala także kompilować pliki do formatu APK[1].

Hollywood Designer jest dodatkiem umożliwiającym wykorzystanie języka Hollywood do tworzenia multimedialnych aplikacji oraz jako system tworzenia treści.

Historia[edytuj | edytuj kod]

Korzenie Hollywood sięgają komputerów Amiga. Zainspirowany innymi amigowymi językami programowania takimi jak AMOS, Blitz BASIC i Amiga E, Andreas Falkenhahn rozpoczął tworzenie Hollywood wiosną 2002 roku, po zdaniu egzaminów kończących szkołę średnią[2]. Wersja 1.0 oprogramowania została opublikowana w listopadzie 2002 roku, ale tylko dla systemów Amiga opartych na procesorze Motorola 68000. Mięsiąc później powstała wersja natywna dla procesorów PowerPC dla systemu MorphOS[3]. Wiosną 2004 roku wydano wersję 1.9, która wprowadziła wsparcie dla WarpOS oraz zaprezentowała po raz pierwszy środowisko Hollywood Designer, które pozwalało na tworzenie prezentacji przy wykorzystaniu języka Hollywood. System AmigaOS 4 jest wspierany od marca 2005 roku. Od wersji 2.0 (styczeń 2006) Hollywood wykorzystuje język programowania Lua jako maszyny wirtualnej, ale ze znacznymi modyfikacjami w składni i funkcjonalności[4]. Począwszy od wersji 3.0 (styczeń 2008) Hollywood po raz pierwszy oferuje wsparcie dla dwóch systemów niepowiązanych z Amigą: Microsoft Windows i macOS. Od wersji 4.5 (styczeń 2010) Hollywood jest dostępny w pakiecie ze zintegrowanym środowiskiem deweloperskim na systemy Windows, a od wersji 4.8 (kwietnia 2011) umożliwia również tworzenie plików wykonywalnych dla Linuksa. Hollywood 5.0 został wydany w lutym 2012 roku i wprowadza wsparcie dla formatów wideo i grafik wektorowych, np. SVG. Poczynając od wersji 5.2 Hollywood wspiera także Androida. Hollywood 6.0 (luty 2015) wprowadza wsparcie dla Raspberry Pi oraz dla biblioteki OpenGL poprzez użycie dedykowanej wtyczki. Hollywood 7.0 został wydany w marcu 2017 roku i wprowadza wsparcie dla znaków Unicode i architektur 64-bitowych[5].

Podstawowe informacje[edytuj | edytuj kod]

Hollywood oferuje niezależność platformową oraz łatwość w użyciu, a został stworzony głównie z myślą o tworzeniu gier i aplikacji multimedialnych. Język składa się z prawie 700 komend z różnych dziedzin tworzenia aplikacji: grafika 2D, dźwięk, operacje na systemach plików, animacja, wsparcie sprite-ów, warstwy, efekty przejść, manipulacja obrazem, zapisywanie obrazów graficznych i plików wideo, funkcje czasu i daty, funkcje wejścia (klawiatura, joystick, myszka), jak również operacje matematyczne i łańcuchy znaków. Programowanie w Hollywood bazuje na wykorzystaniu tzw. skryptów Hollywood (pliki z rozszerzeniem *.hws), które kompilowane są dynamicznie i mogą być przekonwertowane do postaci samodzielnych plików wykonywalnych. Wszystkie programy Hollywood są tworzone w środowisku testowym (sandbox), co ogranicza możliwość zawieszenia się systemu operacyjnego[6].

Niezależność platformy[edytuj | edytuj kod]

Hollywood jest językiem programowania w pełni niezależnym od platformy systemu operacyjnego. Dzięki temu skrypty nie wykorzystują żadnych funkcji API hostującego systemu operacyjnego i są ograniczone do wbudowanego zestawu komend. Renderowanie tekstu również odbywa się poprzez niezależny od platform font, którego dodatkowym atutem jest zapewnienie jednolitości tekstu typu TrueType tak, aby wyglądał on tak samo na każdej platformie. Ponadto, w celu zapewnienia pełnej kompatybilności ze skryptami napisanymi na systemach amigowych, wszystkie wersje Hollywood wspierają typowe dla Amigi formaty plików takie jak IFF ILBM dla grafiki, IFF 8SVX dla dźwięku, czy IFF ANIM dla wideo[7].

Modifikacje GUI[edytuj | edytuj kod]

Istnieje sporo modyfikacji GUI dla Hollywood. RapaGUI jest międzyplatformową wtyczką GUI dla Hollywood wspierającą Windowsa, macOS, Linuksa i AmigaOS. RapaGUI używa natywnej kontroli GUI zapewnionej przez hostujący system operacyjny nadający aplikacjom RapaGUI unikalny wyglądt. MUI Royale jest modyfikacją GUI dla Hollywood, która może zostać użyta do tworzenia GUI przy pomocy Magic User Interface. Inną modyfikacją GUI dla Hollywood jest HGui[8]. W przeciwieństwie do RapaGUI i MUI Royale, HGui tworzy swoje własne kontrolki GUI, co zapewnia identyczny wygląd kontrolek na każdej docelowej platformie.

Kompilator[edytuj | edytuj kod]

Unikalną cechą międzyplatformowego kompilatora Hollywood jest możliwość implementowania zewnętrznych plików (także fontów) do plików wykonywalnych. To umożliwia konstruowanie programów składających się z jednego pliku, co umożliwia ich łatwe przenoszenie i rozpowszechnianie. Dodatkowo, kompilator Hollywood może również tworzyć aplety (rozszerzenie *.hwa) kompilując do nich pojedyncze skrypty. Aplety te charakteryzują się mniejszą objętością od standardowych programów tworzonych w Hollywood, ale do uruchomienia wymagają instalacji samego środowiska Hollywood. Ponadto, możliwy jest również eksport skryptów do plików wideo AVI[9].

Środowisko programistyczne[edytuj | edytuj kod]

Systemy amigowe nie posiadają obecnie dedykowanego zintegrowanego środowiska programistycznego dla Hollywood, można natomiast korzystać z Cubic IDE oraz Codebench, poprzez wtyczki oferujących wsparcie dla języka Hollywood[10][11]. IDE Hollywood istnieje natomiast na systemach operacyjnych Windows. Wersja Hollywood na systemy macOS i Linux również nie posiada swojego IDE, jednak może być kontrolowana z poziomu linii komend lub zintegrowana z innymi istniejącymi środowiskami programistycznymi.

Program Hello World[edytuj | edytuj kod]

Program “Hello World” w Hollywood może wyglądać tak:

  Print(„Hello World!”)
  WaitLeftMouse
  End

Powyższy kod otwiera nowe okno na pulpicie, wyświetla tekst “Hello World!” w kolorze białym i czeka na klinknięcie lewym przyciskiem myszy, które zamyka okno. Otwieranie okna jest automatyczne. Jeśli nie wprowadzono innych ustawień, Hollywood automatycznie otworzy nowe okno w rozdzielczości 640x480 dla każdego skryptu.

Hollywood Designer[edytuj | edytuj kod]

Hollywood Designer
Ilustracja
Hollywood Designer pod systemem AmigaOS4
Autor Andreas Falkenhahn
Aktualna wersja stabilna 6.0 – 16 maja 2022
System operacyjny AmigaOS, MorphOS, WarpOS, AROS
Rodzaj edytor prezentacji
Licencja Zamknięte oprogramowanie
Strona internetowa

Hollywood Designer jest dodatkiem do języka Hollywood, który pozwala na tworzenie prezenatcji i systemów operacyjnych infokiosków za pomocą Hollywood. Oprogramowanie to używa interfejsu typu WYSIWYG opartego na slajdach. Użytkownicy mogą tworzyć dowolną liczbę slajdów i wypełnić je tekstem, grafiką czy też dźwiękiem. Hollywood Designer odtworzy je później jeden po drugim w ustalonej przez twórcę kolejności i przy wykorzystaniu wybranych efektów przejść. Ponadto istnieje możliwość tworzenia aplikacji interaktywnych jak systemy infokiosków[12][13].

Wszystkie programy tworzone w Hollywood Designer są odtwarzane przy wykorzystaniu języka Hollywood i dzięki temu mogą być skompilowane w samodzielne pliki wykonywalne lub pliki wideo. Zaawansowani użytkownicy mogą także wprowadzić niestandardowy kod do swoich projektów, dzięki czemu możliwe jest uzyskanie dostępu do pełnego zestawu komend języka Hollywood[14].

Technicznie rzecz biorąc, Hollywood Designer nie jest niczym więcej, niż generatorem skryptów dla Hollywood w postaci zdefiniowanej przez użytkownika przy pomocy GUI[15]. Aby umiejętności programistyczne nie były potrzebne do korzystania z Hollywood Designer, proces generowania skryptów i otwierania ich za pomocą Hollywood jest całkowicie ukryty przed użytkownikiem[16]. Jednakże, ponieważ Hollywood Designer tylko tworzy skrypty Hollywood, sam język programowania wciąż musi być obecny w systemie operacyjnym.

Pierwsza wersja Hollywood Designera została opublikowana w kwietniu 2004[17]. Obecnie oprogramowanie jest dostępne tylko dla systemów kompatybilnych z Amigą. Jednakże dzięki międzyplatformowemu kompilatorowi Hollywood, może on także tworzyć samodzielne pliki wykonywalne dla systemów Microsoft Windows, macOS i Linux bezpośrednio z platform amigowych.

Przypisy[edytuj | edytuj kod]

  1. Hollywood – Features [online], www.hollywood-mal.com [dostęp 2017-07-09].
  2. Magnus Johnson, Wywiad z Andreasem Falkenhahnem, „Total Amiga” (21), 2005, s. 14–15.
  3. Robbie Schaefer, Hollywood Multimedia, „AMIGAplus” (132), 2003, 24–26..
  4. Lua: user projects [online], www.inf.puc-rio.br [dostęp 2017-07-09].
  5. Airsoft Softwair, Hollywood – Multimedia Application Layer [online], www.hollywood-mal.com [dostęp 2017-07-09].
  6. Anton Preinsack, Wywiad z Andreasem Falkenhahnem, „Amiga Future” (78), 2009, s. 14.
  7. Michael Christoph, Hollywood 3 na Windowsie, „Amiga Future” (71), 2008, s. 26–27.
  8. HGUI – AMC, „AMC” [dostęp 2017-07-09] (ang.).
  9. Martin Cornelius, Hollywood 4.5, czyli Multimedia wróciły, „Amiga Future” (83), 2010, s. 30–31.
  10. Google Code Archive – Long-term storage for Google Code Project Hosting. [online], code.google.com [dostęp 2017-07-09] (ang.).
  11. Welcome to the home of CodeBench [online], codebench.co.uk [dostęp 2017-07-09].
  12. Ferrule Media, Ferrule Media [online], Ferrule Media [dostęp 2017-07-09] (ang.).
  13. Amiga.org – Amiga-based software presented at Nordental 2009 [online], www.amiga.org [dostęp 2017-07-09] [zarchiwizowane z adresu 2013-09-21] (ang.).
  14. Robert Williams, Hollywood 1.9 i Designer, „Total Amiga” (18), 2004, s. 18–22.
  15. Christoph Gutjahr, Hollywood 1.9, Malibu i Hollywood Designer, „AMIGAplus” (147), 2004, 44–47..
  16. Robert Williams, Hollywood 2.0 The Sequel, „Total Amiga” (23), 2006, s. 40–42.
  17. Martin Steigerwald, Multimedia pur, „Amiga Magazin” (7/2004), s. 7–9.

Linki zewnętrzne[edytuj | edytuj kod]

 Z tym tematem związana jest kategoria: Amiga.