What are the limitations of using a service like firebase?
L'implementazione delle proprie soluzioni personalizzate su un servizio può diventare molto ingombrante e creare soluzioni su misura per esigenze specifiche. Potrebbe costringerti ad aderire ad alcuni dei loro dati, eseguendo un sacco di manipolazione dei dati, accettando le loro regole di business e così via.
Why do large companies choose to build their own back ends and APIs instead of using MBaaS services?
Perché aumenta la capacità di creare soluzioni personalizzate di cui sopra in aggiunta al fatto che si ha un migliore controllo e proprietà dei dati (quest'ultimo è tipicamente un aspetto molto importante per le aziende in generale). Non sei vincolato da partner esterni ma dalla tua capacità di fornire (che per il record potrebbe non essere migliore del servizio).
Can someone please give me an example of something that can be done by building your own back end that cannot be done using a service like Firebase?
Non proprio, tutto dipende da ciò che cerchi di ottenere e da ciò che offre il servizio. Non ho mai usato Firebase ma il loro elenco di funzioni sembra piuttosto buono.
Questa è più una di quelle situazioni in cui il diavolo si trova nei dettagli. Se vuoi tenere traccia di un evento specifico in un modo molto specifico in un momento specifico, potresti essere molto limitato usando Firebase. Se hai bisogno di un accesso diretto a tutti i dati per poter eseguire query pesanti, lavori o eseguire analisi su di esso, potresti scoprire che in realtà devi recuperare i dati da Firebase per farlo. La capacità di adattare la consegna dei contenuti potrebbe essere gravemente ostacolata, affermando che si desidera memorizzare nella cache qualcosa per un tempo specifico sul lato client attraverso le intestazioni di Cache-Control, ma non lo forniscono. Potrebbe non essere possibile creare il proprio livello cache usando qualcosa come Memcached o Redis.
Come azienda, questi tipi di azioni e soluzioni diventano in genere più importanti.
Non sto dicendo che Firebase non è in grado di fare queste cose, ma più approfondisce quanto più uno è tipicamente limitato dal servizio. Ciò significa che questi servizi sono in genere eccellenti se non si conosce abbastanza su come costruire qualcosa di più adatto alla propria applicazione, si accerti di fornire esattamente ciò di cui si ha bisogno o semplicemente non si cura abbastanza di queste cose e vogliono solo per ottenere qualcosa attivo e funzionante.