Haxe

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ne cite pas suffisamment ses sources (juin 2012).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

Haxe
Logo.

Date de première version 2005
Auteur Nicolas Cannasse
Dernière version 3.2.0 ()Voir et modifier les données sur Wikidata
Influencé par Java, ActionScript
Écrit en OCamlVoir et modifier les données sur Wikidata
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata
Site web Site officiel

Haxe est un langage de programmation et un compilateur open source multiplateforme qui permet de produire des applications et du code source pour de nombreuses plateformes différentes à partir d'un seul code source. Développé par Nicolas Cannasse et d'autres contributeurs, Haxe permet d’écrire la partie serveur et la partie client dans un même langage.

À cette fin, Haxe permet de :

  • créer des fichiers SWF qui utilisent les APIs pour les lecteurs Flash Player 6 à 14 ;
  • créer du code JavaScript utilisant les API DHTML des navigateurs, ainsi que des applications AJAX. Il est aussi possible d'utiliser des bibliothèques extérieures, tels que jQuery qui est directement inclus au téléchargement de Haxe ;
  • créer du bytecode pour la NekoVM qui peut être employé côté serveur (grâce à un plug-in Apache) ou empaqueté dans un exécutable autonome ;
  • créer du code PHP qui peut être déployé sur n’importe quel serveur supportant le langage PHP ;
  • créer du code et des applications C++ ;
  • créer du code et des applications Java ;
  • créer du code C# ;
  • créer du code Python.

Haxe permet donc d'assurer l’interopérabilité entre ces différentes plateformes en fournissant des bibliothèques communes.

Compilateur[modifier | modifier le code]

Le compilateur est écrit en OCaml. Il peut s'exécuter en mode serveur pour fournir la complétion de code sur les IDE et maintenir un cache pour accélérer la compilation.

Le compilateur Haxe effectue une optimisation du code. En voici quelques-unes :

  • Fonction « inline » ;
  • Élimination du code mort.

Les performances d'une application développée en Haxe dépendent de la plateforme cible.

Exemple de code[modifier | modifier le code]

class Test {
  static function main() {
    var people = [
      "Elizabeth" => "Programming",
      "Joel" => "Design"
    ];

    for (name in people.keys()) {
      var job = people[name];
      trace('$name does $job for a living!');
    }
  }
}

Support des plateformes[1][modifier | modifier le code]

Sortie Plateforme Utilisation Depuis
Flash bytecode Adobe Flash Player 9+, Adobe Air, Tamarin VM Bureau, navigateur, serveur 2005 (alpha)
Neko bytecode NekoVM Serveur, bureau, CLI 2005 (alpha)
JavaScript code source HTML 5, NodeJS, PhoneGap Serveur, bureau, navigateur, mobile 2006 (beta)
ActionScript 3 code source Adobe Flash Player 9+ Bureau, navigateur 2007 (1.12)
PHP code source PHP Serveur 2008 (2.0)
C++ code source Android, Apple iOS, Palm webOS Mobile 2009 (2.04)
Java code source Java Serveur, bureau 2012 (2.10)
C# code source Framework .NET Bureau, mobile, serveur 2012 (2.10)
Python code source Python Bureau, web, CLI 2015 (3.2)
Lua[2] code source Lua Jeux, CLI, web, bureau 2016 (3.3)

Voir aussi[modifier | modifier le code]

Liens internes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Franco Ponticelli et Lee McColl Sylvester, Professional Haxe and Neko Book, Wrox, , 619 p. (ISBN 978-0-470-12213-6)
  • (en) Benjamin Danois, haXe 2 Beginner's Guide, PacktPublishing, , 246 p. (ISBN 978-1-849512-56-5)

Liens externes[modifier | modifier le code]

  • (en) Haxe
  • (en) OpenFL, outil open source basé sur le langage Haxe

Références[modifier | modifier le code]

  1. « Compiler Targets - Haxe - The Cross-platform Toolkit », sur Haxe - The Cross-platform Toolkit (consulté le 12 mars 2016)
  2. « Hello Lua! - Haxe - The Cross-platform Toolkit », sur Haxe - The Cross-platform Toolkit (consulté le 28 avril 2016)