Dove eseguire la post-elaborazione della chiamata API quando utilizzata in MobileApp

1

Diciamo che voglio scrivere un'app (iPhone), che ti dice se sei a Manhattan o no. Questa query comporta un calcolo aggiuntivo dopo una chiamata API di google map (ed è ovviamente solo un esempio).

La mia domanda è dove vorresti eseguire questo calcolo aggiuntivo?

Sull'app stessa o su un server delle applicazioni? E in quest'ultimo caso, come comunicheresti con il server?

Una API REST sarebbe appropriata per uno scenario del genere? Qui si possono inserire latitudine e longitudine e ricevere un valore booleano che indica se si è all'interno o all'esterno di manhattan.

    
posta 1v0 05.10.2015 - 22:21
fonte

1 risposta

2

Naturalmente ciò dipende molto dal lavoro reale che deve essere fatto. Ma supponiamo che tu abbia bisogno di sapere se sei in Manhattan e hai domande su google maps per la posizione corrente.

Da Google Maps credo sia possibile ottenere anche il nome della città, ma supponendo che abbiamo solo GPS di coordinate, avremmo bisogno di effettuare una chiamata API aggiuntiva o implementare una logica al telefono. In questo caso vuoi che il telefono gestisca tutte le chiamate API, questa chiamata API può essere una chiamata alla tua implementazione REST , in tal caso gestisci la query am I in Manhattan? sul server lato. Ma se è abbastanza facile gestire questo lavoro al telefono, con questo esempio, dovresti farlo al telefono.

Se hai bisogno di lavorare dopo aver ricevuto i dati da un'API sul telefono, è meglio farlo su un thread separato (che hai comunque durante la richiesta internet). Dopo aver completamente elaborato i dati sul telefono è possibile aggiornare l'interfaccia utente di conseguenza.

Al giorno d'oggi è meglio dare tutto il lavoro al telefono e utilizzare il server solo per la comunicazione e la sincronizzazione dei dati. Ciò mantiene il carico del server al minimo e distribuisce il lavoro a tutti i dispositivi, rendendo la configurazione estremamente scalabile. Se chiedi al tuo server di fare la maggior parte del lavoro e hai qualche milione di utenti telefonici, ucciderai la larghezza di banda.

In breve: Fintanto che il lavoro è raddoppiato in un tempo ragionevole sul dispositivo, fallo sul dispositivo. Se è troppo complesso, memoria o tempo, creare una API REST ed eseguirla sul server.

    
risposta data 06.10.2015 - 09:29
fonte

Leggi altre domande sui tag