Visualice el programa Java usando JavaScript

Tengo un programa que permite que los archivos de script "compitan" entre sí en juegos como Tic Tac Toe .

La visualización se realiza en la consola y se ve así:

|  XO |
| OX O|
|  X  |
- X is the winner! Meh..

No muy emocionante.

Estaba pensando en hacer una visualización de Swing, pero después de ver una presentación sobre el Biblioteca de gráficos vectoriales Raphaël JavaScript Decidí que estaría bien hacer que la visualización se basara en el navegador, aunque todo se ejecutará en la misma computadora.

¿Necesito un servidor web completo para acomodar esto? ¿Cómo se comunica JavaScript con el programa Java?

preguntado el 03 de mayo de 12 a las 16:05

¿Qué hay de escribir todo el juego en JavaScript en su lugar? Si es solo Tic Tac Toe, no veo el punto de hacer un puente a Java, a menos que sea una tarea:

Bueno, este proyecto es tanto para ampliar mi conocimiento en el mundo basado en la web, siendo Java mi lenguaje principal en este momento, parece un enfoque razonable para tratar de vincular los dos lenguajes. -

5 Respuestas

Crear una interfaz Swing sería la solución más sencilla, pero probablemente también sería la más complicada.

La solución del navegador web es probablemente la más satisfactoria si ya tiene un servidor web en funcionamiento, pero tiene muchos gastos generales para configurar y comprender correctamente. Por otra parte, tiene capas de diferentes tecnologías para jugar y confundirse (java, JSP, HTML, javascript, css, etc.).

En estos días, con HTML5 y bibliotecas de JavaScript disponibles, la interfaz web es, en mi opinión, la mejor opción para la mayoría de las interfaces, por lo que también puede configurar su máquina y tenerla disponible para el próximo proyecto.

Cualquier comunicación entre el servidor (Java) y el navegador se realizará con una solicitud HTTP del navegador.

Esto puede suceder de dos maneras:

a) Al presionar un botón de envío en una página HTML del navegador y mostrar una página HTML en el servidor como respuesta (generalmente a través de secuencias de comandos del lado del servidor como JSP, aunque podría generar la página completa a través del código Java)

b) Mediante el uso de Ajax en javascript para realizar una llamada asincrónica al servidor, que responderá con datos que luego puede interpretar y representar con javascript (probablemente la mejor solución para lo que está tratando de hacer). Hay muchas bibliotecas de javascript listas para ayudarlo con esto, incluido jQuery.

En el método b, esencialmente estaría esperando en el lado del servidor una publicación del navegador y luego estaría respondiendo con una página escrita en XML, json o incluso texto puro. Su código javascript luego interpretaría los datos y los representaría en la página HTML del navegador (que habrá cargado en el punto de inicio de la aplicación).

contestado el 03 de mayo de 12 a las 17:05

" En mi opinión, la interfaz web es la mejor opción para la mayoría de las interfaces, por lo que también puede configurar su máquina y tenerla disponible para el próximo proyecto". Este es un buen punto. - Theodor

¿Necesito un servidor web completo para acomodar esto? ¿Cómo se comunica JavaScript con el programa Java?

Si va a alojar JavaScript y mostrarlo en un navegador, entonces sí, el navegador debería poder solicitar los datos de Java a través de una solicitud HTTP. Aunque los navegadores pueden cargar datos a través de file:/// URI, es (bastante) incómodo manejar esas solicitudes dinámicamente.

Sin embargo, es trivial instalar un servidor web. Gato es fácil de instalar, y hay varias otras opciones si lo prefiere, como TJWS (No hay relación), Winstone, LiteWebServer, Embarcadero...

contestado el 03 de mayo de 12 a las 16:05

Si se ve obligado a ejecutar Java para el motor del juego, le sugiero que use Embarcadero para darle la capacidad de atender la solicitud HTTP desde un navegador. Todo está integrado en su aplicación y no hay problema con tener que empaquetar su aplicación como WAR e implementarla cada vez que realice un cambio.

[editar] Acabo de leer sobre Pequeño servidor web Java que también podría ser una alternativa a Jetty si necesita una huella más pequeña.

contestado el 03 de mayo de 12 a las 17:05

Javascript puede comunicarse con un applet de Java en la página (al menos en teoría). Un applet de Java arrojará una advertencia cuando se carga y requiere que Java esté instalado en la máquina.

contestado el 03 de mayo de 12 a las 17:05

Sí, será necesario un servidor web. Javascript probablemente se ejecutará como parte de un formulario html. Si se requiere algún procesamiento del lado de Java, entonces se necesita un servidor web. Dado que no es posible que html/javascript se comunique con un programa java independiente. Pero, ¿por qué necesita un programa del lado del servidor Java? ¿La lógica no se puede escribir en java script totalmente?

contestado el 03 de mayo de 12 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.