2013-01-16 11 views
8

Ho lavorato a un'app web mobile jQuery scritta in Ruby on Rails e vorrei renderla disponibile come app Android nativa. Ho configurato il progetto phonegap per caricare il mio URL, e tutto sembra funzionare, ma ho letto che Google rifiuterà l'app se si tratta semplicemente di un contenitore webview su un URL esterno. Qualcuno ha avuto qualche esperienza con questo?Convertire l'app Ruby on Rails nell'app nativa per Android PhoneGap

Da quello che posso dire, dovrò riscrivere l'app Web per utilizzare le chiamate ajax per popolare la pagina, anziché fare affidamento esclusivamente su richieste Web al mio server web. Qualcuno può offrire qualche idea in questo? Accetteranno una app PhoneGap che carica semplicemente un URL esterno? Qualsiasi aiuto è apprezzato.

Update1: Ho anche letto che essere in grado di gestire nessuna connessione Internet è uno dei motivi principali per cui approvare/rifiutare l'app. Penso che questo possa essere gestito nell'app per Android con una logica che controlla la connessione a Internet e, se esiste, carica l'url esterno, se non carica una splash page html locale. Questa idea sarebbe ok?

Update2: sarebbe la possibilità di avere uno "scheletro" della app come file HTML di base all'interno dell'app gap telefono, che utilizza solo l'Ajax di abbattere tutte le html principale? In questo modo l'app funzionerebbe ancora senza una connessione Internet, ma potresti anche apportare grosse modifiche al contenuto delle pagine che verrebbero abbattute in ogni richiesta. È un'opzione praticabile?

+0

Costruisci la pagina senza una connessione in modo che l'app mostri almeno qualcosa se il dispositivo, se offline, fa apparire una finestra di dialogo per far sapere loro che stanno funzionando offline. PhoneGap ha un'ottima documentazione su questo. Io uso AJAX per passare oggetti JSON per gestire tutti i dati che verranno visualizzati in seguito. http://docs.phonegap.com/en/2.3.0/cordova_events_events.md.html#online – Jason

+0

Sì, ma questo è un motivo infallibile Google rifiuterà l'app dal suo mercato delle app? –

+0

Non dovrebbe essere, cosa significano penso che TUTTO sulla pagina sia dal server, grafica e tutto. Molte app sono offline inutili, ma mostrano ancora la maggior parte delle app. – Jason

risposta

2

Non ho mai sentito di un'app rifiutata dal Play Store a causa del semplice fatto di essere un contenitore WebView. Ma anche se non respingono la tua app per questo, non dovresti creare un'applicazione PhoneGap in questo modo. Finirai con un'app che si presenterà come un contenitore WebView e un'app che si interrompe facilmente quando la connettività diventa discutibile. Ricorda che anche con una buona ricezione, la latenza su un telefono è elevata, quindi è fondamentale ridurre il numero di richieste che devi effettuare (per file e risorse statici).

Idealmente, quando si trasferisce un sito Web su un'applicazione PhoneGap, è necessario disaccoppiare il più possibile l'interfaccia. Meno variabili dovrebbero essere passate dal controller alle viste e più dati dovrebbero passare attraverso le chiamate AJAX. Quando il tuo front-end (tutti i file in app/view) possono essere pubblicati in modo statico, passare a un'app PhoneGap è facile.

Verificare che le azioni nei controller abbiano tutte risposte per JS (format.js), non solo HTML. Le tue opinioni dovrebbero fare chiamate AJAX ai binari per ottenere i dati che riempiono le pagine tramite AJAX. Quindi puoi raggruppare le tue visualizzazioni (e le tue risorse) nell'app PhoneGap.