¿Cómo manejar los RPC en el juego PlayN cliente-servidor?

Me gustaría usar PlayN para crear un juego de cartas cliente / servidor, p. Corazones. Si bien me estoy centrando principalmente en la salida HTML5, idealmente me gustaría ser independiente de la plataforma de salida en caso de que decida hacer un cliente Android en el futuro. ¿Cómo debo abordar el mecanismo RPC?

Estas son las opciones que he pensado:

Utilice JSON para RPC con métodos get () / post (): escriba un servlet que acepte / devuelva JSON y haga que todas las versiones del código del cliente lo usen. Esto parece factible, pero me preocupa la verbosidad de JSON. Una vez que Hearts funcione, me gustaría pasar a juegos más complejos, y me preocupa que JSON genere una gran cantidad de mensajes mucho más grandes de lo necesario entre el cliente y el servidor. En realidad, no sé cómo trabajar con JSON en Java, pero supongo que esto es factible. ¿Están mis suposiciones en línea? ¿Qué tan bien funciona Java con JSON? Continúe usando GWT-RPC. Puedo hacer esto tomando una interfaz de servicio asíncrono en mi constructor principal (independiente de la plataforma), y en mi HTML main () paso la interfaz asincrónica GWT generada porGWT.create(MyService.class) (o al menos una envoltura a su alrededor). Sin embargo, no tengo idea de qué tan bien funcionaría esto para versiones que no sean HTML. ¿Es posible para mí usar GWT-RPC desde el código Java del lado del cliente directamente?Utilice alguna otra forma de RPC. ¿Alguna sugerencia

Respuestas a la pregunta(2)

Su respuesta a la pregunta