Creazione di un database di account utente collegato multipiattaforma (IOS, Javascript e JAVA)

-3

Ho fatto settimane a ricercare questa domanda per la mia idea di app.

Sfondo dell'APP - Semplicemente un portafoglio valuta multi-criptato che gli utenti registrano con SOLO username e password - nessuna email, FB, o Google, ecc ... Gli utenti possono cercare altri utenti da aggiungere alla rubrica, ecc. Quando un utente registra il proprio account su uno dei tre dispositivi, genera automaticamente le chiavi pubbliche del portafoglio per il proprio account e lo carica con le proprie credenziali nel DB. le chiavi private rimangono memorizzate sul dispositivo corrente, che in seguito può essere sincronizzato con gli altri dispositivi, se necessario, tramite passaggi approfonditi.

Sono estremamente nuovo nella codifica e all'inizio ho intrapreso un grande progetto. Ma sarà una grande curva di apprendimento per me.

Non voglio usare la programmazione multipiattaforma. Ho le basi di JavaScript per la mia APP desktop WINDOWS. Ma la prima versione dell'app verrà da X-code Swift IOS. e infine JAVA per Android. - Quindi voglio che tutti e 3 di questi siano il più semplici possibile da creare, accedere allo stesso DB.

Originariamente pensavo che MySQL sarebbe stato per questo - ma risulta che non è l'ideale per IOS. poi Firebase è comparso e richiede ancora troppe credenziali. Azure non sembra proprio quello che ho dopo. ASP NET sembra troppo basato sul web?

    
posta Luke Tails 13.06.2018 - 08:33
fonte

1 risposta

2

Alcune cose da considerare:

  • L'architettura del tuo database ha un impatto assolutamente nullo sui tuoi clienti e viceversa. Un'API si trova tra questi due livelli e dovrebbe gestire tutte le traduzioni tra di loro.
  • Il metodo di autenticazione dipende interamente da te. Firebase e tale supporto sono immediatamente disponibili con Facebook, Google, ecc. Ma non è necessario utilizzarlo, è possibile memorizzare un nome utente / password combo e utilizzarlo se lo si desidera.
  • Comprendi che ciò che stai provando qui non è solo un grande progetto, è anche molto complesso con molti livelli. In pratica stai facendo il lavoro full-stack, che suona bene in un curriculum, ma in realtà non è qualcosa che normalmente faresti da solo.

Ora per la soluzione. Quello che vuoi è fare una scelta, vuoi ospitare il tuo database da solo o vuoi usare una piattaforma come Firebase o Azure? Se vuoi ospitarti dovrai cercare i prezzi VPS e trovare l'opzione migliore. Quindi ottenere un VPS, installare MySQL e un gestore di database, creare alcune tabelle e configurare un back-end. Se vuoi utilizzare una piattaforma come Firebase, confrontali e fai la tua scelta, non importa molto. Quindi fai lo stesso come con un VPS, ma con strumenti semplici in una console di amministrazione.
Una volta che il tuo database è in esecuzione, dovrai fornire un'API per te. Ci sono molte opzioni per la lingua se hai ospitato un VPS tu stesso, PHP, Perl, Python, NodeJS (hai fatto Javascript, giusto?), ASP, Ruby, ecc. Quando hai scelto un linguaggio lo fai praticamente ascoltare sulla porta 443 e iniziare a gestire gli endpoint. Firebase ha strumenti per impostare facilmente gli endpoint.
Il tuo primo endpoint dovrebbe essere un registro. Fornisci un nome utente e una password e qualsiasi altra cosa desideri memorizzare sul tuo utente e la salva nel database. Quindi si effettua un endpoint autenticato che verifica le credenziali dell'utente e restituisce un token da utilizzare nelle richieste successive.
Una volta che tutto ciò è fatto, puoi iniziare ad agganciare le tue app, fargli fare richieste https alla tua API e vedere la magia accadere.

Personalmente, nella tua situazione, mi piacerebbe andare con Firebase adesso. È possibile ospitare un database lì, configurare una semplice API per consentire ai client di accedervi e persino implementare analisi e crashlogger, ecc molto facilmente. Salterai tutti i grattacapi di scalare la capacità di archiviazione di un server, ottimizzando il database, creando pagine di registrazione e monitoraggio e gestendo strumenti di terze parti come il database, il gestore database e il linguaggio di back-end. Non hai per usare tutti gli strumenti di Firebase, ma è bello che siano lì e che un SDK sia incluso.

    
risposta data 13.06.2018 - 09:25
fonte

Leggi altre domande sui tag