6

Ok, stavo pensando di sviluppare un'applicazione web utilizzando il framework di gioco come servizio di back-end e sencha per i miei contenuti front-end.Applicazione Web utilizzando Play framework e sencha

Ora ho anche esaminato sencha touch e PhoneGap, che possono aiutarmi a creare un'applicazione Android nativa. Quindi il problema qui è come faccio a rendere i dati su due dispositivi diversi. Uno è un dispositivo touch e l'altro si apre in un browser desktop adeguato.

Devo rilevare da quale dispositivo è stata effettuata la richiesta e quindi caricare il controller appropriato o cosa? Sono davvero confuso adesso! Sono molto nuovo al Web e alla scena delle applicazioni mobile, quindi per favore se qualcuno può spiegarmi come procedere sarebbe di grande aiuto! Grazie.

risposta

4

Uso anche Sencha, non Touch ma Ext Js. Quello che ho fatto è il seguente:

Play! Server contiene la mia logica e mi fornisce gli URL riposante:

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

Con Sencha Ho definito un Store che recupera i dati JSON da un URL specifico, quel punto l'URL al mio Play! URL.

Nel mio metodo in Play a recuperare un modello dal mio database e solo restituire il JSON che Sencha analizzerà/letto come:

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

Acclamazioni

+0

ciao, va bene, va bene. Ma cosa succede se ho anche un'applicazione per mobile. Allora faccio anche le stesse chiamate di funzione da quella applicazione? Ho realizzato siti Web utilizzando php e codeigniter e, in questo caso, ho appena caricato la vista utilizzando $ this-> load-> view ('view') dopo l'elaborazione. Quindi, come progettare questo tipo di cose per un'applicazione web. o invece di spingere i dati per visualizzarli, lo tiro dalla vista? – aradhya

+1

Non si dovrebbero usare le viste da Play perché EXT JS è il framework del client. Il gioco è lì per servire i dati, userei gli stessi URL per Ext Js e Touch, ma ovviamente Sencha Touch genererà viste differenti con lo stesso set di dati (usato per Ext Js). Questo dovrebbe essere JSON nella maggior parte dei casi. Quindi dovresti fare un index.html generale che rileva il dispositivo e in base al dispositivo vengono caricate le classi .js corrette. Ma il server (Play!) Sarà lo stesso. – adis

+0

Ok capito. Grazie mille per l'aiuto. – aradhya

0

Sencha Touch non è adatto per l'utilizzo desktop. Dovresti creare un'app diversa per desktop usando Ext.JS. Ma se vuoi ancora andare con Sencha Touch, ecco la guida su come avere viste diverse per dispositivi diversi. http://docs.sencha.com/touch/2-0/#!/guide/profiles

+0

Sì, lo so. La mia domanda è se mi occupo di 2 applicazioni, quindi come dovrebbe essere la mia logica lato server? Quando la mia applicazione viene caricata, dovrei restituire i dati semplicemente in formato Json e lasciare che i componenti front-end facciano la rappresentazione - in questo caso, ExtJs per desktop e sencha touch per cellulari? se è così, chiunque può fare quell'url call e ottenere i dati giusto? Potete indicarmi come procedere? – aradhya