2014-07-27 18 views
5

Sono abbastanza nuovo per cose relative ai servizi server e back-end e voglio sviluppare un'app mobile con una parte di back-end. Voglio questo backend per servire un'app ios, un'app per android e un sito web. Le mie preoccupazioni oggi sono come fa la parte frontend comunicare con la parte di back-end:Comunicazione frontend-backend per un'applicazione mobile

  • funziona allo stesso modo di un sito web funziona? (Richiesta Http al server?)
  • come avviene lo scambio di dati tra frontend e backend?
  • quali sono le soluzioni comuni al mio problema?
  • esiste un modo efficace per definire questo back-end per le app mobili e un sito Web?
  • è un parsing (https://parse.com/) un buon punto di partenza?

Grazie

risposta

11

Guardando le tue domande, a sua volta:

  • funziona allo stesso modo un sito web funziona? (Http richiesta al server?)

Ci sono molte opzioni, ma probabilmente il più comune, o alla moda, in questo momento è quello di utilizzare un'interfaccia RESTFUL: http://en.wikipedia.org/wiki/Representational_state_transfer

In precedenza, un web basato SOAP il servizio avrebbe potuto essere la scelta più comune: http://en.wikipedia.org/wiki/SOAP

vedi qui per qualche discussione sul perché si potrebbe utilizzare REST piuttosto che il SOAP ora: Why would one use REST instead of SOAP based services?

  • come avviene lo scambio di dati tra frontend e backend?

Supponendo REST, HTTP viene utilizzato per trasportare i messaggi e dati delle applicazioni è in genere incluso in XML o JSON forma

  • quali sono le soluzioni comuni a mio problema?

Penso che questo sia coperto dalle altre parti della domanda/risposta.

  • esiste un modo efficace per definire questo back-end per le app mobili e un sito Web?

Questo è molto dipendente dalla particolare applicazione server, in particolare dalle dimensioni e dall'architettura. Se l'applicazione server è suddivisa in componenti o parti e le parti che generano le "viste" o le pagine "HTML" per l'app Web sono distinte e ben separate dalle parti "back-end" dell'applicazione server, E dall'applicazione è di un tipo che la funzionalità è in gran parte la stessa sia che l'utente stia usando un sito web o un mobile ed è solo il modo in cui la vista viene generata per i diversi dispositivi che differisce, quindi un design efficiente sarebbe quello che mantiene come gran parte del backend è il più comune possibile.Se l'uso dell'applicazione è molto diverso se usato da un client mobile, questo potrebbe non avere senso. Più in generale, un design efficiente manterrebbe il maggior numero di funzionalità comuni tra le applicazioni Mobile e Web.

Vale sicuramente la pena acquisire familiarità con il modello di architettura di 'Model View Controller' come la maggior parte dei framework lato server, così come molti framework per client Web Javascript e anche iOS e (in misura minore) Android quadri usano questi concetti:

http://en.wikipedia.org/wiki/Model -view-Controller

One considerazioni importanti se avete bisogno di 'spingere' o di notifica, come la funzionalità sul tuo telefonino app. Se quindi si consiglia di guardare alcune delle soluzioni comuni per capire se essi soddisfano le vostre esigenze - probabilmente più semplice per iniziare con le offerte di Apple e Google per ottenere una comprensione, ma ci sono un sacco di altre soluzioni disponibili anche:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

http://developer.android.com/google/gcm/index.html

non ho familiarità con questo servizio, ma si potrebbe essere meglio guardando un semplice approccio basato REST prima e vedere se soddisfa le vostre esigenze.

2

Per rispondere alla tua domanda

è parse (https://parse.com/) un buon punto di partenza?

Sì, lo è.

Ma raccomando di leggere bene su temi come

Servizi quali come parse sono chiamati Mobile Backend as a Service (MBaaS). Sono ideali per creare rapidamente servizi web per gli sviluppatori mobili che h Ho poca esperienza con lo sviluppo del backend.

Una ricerca rapida su Google su "MBaaS" restituirà molti servizi simili a analisi e la maggior parte offre account di sviluppatore gratuiti. (Con un certo numero di chiamate API gratuite al secondo/app) Ho usato Apigee allo stesso modo & l'equivalente open source è Usergrid.

Questi servizi forniranno una GUI per lo sviluppatore per creare servizi di distribuzione & ei servizi sono immediatamente disponibili. Test separato & saranno disponibili i punti finali di produzione. In aggiunta alle operazioni CRUD di base, questi servizi consentiranno inoltre una facile integrazione social network, il caching & analisi (Dipende fornitore di servizi)

Caratteristiche come la sicurezza, la scalabilità sono costruiti in dal provider MBaaS (Come Parse).