Hollywood (język programowania)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Hollywood
Język programowania
Hollywood IDE running on Windows XP
Hollywood IDE running on Windows XP
Autor Andreas Falkenhahn
System operacyjny AmigaOS, MorphOS, WarpOS, AROS, Windows. OS X, Linux, Android
Pierwsze wydanie Listopad 2011
Aktualna wersja stabilna 7.0 - 19 marca 2017
Licencja Zamknięte oprogramowanie
Strona internetowa

Hollywood to 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 (68k, PowerPC), MorphOS, WarpOS, AROS, Windows, OS X (x86, x64, PowerPC), Linux (x86, x64, PowerPC, arm) 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]

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 Mac OS X. Od wersji 4.5 (styczeń 2010) Hollywood jest dostępny w pakiecie ze zintegrowanym środowiskiem deweloperskim na systemy Windows, a od wersji 4.8 (kwiecień 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]

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]

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]

Istnieje sporo modyfikacji GUI dla Hollywood. RapaGUI jest międzyplatformową wtyczką GUI dla Hollywood wspierającą Windowsa, Mac OS X, 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]

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]

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 OS X 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]

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]

Hollywood Designer
edytor prezentacji
Hollywood Designer pod systemem AmigaOS4
Hollywood Designer pod systemem AmigaOS4
Autor Andreas Falkenhahn
System operacyjny AmigaOS, MorphOS, WarpOS
Aktualna wersja stabilna 4.0 - 17 czerwca 2012
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, OS X i Linux bezpośrednio z platform amigowych.

Przypisy

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

Linki zewnętrzne[edytuj]

 Z tym tematem związana jest kategoria: Amiga.