2012-09-05 20 views
19

Recientemente he estado buscando nuevas (al menos para mí nueva) formas de hacer aplicaciones web. Y encontré dos idiomas que parecen muy prometedores. Google Dart y Haxe. Ambos pueden compilar a javascript, por lo que ambos deberían funcionar en todos los navegadores.Dart vs Haxe - Estado actual, bombo, usabilidad, ...?

Ahora, mi pregunta es, para aquellos que trabajaron con uno o ambos, cuál es el estado de ellos. ¿Se usan mucho? ¿Son usables? ¿Cuál es la comunidad de ellos? ¿Cuál es el mejor o el que más promete según usted? Y lo más importante, ¿cuál es el estado de ambos, todavía se desarrollan activamente, y cuál crees que va a sobrevivir más tiempo?

(Edit: como un bono, estoy pensando en hacer un pequeño juego en el que, probablemente, con el canvas de HTML5, por lo cuál tiene mejor soporte para esto?)

Muchas gracias!

-Pablo

+4

quien cerró esta pregunta no ejerció su buen juicio. –

Respuesta

42

Soy lo opuesto a Eric J. Smith. Solo puedo hablar por Haxe.

Haxe es definitivamente un gran idioma. Diría que la mayor parte de su gran uso comercial es en la industria de los juegos: poder compilar la misma base de código para Flash, JavaScript, escritorio, iPhone, Android, WebOS y BlackBerry es realmente impresionante :) Como ejemplo, ver algunos del games that were created usando Haxe en la última competencia de hacer juegos Ludum Dare 48hr - algunos de ellos incluso tienen código fuente en GitHub.

Si vas a buscar juegos en Haxe, hay algunas opciones. El más popular parece usar NME, una biblioteca en la parte superior de Haxe que le da una API similar a Flash/AS3 que compila a muchos objetivos. Se envía a JavaScript, pero su foco principal es Flash y Native CPP (para iPhone, etc.), porque el rendimiento es mucho mejor que JavaScript. También puede trabajar con frameworks específicamente dirigidos a JavaScript, como CreateJS; aquí hay un blog post que compara NME con CreateJS para Haxe. También escuché cosas buenas sobre Flambe que parece estar optimizado para juegos de JavaScript/gráficos interactivos.

(Nota al margen: Es bastante fácil para Haxe para crear 'los externos', por lo que muchas bibliotecas JavaScript normales se pueden utilizar sin demasiados problemas en Haxe)

Para el desarrollo de aplicaciones (no juegos), Haxe puede sigue siendo bueno, esto es más de lo que hago. Por lo general, utilizo tecnologías JS bastante estándar como jQuery, pero Haxe ofrece un montón de buenos extras con comprobación de errores en tiempo de compilación, un lenguaje realmente potente y la capacidad de compartir código con el servidor. Estoy seguro de que Dart ofrece algunas de las mismas ventajas.

En términos de madurez, estabilidad y soporte:

  • Haxe ha existido mucho más tiempo, y aunque es el equipo de desarrollo es menor, son súper comprometida (echa un vistazo a how many changes are being committed).
  • Dart tiene una compañía mucho más grande que lo respalda. Para Haxe, se está estableciendo una fundación oficial para promover el futuro de Haxe, ¡pero no tendrán el mismo dinero que Google! En última instancia, si Dart realmente despega, predigo que alguien configurará Haxe para enviar a Dart lo suficientemente pronto, al igual que lo hicieron con NodeJS en el servidor :)
  • Ambos parecen tener comunidades súper comprometidas
  • Muchas de las las bibliotecas que están disponibles para Haxe parecen estar relacionadas con juegos, muchas interpolaciones, animaciones, física, etc. No estoy seguro de cómo Dart va aquí.

También me gustaría saber de las personas que han utilizado las diferencias en los dos idiomas. Por lo que he recogido, Haxe parece ser más estrictamente tipeado (lo que prefiero - ¡atrapa más errores en tiempo de compilación!) Pero a algunas personas no les gusta eso.

+6

Para los juegos de Canvas, sugiero que busque en Flambe, una biblioteca de Haxe diseñada para el rendimiento. – Philippe

+1

Sí, buen punto: de las demostraciones que he visto parece bastante sencillo, aunque no lo he probado todavía ... –

+1

Considero que el equipo de desarrollo más pequeño es una gran ventaja para un idioma. – Nek

10

Solo puedo hablar por Dart. Creo que ya es una plataforma increíble y recién está comenzando. Google está invirtiendo MUCHO en Dart y estoy muy seguro de que será una plataforma increíble. Mi hijo y yo estamos construyendo un juego cliente/servidor usando canvas y haciendo ambas cosas en Dart. ¡Hasta ahora ha sido una muy buena experiencia! Tienen un editor con soporte completo de código, navegación y refactorización, y cada día mejora. ¡Es muy divertido actualizar el editor todos los días a medida que agregan nuevas funciones y juegan con los nuevos juguetes! Hay bastantes personas que realizan proyectos de lienzos en él y que tienen un buen éxito. El único inconveniente es que el proyecto aún es muy joven y todavía no cuenta con muchas bibliotecas de terceros, pero cada día aparecen nuevas.

+0

Es muy bueno saber que está desarrollándose muy activamente. Ya estaba entusiasmado con esto y esto se suma a eso. También es genial escuchar que estás haciendo un juego multijugador, ¿es la creación de redes una característica de buildin o una biblioteca separada? Gracias por esta respuesta, definitivamente voy a ver a Dart ahora: P Oh, sí, ¿cómo está la comunidad? –

+0

@Eric J. Smith es su juego de código abierto y el código fuente en algún lugar en línea? github? – Gero

+0

Sí, mi proyecto está aquí: https://github.com/ejsmith/DartGame Definitivamente es un trabajo en progreso, pero ha sido un proyecto divertido. –