fbpx
Wikipedia

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,[3]Java y Neko (creado por el mismo desarrollador) y de lado del servidor en PHP,[4]Apache CGI y Node.js.

Haxe
Desarrollador(es)
Nicolas Cannasse
https://haxe.org
Información general
Extensiones comunes .hx
Paradigma Multiparadigma
Apareció en 2005
Última versión estable 4.2.3[1](20 de abril de 2017 (4 años, 4 meses y 4 días))
Sistema de tipos Estático
Influido por

ActionScript,

OCaml
Sistema operativo Multiplataforma
Licencia

Compilador: GPLv2+

Biblioteca estándar: MIT[2]

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,[5]​ y fue llamado Haxe porque era corto, simple, y con una X dentro, que el autor afirma con humor que es necesario para que una nueva tecnología tenga éxito. Haxe se pronuncia "hex" (/heks/) aunque los autores de un libro publicado lo pronuncian "hacks".

Arquitectura

El desarrollo de Haxe empezó en octubre de 2005 y la primera versión beta salió en febrero de 2006. Haxe 1.0 salió en abril de 2006, que soporta aplicaciones de Adobe Flash.

Haxe es el sucesor de código abierto de ActionScript 2 compilador MTASC, también creado por Nicolas Canesse, y está liberado bajo Licencia Pública General de GNU versión 2. Haxe tiene mucho en común con ActionScript 3. El compilador de Haxe está desarrollado en el lenguaje OCaml. No es necesario saber OCaml para desarrollar aplicaciones en Haxe.

El compilador de Haxe es un compilador optimizado, y contiene las siguientes características de optimización:

  • Funciones de expansión en línea
  • Plegado constante
  • Eliminación de código muerto

El rendimiento de aplicaciones desarrolladas en Haxe depende de la plataforma destinada,y en el caso de ActionScript 3, programas producidos usando el compilador de Haxe normalmente funcionan más rápidos que programas producidos usando el compilador Adobe Flex SDK.

Para ayudar a aprovechar código existente, la comunidad de código libre ha creado conversores de código fuente experimentales para los siguiente lenguajes:

  • ActionScript 3 a Haxe.
  • C# a Haxe.

La ventajas de usar Haxe incluyen:

  • Independencia de la plataforma
  • Un lenguaje de alto nivel totalmente desarrollado
  • Dispositivos que admiten solo C++

Soporte de la plataforma

El código Haxe puede ser compilado en bytecode para máquinas virtuales diferentes como las de Adobe Flash Player y Neko, y puede generar código fuente para ActionScript 3, JavaScript, e incluye soporte experimental para C++ y C#. Esta estrategia de compilar a múltiples códigos fuente de distintos lenguajes está inspirada por el paradigma escribe una vez, ejecuta en todas partes. Esto también permite al programador elegir el mejor compilador para su trabajo.

Soporte total

Hasta 2012, Haxe pueden compilar en las siguientes plataformas con la API de la plataforma completa:

Soporte parcial

Hasta 2012, Haxe pueden compilar en las siguientes plataformas con cierta parte de la API de la plataforma:

  • C++
    • Windows
    • Linux
    • Mac OSX
    • iOS, (experimental)
    • Android, (experimental)
    • webOS, (experimental)
  • Java (experimental)
  • C# (experimental)

Lenguaje

El lenguaje Haxe es similar a ECMAScript, aunque casi ningún código ECMAScript se ejecutará en Haxe sin modificaciones. A diferencia de ECMAScript, Haxe es un lenguaje compilado. Es un lenguaje de propósito general con programación orientada a objetos, excepciones, e inferencia de tipos con parámetros de clase. Clases genéricas, reflectividad, iteradores, y programación funcional están incorporados en la funcionalidad del lenguaje y librerías. A diferencia de otros lenguajes de programación, Haxe contiene un sistema de tipos fuerte y dinámico. El compilador comprobará tipos implícitos y dará errores de compilación, pero eso también permite al programador omitir la comprobación de tipos y se basan en el manejo dinámico de tipos de la plataforma de destino.

Desde que Haxe tiene sus orígenes en AS3, todas las APIs de Flash pueden ser usadas, aunque Haxe requiere código mejor formado y estándares de programación a diferencia de los compiladores Adobe (por ejemplo, respecto al ámbito y tipo de dato).

Los parámetros de las funciones pueden ser definidos de forma muy precisa en Haxe:

function multiplesParametros(threedimensionalarray:Array<Array<Array<Int>>>, stringval:String, boolval:Bool) {} // Valor entero opcional devuelve un entero function argumentoOpcional(?i:Int = 0):Int { return i; } // Llama a una función sin parámetros function funcionComoParametro(f:Void->Void) { f(); } // Llama a una función que retorna un entero, con un parámetro Int function retornarEntero(f:Int->Int) { var resultado = f(1); } // función que coge cualquier clase de tipo y lo devuelve function puedoHacerCualquierCosa(d:Dynamic):Dynamic { return d; } 

