Quali sono alcuni vantaggi quantitativi dell'utilizzo di Firebase su MongoDB? (non opinioni)
So che Firebase è un servizio basato su cloud con una propria API, ma credo che Mongo possa darmi un maggiore controllo a lungo termine.
Quali sono alcuni vantaggi quantitativi dell'utilizzo di Firebase su MongoDB? (non opinioni)
So che Firebase è un servizio basato su cloud con una propria API, ma credo che Mongo possa darmi un maggiore controllo a lungo termine.
Risposte:
EDIT: ecco un bell'articolo su come sostituire Firebase nella tua app con Node.js + MongoDb. Mostra quanto lavoro dovresti fare da solo e spiega, IMHO, perché una startup (piccola app) dovrebbe iniziare con Firebase (se sono necessari aggiornamenti in tempo reale ai client) e procedere con MongoDb (in ogni caso soluzione scritta) se il progetto continua a evolversi
EDIT 2: dopo essere stato acquisito da Google Firebase ora offre vari vantaggi oltre alle sue funzionalità di base che difficilmente potresti costruire da solo:
Per lo sviluppo
Per la crescita
Mele e arance Firebase è un servizio di back-end-come-un-servizio contenente gestione delle identità, visualizzazioni dei dati in tempo reale e un database di documenti. Funziona nel cloud.
MongoDB d'altra parte è un database completo con un linguaggio di query avanzato. In linea di principio, funziona sul tuo computer, ma ci sono provider cloud.
Se stai cercando il componente del database solo MongoDB è molto più maturo e ricco di funzionalità.
Firebase è progettato per aggiornamenti in tempo reale. Si integra facilmente con angolare. Entrambi sono database NoSQL. MongoDB può anche farlo con Angular tramite l'integrazione Socket.io. Meteor.js utilizza anche MongoDB con una connessione socket aperta per aggiornamenti in tempo reale.
MongoDB può essere eseguito localmente o ospitato su diversi provider basati su cloud. Firebase, a mio avviso, è ottimo per le app più piccole, molto veloce per essere installato e funzionante. MongoDB è ideale per app più grandi e robuste, l'integrazione in tempo reale è possibile ma richiede un po 'più di lavoro.
Dopo aver usato Firebase una quantità considerevole sono arrivato a trovare qualcosa.
Se intendi utilizzarlo per app di grandi dimensioni in tempo reale, non è la scelta migliore. Ha una vasta gamma di problemi tra cui un sistema di gestione degli errori difettoso e limitazioni. Passerai molto tempo a cercare di capire Firebase e i suoi nodi. È anche abbastanza facile per un progetto diventare una cosa monolitica che va fuori controllo. MongoDB è una scelta molto migliore per quanto riguarda un backend per un'app di grandi dimensioni.
Tuttavia, se devi creare una piccola app o prototipare rapidamente qualcosa, Firebase è un'ottima scelta. Sarà un modo incredibilmente semplice per colpire il terreno correndo.
Risponderò a questa domanda in termini di AngularFire, la libreria di Firebase per Angular.
Tl; dr: superpoteri. :-)
Associazione dati a tre vie di AngularFire. Angolare associa la vista e l'ambito $, ovvero che cosa fanno gli utenti nella vista si aggiorna automaticamente nelle variabili locali e quando JavaScript aggiorna una variabile locale la vista si aggiorna automaticamente. Con Firebase anche il database cloud si aggiorna automaticamente. Non è necessario scrivere richieste $ http.get o $ http.put, i dati si aggiornano.
Binding dati a cinque vie e sette vie, nove vie, ecc. Ho realizzato un gioco tic-tac-toe usando AngularFire. Due giocatori possono giocare insieme, con le due viste che aggiornano i due $ ambiti e il database cloud. Puoi creare un gioco con tre o più giocatori, tutti condividendo un database Firebase.
La libreria OAuth2 di AngularFire semplifica l'autorizzazione con Facebook, GitHub, Google, Twitter, token e password.
Doppia sicurezza. È possibile impostare i percorsi angolari in modo da richiedere l'autorizzazione e impostare le regole in Firebase su chi può leggere e scrivere i dati.
Non c'è back-end. Non è necessario creare un server con Node ed Express. L'esecuzione del proprio server può richiedere molto lavoro, richiedere informazioni sulla sicurezza, richiedere che qualcuno faccia qualcosa se il server non funziona, ecc.
Veloce. Se il tuo server è a San Francisco e il client è a San Jose, va bene. Ma per un client a Bangalore la connessione al tuo server sarà più lenta. Firebase è distribuito in tutto il mondo per connessioni veloci ovunque.
Nella mia esperienza, lavorare con Firebase è un enorme vantaggio se stai provando a fare la gestione degli utenti, il database, il tipo di app di messaggistica poiché tutte queste funzionalità sono già ben integrate.
Come altri hanno già detto, se ti concentri solo sull'aspetto del database / query, segui mongo.
Firebase è una suite di funzionalità.
Credo che tu stia cercando di confrontare Firebase Realtime Database con Mongo DB. Firebase Realtime Database archivia i dati come formato JSON e si sincronizza con tutti gli aggiornamenti dei dati a tutti i client che ascoltano i dati. Ti astrae da tutta la complessità necessaria per configurare e ridimensionare qualsiasi database. Non consiglierò Firebase in presenza di molti scenari complessi in cui è necessaria l'aggregazione dei dati (query che richiedono tipi di sommario / MEDIA). Anche se questo è recentemente ottenibile utilizzando le funzioni Firebase. La modellazione dei dati in Firebase è complicata. Ma è il modo migliore per iniziare istantaneamente. MongoDB è un database. Questo ti offre molte potenti funzionalità. Ma MongoDB, se installato su qualsiasi piattaforma, è necessario gestirlo da soli.
Quando provo a scegliere tra Firebase o MongoDB (o qualsiasi DB). Provo a rispondere a quanto segue.
Firebase offre alcune buone funzionalità come la riflessione delle modifiche in tempo reale, una facile integrazione del meccanismo di autenticazione e molte altre funzionalità integrate per un rapido sviluppo web. Firebase, rende lo sviluppo Web così semplice che non esiste mai. Il database Firebase è un fork di MongoDB .
Qual è il vantaggio dell'utilizzo di Firebase su MongoDB?
Puoi sfruttare tutte le funzionalità integrate di Firebase su MongoDB.