Fonctionnalités de Haxe

Voici une liste de quelques fonctionnalités de Haxe. Ne soyez pas effrayés si celle-ci est longue, vous n'avez pas besoin de tout apprendre ou utiliser pour démarrer avec Haxe.

Plate-formes Supportées

  • Peut compiler vers Javascript en générant un unique fichier .js
  • Peut compiler vers Flash 6 à 8 en générant un unique fichier .swf
  • Peut compiler vers Flash 9 / Tamarin en générant un unique fichier .swf
    • génère une arithmétique d'entier optimisée
    • auto-cast lors de la lecture de tableaux typés
  • Peut compiler vers NekoVM en générant un unique fichier .n de bytecode
    • peut être lancé en ligne de commande
    • peut être lancé sur les serveurs Web Apache (avec mod_neko)
  • Peut compiler vers du code source AS3
  • Peut compiler vers PHP
  • Peut compiler vers C++

Fonctionnalités du Compilateur

  • Mode de compilation Debug (permet des piles d'appel pour JS et Flash 6-8)
  • Trace et support de position de fichier
  • Méthodes et Variables In-line
  • Information de Type pendant l'exécution
  • Génériques Optimisés (pour Flash9)
  • Fichier de Ressources Externe
  • Compilation conditionnelle
  • Génération de la documentation et des types au format XML

Bibliothèques et Outils

  • Support de Firebug
  • Support multi plate-forme d'XML
  • Sérialisation multi plate-forme vers un format compatible web
  • Communication multi plate-forme grâce au Haxe Remoting Tutorials
  • Construction d'application de bureau Flash avec ScreenweaverHX

Fonctionnalités du Langage

  • Langage fortement Typé
  • Méthodes de première classe et fonctions (fermetures)
  • Expressions Régulières
  • Système de Typage de Haut Niveau incluant :
    • classes et interfaces
    • enums
    • types fonction
    • types anonymes (structures)
    • dynamiques
  • Enums
    • paramètres de constructeurs facultatifs (à la ML)
    • paramètres de type (polymorphisme)
  • Inférence de type complète : vous n'avez pas besoin de typer vos variables locales
  • Paramètres de type (génériques) avec des contraintes facultatives
  • Système de module : packages + définitions privées (private)
  • Sous-typage structurel (duck typing) utilisant l'inférence de type et les types anonymes
  • Méthodes polymorphiques
version #13702, modified 2012-04-15 08:17:29 by elyon