Tipos enumerados son una característica clave del lenguaje; pueden tener parámetros propios y ser recursivos. Son similares a los tipos de datos algebraicos en lenguajes como ML o Haskell. Las enumeraciones en Haxe no son simplemente indexados valores de "número mágico" como en la mayoría de los lenguajes, pero es más abstracto: no contienen ningún valor inherente, pero pueden ser instanciados en variables como en este ejemplo:

 enum Color { rojo; verde; azul; rgb: (r:Int, g:Int, b:Int); } class Colores { static function aNumero(c:Color):Int {  return switch (c) {  case rojo: 0xFF0000;  case verde: 0x00FF00;  case azul: 0x0000FF;  case rgb(r, g, b):(r << 16) | (g << 8) | b;  } } static function validCalls() {  var redint = toInt(Color.rojo);  var rgbint = toInt(Color.rgb(100,100,100));  } } 

Este ejemplo dibuja un cuadrado rojo usando el objeto Flash MovieClip, y usa la palabra clave "import" (que en C# sería equivalente a "using").

import Colors; class Test { static function main() { var mc:flash.display.MovieClip = flash.Lib.current; mc.graphics.beginFill(rojo.aNumero()); mc.graphics.moveTo(50,50); mc.graphics.lineTo(100,50); mc.graphics.lineTo(100,100); mc.graphics.lineTo(50,100); mc.graphics.endFill(); } } 

Véase también

Lenguajes similares que compilan a JavaScript:

Lenguajes multiplataforma similares:

Referencias

  1. «Release 4.2.3». haxe.org (en inglés). 
  2. «Open Source». haxe.org (en inglés). 
  3. «HashLink - Haxe Virtual Machine» (en inglés). Consultado el 31 de julio de 2017. 
  4. «Target Details». haxe.org (en inglés). 
  5. Haxe Foundation. «Who is who» (en inglés). Consultado el 31 de agosto de 2017. 

Enlaces externos

  • Web oficial de Haxe
  • Libro oficial de Haxe
  • - Algunos tutoriales de Haxe para principiantes.
  • haxe.org - Un tutorial introductorio de Haxe.
  •   Datos: Q285886

haxe, lenguaje, programación, multiplataforma, alto, nivel, código, abierto, compilador, puede, producir, código, fuente, para, distintas, plataformas, desde, único, código, fuente, código, escrito, puede, compilado, código, fuente, adobe, flash, javascript, p. Haxe es un lenguaje de programacion multiplataforma de alto nivel de codigo abierto y compilador que puede producir codigo fuente para distintas plataformas desde un unico codigo fuente El codigo escrito en Haxe puede ser compilado a codigo fuente en Adobe Flash Javascript Lua Python C C Hashlink 3 Java y Neko creado por el mismo desarrollador y de lado del servidor en PHP 4 Apache CGI y Node js HaxeDesarrollador es Nicolas Cannassehttps haxe orgInformacion generalExtensiones comunes hxParadigmaMultiparadigmaAparecio en2005Ultima version estable4 2 3 1 20 de abril de 2017 4 anos 4 meses y 4 dias Sistema de tiposEstaticoInfluido porActionScript OCamlSistema operativoMultiplataformaLicenciaCompilador GPLv2 Biblioteca estandar MIT 2 editar datos en Wikidata Haxe incluye un conjunto de funcionalidades comunes que son compatibles con todas las plataformas como tipos de datos numericos texto arrays binarios y otros formatos de archivos comunes Haxe tambien incluye APIs exclusivas de las plataformas pero a partir de 2012 solo 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 5 y fue llamado Haxe porque era corto simple y con una X dentro que el autor afirma con humor que es necesario para que una nueva tecnologia tenga exito Haxe se pronuncia hex heks aunque los autores de un libro publicado lo pronuncian hacks Indice 1 Arquitectura 2 Soporte de la plataforma 2 1 Soporte total 2 2 Soporte parcial 3 Lenguaje 4 Vease tambien 5 Referencias 6 Enlaces externosArquitectura EditarEl desarrollo de Haxe empezo en octubre de 2005 y la primera version beta salio en febrero de 2006 Haxe 1 0 salio en abril de 2006 que soporta aplicaciones de Adobe Flash Haxe es el sucesor de codigo abierto de ActionScript 2 compilador MTASC tambien creado por Nicolas Canesse y esta liberado bajo Licencia Publica General de GNU version 2 Haxe tiene mucho en comun con ActionScript 3 El compilador de Haxe esta desarrollado en el lenguaje OCaml No es necesario saber OCaml para desarrollar aplicaciones en Haxe El compilador de Haxe es un compilador optimizado y contiene las siguientes caracteristicas de optimizacion Funciones de expansion en linea Plegado constante Eliminacion de codigo muertoEl rendimiento de aplicaciones desarrolladas en Haxe depende de la plataforma destinada y en el caso de ActionScript 3 programas producidos usando el compilador de Haxe normalmente funcionan mas rapidos que programas producidos usando el compilador Adobe Flex SDK Para ayudar a aprovechar codigo existente la comunidad de codigo libre ha creado conversores de codigo fuente experimentales para los siguiente lenguajes ActionScript 3 a Haxe C a Haxe La ventajas de usar Haxe incluyen Independencia de la plataforma Un lenguaje de alto nivel totalmente desarrollado Dispositivos que admiten solo C Soporte de la plataforma EditarEl codigo Haxe puede ser compilado en bytecode para maquinas virtuales diferentes como las de Adobe Flash Player y Neko y puede generar codigo fuente para ActionScript 3 JavaScript e incluye soporte experimental para C y C Esta estrategia de compilar a multiples codigos fuente de distintos lenguajes esta inspirada por el paradigma escribe una vez ejecuta en todas partes Esto tambien permite al programador elegir el mejor compilador para su trabajo Soporte total Editar Hasta 2012 Haxe pueden compilar en las siguientes plataformas con la API de la plataforma completa Flash Player 6 8 AVM1 Flash Player 9 11 AVM2 ActionScript 3 Neko JavaScript lado del cliente JavaScript para Node js lado del servidor PHP 5Soporte parcial Editar Hasta 2012 Haxe pueden compilar en las siguientes plataformas con cierta parte de la API de la plataforma C Windows Linux Mac OSX iOS experimental Android experimental webOS experimental Java experimental C experimental Lenguaje EditarEl lenguaje Haxe es similar a ECMAScript aunque casi ningun codigo ECMAScript se ejecutara en Haxe sin modificaciones A diferencia de ECMAScript Haxe es un lenguaje compilado Es un lenguaje de proposito general con programacion orientada a objetos excepciones e inferencia de tipos con parametros de clase Clases genericas reflectividad iteradores y programacion funcional estan incorporados en la funcionalidad del lenguaje y librerias A diferencia de otros lenguajes de programacion Haxe contiene un sistema de tipos fuerte y dinamico El compilador comprobara tipos implicitos y dara errores de compilacion pero eso tambien permite al programador omitir la comprobacion de tipos y se basan en el manejo dinamico de tipos de la plataforma de destino Desde que Haxe tiene sus origenes en AS3 todas las APIs de Flash pueden ser usadas aunque Haxe requiere codigo mejor formado y estandares de programacion a diferencia de los compiladores Adobe por ejemplo respecto al ambito y tipo de dato Los parametros de las funciones pueden ser definidos de forma muy precisa en Haxe function multiplesParametros threedimensionalarray Array lt Array lt Array lt Int gt gt gt stringval String boolval Bool Valor entero opcional devuelve un entero function argumentoOpcional i Int 0 Int return i Llama a una funcion sin parametros function funcionComoParametro f Void gt Void f Llama a una funcion que retorna un entero con un parametro Int function retornarEntero f Int gt Int var resultado f 1 funcion que coge cualquier clase de tipo y lo devuelve function puedoHacerCualquierCosa d Dynamic Dynamic return d Tipos enumerados son una caracteristica clave del lenguaje pueden tener parametros propios y ser recursivos Son similares a los tipos de datos algebraicos en lenguajes como ML o Haskell Las enumeraciones en Haxe no son simplemente indexados valores de numero magico como en la mayoria de los lenguajes pero es mas abstracto no contienen ningun valor inherente pero pueden ser instanciados en variables como en este ejemplo enum Color rojo verde azul rgb r Int g Int b Int class Colores static function aNumero c Color Int return switch c case rojo 0xFF0000 case verde 0x00FF00 case azul 0x0000FF case rgb r g b r lt lt 16 g lt lt 8 b static function validCalls var redint toInt Color rojo var rgbint toInt Color rgb 100 100 100 Este ejemplo dibuja un cuadrado rojo usando el objeto Flash MovieClip y usa la palabra clave import que en C seria equivalente a using import Colors class Test static function main var mc flash display MovieClip flash Lib current mc graphics beginFill rojo aNumero mc graphics moveTo 50 50 mc graphics lineTo 100 50 mc graphics lineTo 100 100 mc graphics lineTo 50 100 mc graphics endFill Vease tambien EditarLenguajes similares que compilan a JavaScript Dart Opa CoffeeScript TypeScriptLenguajes multiplataforma similares Monkey ValaReferencias Editar Release 4 2 3 haxe org en ingles Open Source haxe org en ingles HashLink Haxe Virtual Machine en ingles Consultado el 31 de julio de 2017 Target Details haxe org en ingles Haxe Foundation Who is who en ingles Consultado el 31 de agosto de 2017 Enlaces externos EditarWeb oficial de Haxe Libro oficial de Haxe RAZAINA FR Algunos tutoriales de Haxe para principiantes haxe org Un tutorial introductorio de Haxe HaQuery Web framework basado en Haxe Datos Q285886Obtenido de https es wikipedia org w index php title Haxe amp oldid 137050187, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos