lenguaje google fire developer descargar con app google-app-engine firebase google-cloud-endpoints

google-app-engine - developer - google cloud fire



Google App Engine vs Firebase (3)

Me sorprende que muchas discusiones de Firebase (incluida la pregunta y la respuesta anteriores) no mencionen lo que, para mí, es una diferencia muy importante: el precio.

Aquí está el calendario de precios de Firebase .

Aquí están los precios Datastore y GAE .

Puede ser difícil compararlos, pero mi interpretación es que Firebase es muy caro.

Y esto no debería ser una sorpresa. GAE y el almacén de datos tienen que competir con servicios similares de Amazon, Microsoft, etc., y la competencia es feroz. Sí, estos servicios no son tan genéricos como la infraestructura y el SQL, por supuesto, pero parecen estar lo suficientemente cerca como para que los precios sigan siendo competitivos.

Firebase, por otro lado, es un servicio premium que compite con otros servicios de back-end como Parse, y una vez que decida usarlo, creo que sería muy difícil cambiar. No debería sorprender que Google esté presionando tanto a Firebase, que probablemente saquen mucho dinero, ya que pueden ponerle un precio tan alto.

En mi opinión, el resultado de esto es que Firebase es una buena opción para servicios de bajo volumen y alto margen, pero si planeas crear un servicio típico, orientado al consumidor y publicitario que dependería de un gran volumen para ganar dinero, entonces el costo de Firebase puede matar tus ganancias.

2017-10 Adición :

Miré a Firebase nuevamente con el reciente lanzamiento de Firestore.

Creo que es importante tener en cuenta otro problema: usar Firestore para una aplicación de Android significa usar la biblioteca cliente de Firebase, que depende en gran medida de los Servicios de Google Play, lo que significa que no puede implementar dispositivos que no sean de Google, incluidas tabletas Amazon Fire y (Creo) todo el mercado chino.

Estoy tratando de decidir qué opción elegir. (u otro si es mejor) Esto es para una aplicación de tipo mensajería donde habrá un gran volumen de notificaciones y escrituras en la base de datos.

Opción 1 : Google App Engine utilizando Cloud Endpoints y Cloud Datastore
Pros:

  • Capaz de construir una API de la manera que me gustaría.
  • Escalable

Contras:

  • Más trabajo implementando un sistema de notificación. (Que terminará siendo Firebase Cloud Messaging)

Opción 2 : Firebase
Pros:

  • Capaz de usar la base de datos de Firebase, la autenticación de usuario de Firebase, la mensajería en la nube de Firebase (notificaciones)
  • Estadísticas detalladas de uso para todos los dispositivos

Contras:

  • Sin API

Opción 3 : ¿sería posible combinar Google Cloud Endpoints y Firebase?


Primero eche un vistazo a la tabla here de los documentos de Google para una gran comparación y contraste de los diferentes servicios de backend de aplicaciones móviles que ofrecen. Aquí está la tabla:

Mis opiniones personales son (actualizadas):

Opción 1 : Google App Engine utilizando Cloud Endpoints y Cloud Datastore
Pros:

  • Aprenderá mucho más sobre el patrón de descanso escribiendo su propia API. También se verá obligado a aprender cómo hacer llamadas api relajantes (ya sea con iOS o Android) y esa es una habilidad muy valiosa en la industria. Firebase hace todo por ti y nunca aprenderás esto.
  • Tienes que escribirlo tú mismo, pero puedes ser realmente creativo con tus métodos API y Google Cloud Messaging y el tipo de métodos que creas. Realmente pueden hacer cualquier cosa y conectarse a cualquier base de datos también (por ejemplo, MySQL, SQL Server, Datastore). En Firebase debes usar su base de datos basada en json. No recomiendo usar una base de datos SQL para una aplicación, pero diferentes personas tienen diferentes necesidades.

