Translate

sábado, 6 de octubre de 2018

Haciendo magia con Haxe!

Haxe es un lenguaje de programación multiplataforma de alto nivel, de código abierto y compilador que puede producir código fuente para distintas plataformas desde un único código fuente. El código escrito en Haxe puede ser compilado a código fuente en Adobe Flash, Javascript, Lua, Python, C++, C#, Hashlink,​ Java y Neko y de lado del servidor en PHP,​ Apache CGI y Node.js.

Haxe incluye un conjunto de funcionalidades comunes que son compatibles con todas las plataformas, como tipos de datos numéricos, texto, arrays, binarios y otros formatos de archivos comunes. Haxe también incluye APIs exclusivas de las plataformas, pero a partir de 2012, sólo admite un subconjunto de las funciones disponibles en cada plataforma, y solo la API de Flash es totalmente utilizable.

Haxe fue desarrollado por Nicolas Cannasse y otros colaboradores

Veamos un ejemplo de haxe :

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!');
        }
    }
}

Par instalarlo en versiones ubuntus solo tienes que hacer :

sudo add-apt-repository ppa:haxe/releases -y
sudo apt-get update
sudo apt-get install haxe -y
mkdir ~/haxelib && haxelib setup ~/haxelib

Vamos hacer un hola mundo y luego lo traducimos a javascript.

Escribimos un archivo llamado "Hola.hx" :

$ nano Hola.hx

y escribimos:

class Hola {
    static public function main() {
        trace("hola!!");
    }
}

guardamos y salimos.

Ahora vamos a generar hola.js :

$ haxe -main Hola -js Hola.js

y si hacemos un cat de Hola.js : 

 $ cat Hola.js 
// Generated by Haxe 3.4.7
(function () { "use strict";
var Hola = function() { };
Hola.main = function() {
console.log("Hello World");
};
Hola.main();
})();

Ahora a PHP: 
haxe -main Hola -php Hola.php

En php nos genera todo un directorio con archivos. 

Dejo link: https://haxe.org/