Il modo migliore per trasferire dati tra smartphone e un sito Web?
-
08-07-2019 - |
Domanda
Voglio trasferire i dati tra un'app per smartphone e un sito Web. Quali sono i modi convenzionali e non così convenzionali di farlo?
Ecco cosa ho pensato finora:
- Semplice GET / POST HTTP con dati rappresentati come stringa di array JSON, variazioni di questa come stringa crittografata / compressa come parametro.
- Webservice chiama (non sono sicuro che sia possibile, solo un'ipotesi)
- Comunicazione in due passaggi: Smartphone da / verso l'app desktop da / verso il sito Web) (ingombrante da sviluppare / utilizzare)
Inoltre, cosa devo considerare per evitare spamming / ficcanaso?
Soluzione
Se i tuoi obiettivi sono convincenti, sicurezza e facilità di sviluppo. Vorrei che il client (telefono) facesse richieste al server su HTTPS usando POST. I dati inviati dovrebbero essere qualsiasi libreria disponibile per il tuo sistema di destinazione. Buone scelte sono i parametri con codifica URL, XML e JSON. Evita i protocolli binari.
L'aspetto negativo di questo approccio è l'utilizzo della connettività di rete da un dispositivo al servizio web potrebbe non essere disponibile o costoso, con il piano che l'utente ha. (questo sta diventando meno con l'attuale ondata di smartphone (iPhone / gPhone / Blackberry ecc.)) Questa è anche un'interfaccia di polling, quindi spingere i dati dal server al portatile è complicato e dipende dall'avvio da parte dell'utente di un'azione.
A seconda della piattaforma telefonica, è possibile utilizzare anche gli SMS per la comunicazione bidirezionale. La limitazione qui è privacy, larghezza di banda e costi. Gli SMS sono più costosi per inviare i dati IP in base al piano dell'utente. (e talvolta ricevere) Il trucco bidirezionale viene eseguito registrando un hook SMS nell'applicazione telefono. Pertanto, l'applicazione può essere avviata e notificata automaticamente alla ricezione di un determinato SMS.
Si prega di pubblicare informazioni aggiuntive, come le piattaforme di destinazione e posso discutere ulteriori opzioni.
Altri suggerimenti
Penso che i primi due siano più o meno la stessa cosa. Quello che vuoi fare è un HTTP Post se stai inviando molti dati, o OTTIENI con una stringa di query se c'è una quantità minore di dati. Sarà tutta una trasmissione non crittografata, quindi tienilo a mente quando usi HTTP.
Se si utilizza .NET Compact Framework e si sviluppa per Windows Mobile, l'approccio più semplice è utilizzare i servizi Web. Tuttavia, i servizi Web .NET serializzano tutto come XML dettagliato, il che rende la dimensione dei dati inviati avanti e indietro più grande di quanto deve essere. L'uso di JSON è un buon modo per ridurre le dimensioni dei dati, anche quando si utilizzano i servizi Web .NET (il trucco è inviare un intero documento JSON come singolo parametro). Ridurre al minimo le dimensioni dei dati trasferiti è particolarmente importante per le applicazioni Smartphone, poiché il trasferimento dei dati verrà probabilmente effettuato su una rete cellulare.