6

Ok, he estado pensando en desarrollar una aplicación web usando el marco de juego como mi servicio de back-end y sencha para mis cosas de front-end.Aplicación web usando Play framework y sencha

Ahora también he estado buscando sencha touch y phonegap, que pueden ayudarme a hacer una aplicación nativa de Android. Entonces, el problema aquí es cómo renderizar datos en dos dispositivos diferentes. Uno es un dispositivo táctil y otro se abre en un navegador de escritorio adecuado.

¿Debo detectar desde qué dispositivo se ha realizado la solicitud y luego cargar el controlador apropiado o qué? ¡Estoy realmente confundido ahora mismo! Soy muy nuevo en la escena de la aplicación web y móvil, así que si alguien me puede explicar cómo proceder sería de gran ayuda. Gracias.

Respuesta

4

Uso Sencha también, no Touch pero Ext Js. Lo que he hecho es lo siguiente:

Play! Servidor contiene mi lógica y me proporciona las direcciones URL de un descanso reparador:

POST /user/create   AccountController.createUser 
GET /user/userid   AccountController.getUser 

Con Sencha he definido un Store que recupera JSON datos de una URL específica, ese punto URL para mi juego! urls.

En mi método de Juego recupero un modelo de mi base de datos y simplemente devolver el JSON que Sencha analizará/leer como:

Query userQry = JPA.em().createQuery("select * from Account"); 
List<Article> accounts= userQry .getResultList(); 
renderJSON(accounts); 

Saludos

+0

hola, está bien que está bien. Pero, ¿y si también tengo una aplicación para dispositivos móviles? Entonces, ¿realizo las mismas llamadas de función desde esa aplicación también? He creado sitios web usando php y codeigniter y en eso, solía cargar la vista usando, $ this-> load-> view ('view') después del procesamiento. Entonces, ¿cómo diseñar este tipo de cosas para una aplicación web? o en lugar de presionar datos para ver, lo saco de la vista? – aradhya

+1

No debe usar las vistas desde Play porque EXT JS es su marco de cliente. El juego está ahí para servir los datos, yo usaría las mismas URL para Ext Js y Touch, pero obviamente Sencha Touch generará diferentes vistas con el mismo conjunto de datos (como se usa para Ext Js). Esto debería ser JSON en la mayoría de los casos. Por lo tanto, debe crear un index.html general que detecte el dispositivo y, según el dispositivo, se carguen las clases .js correctas. Pero el servidor (Play!) Será el mismo. – adis

+0

Ok, lo tengo. Muchas gracias por la ayuda. – aradhya

0

Sencha Touch no es adecuado para el uso de escritorio. Debes crear una aplicación diferente para el escritorio usando Ext.JS. Pero si aún quieres seguir con Sencha Touch, aquí está la guía de cómo tener diferentes vistas para diferentes dispositivos. http://docs.sencha.com/touch/2-0/#!/guide/profiles

+0

Sí, lo sé. Mi pregunta es si estoy atendiendo 2 aplicaciones, entonces ¿cómo debería ser mi lógica del lado del servidor? Cuando se carga mi aplicación, ¿debo devolver datos simplemente en formato Json y dejar que las cosas de la interfaz hagan la representación, en este caso, ExtJs para escritorio y sencha touch para dispositivos móviles? si es así, ¿alguien puede hacer esa llamada url y obtener los datos correctos? ¿Puede por favor guiarme sobre cómo proceder? – aradhya