2009-06-10 6 views
11

Estoy usando GWT, que incluye un compilador Java-to-JavaScript. Antes de este proyecto, no se me había ocurrido enfocar el tiempo de ejecución de JavaScript desde un idioma diferente, y estoy disfrutando la experiencia de GWT.¿Qué compiladores apuntan a los tiempos de ejecución de JavaScript?

Una búsqueda rápida reveló Java2Script como otra solución de Java a JavaScript. ¿Hay algún otro compilador maduro que se dirija al tiempo de ejecución de JavaScript?

+0

Desarrollamos http://websharper.com/ que compila F # a JavaScript. – t0yv0

Respuesta

3

OpenLaszlo está en fuente abierta XML -> Javascript (técnicamente DHTML, también puede compilar a Flash) compilador. He jugado un poco con esto y me pareció interesante, aunque nunca lo he usado en serio (mala compatibilidad con IDE cuando lo probé).

Objective-j es un proyecto similar que se asemeja a object-c, aunque se ejecuta como javascript (no estoy seguro si lo compila o si tiene un intérprete js). No sé mucho al respecto, pero veo publicaciones al respecto en el Ajaxian de vez en cuando.

+0

objetivo-j compila ya sea en tiempo de ejecución o antes de tiempo. Sin embargo, en su mayoría es javascript con algunas construcciones adicionales. – cobbal

+0

Objective-j se interpreta (mediante un motor de JavaScript). Parece un poco raro para mis gustos personalmente, pero este http://280atlas.com/ está escrito en Objective-J, y se ve increíble. Aunque estoy seguro de que algo similar es posible en GWT. – Chii

+0

Código de Objective-J se ve feo. Odio el código Objective-C también así que ... OpenLaszio se ve muy bien en realidad, incluso podría intentarlo en algún momento. –

2

Si bien existen otros productos que compilan a Javascript (se señala en los otros comentarios), creo que GWT es, con mucho, , el más maduro que existe, en términos del uso del mundo real. El simple hecho de que varias aplicaciones principales de Google utilicen GWT (por ej .: la nueva interfaz gráfica de usuario de AdWords, ola de Google, etc.) significa que puede confiar en que el producto se mantendrá durante al menos los próximos años, no es simplemente se desvanecerá pronto.

Otra cosa a tener en cuenta es que GWT es mucho más que un compilador de java a JavaScript, también es un compilador de optimización, tiene modo alojado, es completamente interoperable con JavaScript nativo, agrupa las imágenes, hace código spliting en la nueva versión, etc.

+0

Google suspendió el desarrollo de Wave menos de 3 meses después de su lanzamiento público, por lo que, en retrospectiva, no estoy seguro de que sea el mejor ejemplo de la longevidad anticipada de GWT. :-) – Ken

4

Parenscript es "un traductor de un pequeño lenguaje Lispy a JavaScript". No es Common Lisp: básicamente es solo la sintaxis de Lisp para Javascript, aunque para cosas simples puedes escribir el mismo código para apuntar a ambos, si eres cuidadoso. No estoy seguro de llamarlo "maduro" tampoco.

4

Pyjamas compila Python a JavaScript.

HotRuby ejecuta el código fuente de Ruby bajo JavaScript y Flash.

Orto es (era?) Una JVM implementada en JavaScript. (El sitio original está inactivo; el enlace es una entrada de blog).

El ZK framework, que le gusta compararse favorablemente con GWT, usa Java y XML para generar JavaScript. (Afirman que se necesita mucho menos código que GWT para hacer lo mismo.)

Y lo he escuchado bien: argüí que jQuery es un lenguaje aparte que se implementa y se ejecuta en JavaScript. :-)

4

También tiene haXe. Incluye tipeo estático, estructural, fuerte e inferido; tipos de datos algebraicos; expresiones lambda con soporte de cierre; un sistema de módulos y puede compilar no solo con JavaScript sino también con Flash, C++, Neko, PHP. El soporte de Java también está en desarrollo.

0

He aquí un descarado enchufe para un proyecto que empecé y continúo para desarrollar: scxml-js, un compilador Statecharts a JavaScript

1

Los inventores de Clojure (una JVM basado dialecto de Lisp) lanzó ClojureScript a mediados de 2011 ClojureScript compila el código fuente de Clojure en JavaScript, haciendo uso del compilador de cierre de Google y el marco de cierre. El código ClojureScript puede ejecutarse tanto en el cliente del navegador como en los servidores node.js.

Cuestiones relacionadas