Contras:

  • Se necesita más trabajo y envolverse la cabeza en el almacén de datos puede ser difícil al principio. No es como una base de datos relacional como SQL.
  • También creo que hay algunas áreas en las que puedes "dispararte en el pie" creando métodos y consultas que son muy ineficientes y, por lo tanto, tardan mucho tiempo en ejecutarse.
  • Una cosa que es molesta para las nuevas aplicaciones es el escalado automático en GAE. Para resumir, si nadie golpea su API durante aproximadamente 15 minutos, todas las instancias se apagan. Una vez que se realiza una nueva llamada, se necesita una gran cantidad de tiempo para activar una copia de seguridad de la instancia y ejecutar su método API. Esto puede ser molesto para las nuevas aplicaciones porque los nuevos usuarios pueden pensar que hay algún problema con la aplicación y, por lo tanto, pueden dejar de usarla. Puedes hacer escalas manuales, pero eso cuesta dinero tener una instancia activa todo el tiempo (a partir de esta fecha, alrededor de $ 27 / mes desde mis aplicaciones facturadas). Ver mi publicación aquí para obtener más información sobre este tema y una solution que se me ocurrió.

Opción 2 : Firebase
Pros:

  • Está hecho para ser fácil de usar para principiantes y hay muchos tutoriales / cursos en Firebase para hacer las cosas populares que desea hacer, como enviar notificaciones push y sincronizar datos.
  • A diferencia de GAE, sale rápido de la caja. No hay instancias de encendido. Esto lo hace ideal para nuevas aplicaciones que desean impresionar a los usuarios con sus rápidos datos.
  • Puede moverse aprendiendo lo esencial de cosas complicadas como adaptadores (Android) y redes (en aplicaciones móviles) y simplemente confíe en las clases de Firebase. Tal vez es un poco más novato amigable? Una vez más, la documentación es excelente y lista para usar, creo que hay menos posibilidades de dispararse en el pie escribiendo consultas ineficaces.

Contras:

  • Firebase tiene mucho código de cliente. Si desea una aplicación para Android y una para iOS, debe escribir mucho código de cliente para ambas. En GAE, mucha de esa lógica se abstrae en la aplicación GAE. Pero esto podría ser una ventaja si realmente no quieres administradores de bases de datos en tu aplicación y solo tienes desarrolladores de iOS + Android que conocen Firebase. Pero para mí este fue el gran apagón.
  • ¿Qué pasa si Firebase sigue el camino de Parse.com ... donde Facebook anunció que ya no lo soportarán más? Eso realmente apestaría! Estarás bloqueado en Firebase y no habrás desarrollado ningún conocimiento de programación sobre cómo hacer una API relajante. Sin embargo, debido a la fuerte inversión de Google en Firebase y ahora la actualización de GCM a Firebase Cloud Messaging, está claro que tienen grandes planes para Firebase y no va a ninguna parte. Entonces, no creo que esto cuente como una "estafa", pero téngalo en cuenta.

Lea más en el enlace para posiblemente combinarlos.


Una cosa que aprendí recientemente mientras lucho por encontrar una solución es que firebase no ofrece ningún tipo de reparación de dispositivo a dispositivo; a pesar de que ofrece notificación de inserción de servidor a dispositivo y es bastante fácil de configurar. Pero la falta de características anteriores es muy importante y existe una teoría de conspiración que se debe a que también intentan empujarte a usar otros productos de Google.

O tal vez, dado que no se desarrolló al principio, lo mantuvieron igual. He pensado que el motor de aplicaciones es una forma de conectar la base de fuego y los dispositivos para este fin, por lo que me inclinaría por combinar tanto Firebase como otros productos de Google en este caso, el motor de aplicaciones . Si planea hacer más procesamiento de fondo, como procesamiento de imágenes, etc., entonces está buscando en el motor de aplicaciones y en el motor de cómputo seguro que podría integrarse con Firebase, dando como resultado una solución de back-end hipotéticamente poderosa.