Qu'est ce que NME ?

21.08.2012 1981 0

NME

Historique

L'une des premières plateformes supportées par Haxe est le Flash. Par ailleurs, vous n'êtes pas sans savoir qu'il existe depuis maintenant plus de 5 ans, 2 machines virtuelles embarquées dans le Flash Player, l'AVM1 et AVM2, qui exécutent 2 types de bytecodes différents qui sont notamment générés à partir de l'ActionScript 1et 2 et de l'ActionScript 3. Haxe, depuis sa création a également 2 APIs différents pour générer du bytecode pour l'AVM1 et l'AVM2.
Grâce à la compilation conditionnelle, nous pouvons écrire dans un même fichier avec ces 2 APIs et compiler indépendamment pour les 2 plateformes Flash. J'ai alors eu l'idée en juin 2007 d'écrire une petite bibliothèque fash (Filt3red ActionScript Helper...), que j'ai laissé à l'abandon depuis et qui avait pour but d'« abstraire » ces 2 APIs afin que l'on puisse écrire un programme avec exactement le même code Haxe, sans gérer manuellement la compilation conditionnelle et qui ciblerait ces 2 machines virtuelles. C'est de cette façon que j'ai écrit ce petit jeu.

Je ne tiens absolument pas, avec cette longue introduction, à m'octroyer les félicitations de la création de NME, mais j'estime que cet exemple illustre bien la philosophie de ce formidable outil.

En effet, Haxe cible également une autre plateforme qui est la machine virtuelle appelée NekoVM, créée par Nicolas Cannasse. Celle ci permet, avec quelques bibliothèques externes de dessin et de son notamment, de produire du contenu « multimédia » comme le fait le Flash Player. C'est alors qu'en mars 2008, Hugh Sanderson créé la bibliothèque neash (NEko-flASH) qui « calque » l'API du Flash Player sur celle de Neko et NME (Neko Media Engine) qui embarque les bibliothèques multimédia externes pour Neko. Ainsi on peut très rapidement exporter, avec le même code Haxe pour Flash ou pour Neko. Puis, grâce à Niel Drummond, la bibliothèque jeash voit le jour, qui a pour mission de faire la même chose en ciblant le javascript, donc les navigateurs web et le nouveau standard HTML5.

Mais c'est avec l'avènement de la plateforme C++ pour Haxe et de la bibliothèque HXCPP en 2009/2010, créés par Hugh Sanderson également, que NME prend réellement son envol. Il permet alors à Haxe de créer de véritables applications de bureau « standalone » sur les 3 principaux systèmes d'exploitation Windows, Linux et OSX.
Depuis, les systèmes d'exploitations « mobiles » comme Android, webOS, BlackBerry ou iOS permettent aussi d'exécuter du bytecode écrit en C++ et compilé spécialement pour leur environnement. C'est le développement sur ces dernières qui a donné une grande impulsion à NME !

Présentation

A suivre...

Commentaires

Laisser un commentaire

http://
×