Hollywood (langage de programmation)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Hollywood (homonymie).
Hollywood
Développeur Andreas Falkenhahn
Dernière version 6.0 ()
Environnement AmigaOS, MorphOS, WarpOS, AROS, Windows, Mac OS X, Linux, Android
Type langage de programmation
Licence licence propriétaire
Site web www.hollywood-mal.com

Hollywood est un langage de programmation commercial développé par Andreas Falkenhahn (Airsoft Softwair) qui se concentre sur la création d'applications orientées multimédia. Hollywood est disponible pour AmigaOS (68k & PowerPC), MorphOS, WarpOS, AROS, Windows, Linux (i386 & PowerPC & arm), Mac OS X (i386 & PowerPC) et Android.

Hollywood possède un compilateur croisé (en anglais Cross Compiler) intégré qui peut enregistrer automatiquement des exécutables pour toutes les plateformes supportées par le logiciel. Les exécutables générés fonctionnent de façon indépendante du système et sans aucune dépendance externe. Ils peuvent donc être utilisées directement depuis une clé USB[1].

Le logiciel Hollywood Designer est un module supplémentaire pour Hollywood avec lequel il est possible d'utiliser Hollywood comme un logiciel de présentation.

Historique[modifier | modifier le code]

Hollywood a débuté sur ordinateur Amiga. Il est inspiré par des langages de programmation sur Amiga tels que AMOS, Blitz Basic, et Amiga E. L'auteur d'Hollywood Andreas Falkenhahn a commencé le développement de Hollywood au printemps 2002. La version 1.0 du logiciel est sortie en novembre 2002, mais seulement pour les systèmes Amiga basés sur 68000[2]. Un mois plus tard, une version native pour le système MorphOS a suivi[3]. Le support de WarpOS a été ajouté à partir de Hollywood qui est sorti au printemps 2004 en même temps que la première version de Hollywood Designer qui permet la création de présentations avec Hollywood. AmigaOS 4 est supporté depuis mars 2005. À partir de la version 2.0 (sortie en janvier 2006), Hollywood utilise le langage de programmation Lua en tant que sa machine virtuelle, mais avec plusieurs modifications dans sa syntaxe et ses fonctionnalités[4]. À partir de la version 3.0 (janvier 2008), Hollywood fonctionne sur deux systèmes d'exploitation non typés Amiga : Windows et Mac OS X. Depuis la version 4.5 (janvier 2010) Hollywood est disponible avec un environnement de développement intégré sur Windows. La version 4.7 sortie en avril 2010 est encore plus indépendante de la plateforme sur laquelle l'application tourne[5]. Depuis la version 4.8 (avril 2011) Hollywood peut aussi compiler les exécutables pour Linux. Hollywood 5.0 a été publié en février 2012 et introduit le support pour la lecture vidéo et le support pour les formats vectorielles, tels que le SVG. Depuis la version 5.2 Hollywood prend également en charge le support de Android.

Introduction[modifier | modifier le code]

Le but principal de Hollywood est la simplicité d'utilisation et aucune dépendance de la plateforme. Il a été développé principalement pour la création d'applications multimédia et de jeux. Le langage comprend environ 500 commandes dans les champs d'application : graphisme 2D, son, accès au système de fichiers, affichage de texte, animations, affichage de sprites, layers, effets de transition, manipulation d'images, enregistrement d'images et de fichiers vidéo… La programmation en Hollywood se fait via des scripts Hollywood (extension *.hws). Ces scripts sont compilés dynamiquement et peuvent être convertis en exécutables autonomes. Tous les programmes Hollywood fonctionnent dans une Sandbox qui permet de ne jamais planter le système[6].

Indépendance à la plateforme[modifier | modifier le code]

Hollywood a été conçu comme un langage de programmation totalement indépendant de la plateforme. De ce fait, les scripts ne peuvent pas appeler directement une fonction de l'API du système d'exploitation hôte et ils sont limités à la liste des commandes du langage. Même le rendu de texte est implémenté à travers un système de rendu de police complètement indépendant du système hôte. Cela permet à du texte en TrueType d'être visuellement identique sur toutes les plateformes. De plus, toutes les versions de Hollywood gèrent les formats de fichier spécifiques Amiga comme les images IFF ILBM, les sons IFF 8SVX, ou les fichiers IFF ANIM pour être entièrement compatibles avec les scripts écrits sur système Amiga[7].

Compilateur[modifier | modifier le code]

