2013-05-08 19 views
10

È consigliabile utilizzare Parse.com anziché MySQL per un'app basata su PHP? Se sì, quali sono i lati positivi e negativi di percorrere questa strada? Come funzionano MySQL se si utilizza parse?Vale la pena sostituire MySQL con Parse.com mentre usi PHP?

+6

Non ho usato Parse, ma in poche parole, il loro servizio sembra essere * server di back-end e logica dell'applicazione per le persone che non vogliono preoccuparsi dei server di back-end e della logica dell'applicazione. * I.e. si tratta principalmente di sviluppatori di dispositivi mobili front-end (iOS, Android, ecc.) che hanno poche competenze o risorse di back-end ma necessitano * di un semplice back-end * per la loro app mobile. Se si adatta questa descrizione, probabilmente è un buon servizio. Non ci penserei come "sostituzione di MySQL". Oltre a ciò, questa domanda non è davvero costruttiva. – deceze

risposta

15

I principali vantaggi di Parse sono che sarete in grado di lavorare con concetti a livello di applicazione come account utente e notifiche push piuttosto che concetti basati sulla tecnologia come database e I/O socket. L'utilizzo di Parse consente di condividere modelli nativi su codice lato server e più client. Se ti aspetti una certa popolarità, il team di Parse e il team Ops ti faranno risparmiare un'enorme quantità di dolore da scaling.

Passare da PHP + MySQL a Parse può non essere banale, tuttavia, quindi Parse potrebbe non avere senso per i grandi progetti già investiti in queste tecnologie. Parse non fornisce un SDK PHP di prima parte, sebbene sia presente un SDK elencato nella sezione di terze parti dell'elenco API Libraries. L'interfaccia è anche esposta nativamente con REST. Realisticamente parlando, tuttavia, questo è dovuto al fatto che PHP è un linguaggio lato server e Parse mira a ovviare alla necessità della codifica lato server. Potresti considerare di usare la loro libreria JavaScript e vedere cosa è possibile implementare sul lato client; se si ha realmente bisogno dell'esecuzione lato server (ad esempio per l'esecuzione di alta integrità + autorizzazione), l'ambiente Cloud Code esegue anche l'SDK JS.

La domanda relativa ai join ha una componente tecnica e filosofica. Tecnicamente parlando, la memorizzazione di un oggetto Parse in un altro è semanticamente equivalente all'uso di una chiave esterna e le query hanno un'opzione "include" che è funzionalmente equivalente a un'istruzione JOIN in SQL. Una Parse Relation è una tabella di join indicizzata in modo aggressivo e adatta per le relazioni many-to-many, sebbene lo strumento non consenta l'inclusione tra entrambi i lati del join poiché è destinato ad essere utilizzato con raccolte di tipo high-arity. Filosoficamente, Parse è noSQL. Ciò significa che le classi non devono essere normalizzate come le tabelle SQL in genere sono progettate. Progetta le tue classi per incapsulare un'idea e fidati di indicizzazione noSQL per gestire le query in modo efficiente.

+4

Penso che dovresti rivelare qui che sei uno sviluppatore di Parse.com. – duci9y

+3

Siamo spiacenti, è giusto sul mio profilo che io sia un vecchio orologio Parse dev. Inoltre, dal momento che originariamente rispondendo a questa domanda, abbiamo rilasciato il nostro primo SDK PHP partito, che è il nostro primo progetto open source. Dai un'occhiata a https://github.com/ParsePlatform/parse-php-sdk –

+0

@ThomasBouldin Che cosa succede se vogliamo utilizzare il database esistente come MySQL con analisi. Voglio dire se esiste già un sito web costruito usando MySQL come back-end e se vogliamo un'app come estensione per quel sito. Quindi, oggettivamente, useremo il database esistente. Quindi, come possiamo farlo? – mahendrakawde