Di cosa ho bisogno per un server di database per Mobile-Apps? [chiuso]

4

Sto facendo fatica a capire come scrivere un server per un'app mobile. L'app è abbastanza semplice e si affiderebbe maniacalmente a dati geografici e ad altri utenti di roba di base, ecc., Niente di speciale.

Quello a cui non riesco a trovare una risposta è quello che dovrei usare quando si tratta di una Web-API per la comunicazione server / client e di quale sistema di database relazionale dovrei usare.

Avrei solo bisogno di qualcuno che mi disegni una foto su come appare un server e quali opzioni ci sono (solo poche) per le parti principali di esso. Non sono un programmatore inesperto, solo uno che non ha mai scritto un server per un'app mobile.

    
posta displayname 18.04.2015 - 23:28
fonte

2 risposte

4

what I should use when it comes to a Web-API for server/client communication

  1. Utilizza un'API in stile REST su HTTP (S) (ad esempio /customer/<key> , /product/<key )
  2. Utilizza l'applicazione / json come formato di contenuto
  3. Utilizza un utente / akey o uno schema di autorizzazione OAuth2 migliore
  4. Non cadere nella variante WS * / XML con tutti i vantaggi proclamati come contesti di sicurezza o documenti ben strutturati. YAGNI

Ho trovato utile questa guida .

what relational database system I should use

Dipende dal tuo caso d'uso specifico e dalla tua struttura web. Opzioni tipiche:

a. NoSQL come MongoDB, CouchDB - fornisce le API JSON fuori dalla scatola. Se non è necessaria alcuna logica del server diversa dalla persistenza e amp; query, forse una buona scelta

b. SQL come MySQL, PostgreSQL - i cavalli di lavoro su Internet. Ha senso solo in combinazione con un webframework. La mia preferenza: Flask basato su Python (un po 'difficile da coltivare con) o Django (un po' più difficile da iniziare, facile da coltivare) - a seconda della lingua scelta ci sono molti altri tra cui scegliere.

c. Commercial BaaS ( backend as a service ), ad es. Analizza o molti altri

I'd just need somebody to draw me a picture about how a server looks like

Ho un'esperienza ampia e positiva con il seguente stack:

In questo caso il server implementa il modello di dati come classi Python, che sono mappate dall'ORM di Django al back-end DB (backend collegabili, quindi il DB attuale è di scarsa importanza). I modelli e / o i moduli aggiuntivi contengono la business logic, che è agonistica se viene utilizzata da un client remoto o in un codice di vista lato server.

L'API REST si trova sopra questi modelli ed è fornita da diverse risorse basate su tastypie che nella maggior parte dei casi mappano 1: 1 ai modelli, in altri casi forniscono una logica di elaborazione intermedia come quando ci sono più modelli coinvolto per soddisfare una query.

    
risposta data 20.04.2015 - 10:41
fonte
1

Ci sono molti articoli del tipo tutorial sul web attorno a node.js che è stato il nuovo entusiasmo per la scrittura di applicazioni per l'altro nuovo entusiasmo dello sviluppo mobile. In quelli che ho letto sembravano voler utilizzare un DB NoSQL come mongodb.

Ma il concetto è lo stesso - scrivi un server in qualsiasi lingua tu voglia, che espone un'interfaccia di rete ai client che si connettono su Internet - quindi ha senso scrivere il tuo server come un server web che espone un REST interfaccia. Il server quindi memorizza i dati in un database, indipendentemente dal fatto che sia uno relazionale come MySQL o qualcosa di nuovo come MongoDB non importa.

Quindi è molto semplice: client - > webserver - > DB.

    
risposta data 20.04.2015 - 10:15
fonte

Leggi altre domande sui tag