Une fonction intéressante du compilateur croisé (en anglais Cross Compiler) livré avec Hollywood est la possibilité d'inclure tous les fichiers externes (dont les polices) dans l'exécutable généré. Il est alors possible de créer des programmes qui auront la forme d'un unique fichier exécutable, qui sera ainsi facilement transportable et distribué. De plus le compilateur de Hollywood peut compiler des scripts sous forme d'applets Hollywood (avec un extension de fichier *.hwa). Ces applets sont plus petits que des programmes Hollywood correspondants mais peuvent être utilisés uniquement sur des systèmes où Hollywood est installé. Il est aussi possible d'exporter des scripts Hollywood en fichier AVI[8].

Environnements de développement[modifier | modifier le code]

Il n'y a pas d'environnement de développement intégré pour la version AmigaOS de Hollywood. Sur ces systèmes, il est possible d'utiliser un IDE tel que Cubic IDE[9] ou Codebench[10] qui permettent le développement en Hollywood grâce à des plugins. Sur Windows, Hollywood est disponible avec son propre IDE[11],[12].

Un programme Hello World[modifier | modifier le code]

Un programme Hello World en Hollywood s'écrit comme ceci :

  Print("Hello World!")
  WaitLeftMouse
  End

Ce code source ouvre une nouvelle fenêtre sur le bureau, affiche le texte « Hello World! » et attend qu'on presse le bouton gauche de la souris avant de quitter. L'ouverture de la fenêtre est faite automatiquement par Hollywood.

Hollywood Designer[modifier | modifier le code]

Hollywood Designer
Développeur Andreas Falkenhahn
Dernière version 4.0 ()
Environnement AmigaOS, MorphOS, WarpOS
Type Presentation
Licence licence propriétaire
Site web www.hollywood-mal.com

L'application Hollywood Designer est un logiciel supplémentaire qui permet la création de présentations informatives ou des applications interactives avec Hollywood. Ce logiciel utilise une interface WYSIWYG basée sur le principe des pages. Il est possible de créer autant de pages que désiré en utilisant du texte, des images ou des sons. Hollywood Designer pourra afficher les pages dans l'ordre séquentiel ou un ordre différent. Plusieurs effets de transition sont disponibles. Il est aussi possible de créer des applications qui nécessitent une interaction avec l'utilisateur comme pour des bornes interactives[13].

Tous les projets créés avec Hollywood Designer peuvent être visualisés avec Hollywood et peuvent donc être compilés en exécutables indépendants ou en fichier AVI. Les utilisateurs avancés peuvent aussi importer leur propre code dans un projet. Au travers de tels ajouts de code, il est possible d'accéder à toutes les commandes de Hollywood[14].

Techniquement parlant, Hollywood Designer ne fait que donner à Hollywood des scripts construits à partir des actions de l'utilisateur dans l'interface graphique GUI[15]. Ce processus de générer des scripts et de les exécuter par Hollywood est entièrement transparent pour l'utilisateur. Ce qui fait qu'aucune connaissance de la programmation n'est nécessaire pour utiliser Hollywood Designer[16].

Notes et références[modifier | modifier le code]

  1. (en) Fonctionnalités de Hollywood.
  2. Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15.
  3. Test de Hollywood 1.5 : http://obligement.free.fr/articles/hollywood15.php
  4. (en) Liste des projets utilisant Lua.
  5. Liste des nouveautés de la version 4.7
  6. (en) Preinsack, Anton: Interview with Andreas Falkenhahn. Amiga Future 78 (2009), p. 14.
  7. (en) Christoph, Michael: Hollywood 3 on Windows. Amiga Future 71 (2008), pp. 26-27.
  8. (en) Cornelius, Martin: Hollywood 4.5 or Multimedia is back. Amiga Future 83 (2010), pp. 30-31.
  9. Editeur Cubic IDE : http://devplex.awardspace.biz/
  10. Editeur Codebench : http://codebench.co.uk/
  11. Hollywood plugin for Cubic IDE, http://code.google.com/p/hw4c/
  12. Codebench IDE with Hollywood support, http://codebench.co.uk/
  13. Exemple d'application interactive : (no) http://www.ferrule-media.no (en) Plus d'informations: http://www.amiga.org/forums/printthread.php?t=49890
  14. (en) Robert Williams, « Hollywood 1.9 and Designer », Total Amiga 18 (2004), pp. 18-22.
  15. (en) Christoph Gutjahr, « Hollywood 1.9, Malibu and Hollywood Designer. The Triple Dream Factory », AMIGAplus 147 (2004), pp. 44-47.
  16. (en) Robert Williams, « Hollywood 2.0 The Sequel », Total Amiga 23 (2006), pp. 40-42.

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Hollywood (programming language) » (voir la liste des auteurs).

Liens externes[modifier | modifier le code]