amazon web services - services - ¿Cuál es mejor para el usuario entre Parse, Firebase y AWS Cognito?
aws sdk cognito (1)
Estoy dispuesto a utilizar el servicio de sincronización para mi aplicación. Pero quiero elegir el mejor. Quiero saber cuál es mejor entre todos estos. Mi aplicación se ejecutará en Android, IOS, Windows y Web.
Voy con Firebase porque lo probé. Me está dando resultados rápidos y también me permite trabajar sin conexión. ¿Es mejor o iré con Parse o AWS Cognito?
También tengo una opción de Google Cloud. ¿Google Cloud ofrece servicios como Firebase? ¿Y las actualizaciones en tiempo real son posibles con Parse como Firebase?
Codeek tiene un buen punto que esta pregunta está basada en opiniones, así que tome mi respuesta con un grano de sal.
Tengo experiencia con Parse y Firebase, pero no con Cognito. En mi experiencia, Parse es mejor cuando se trabaja con grandes bases de datos basadas en relaciones. (Es decir, bases de datos en las que múltiples clases de objetos se señalan entre sí e interactúan). En este sistema, es fácil almacenar una gran cantidad de datos de manera muy sucinta, pero trabajar con estos datos se realiza a través de instantáneas. Esto significa que puede tomar una instantánea de los datos, editarlos y luego actualizar el servidor con la instantánea actualizada. Esto es perfecto para cosas como mi aplicación de entrega, donde solo un usuario está actualizando las órdenes en nuestro servidor en cualquier momento.
Firebase implementa un esquema de modelo-observador, por lo que es mucho mejor para las aplicaciones que son altamente interactivas. Por ejemplo, he usado Firebase para crear un juego en tiempo real de patata caliente. La ventaja aquí es que los cambios en los datos en el servidor se envían automáticamente a todos los dispositivos que se han registrado como oyentes (la funcionalidad no está disponible en Parse según mi experiencia). Esto mantiene a todos los usuarios en la misma página todo el tiempo. El inconveniente es que la base de datos está estructurada de forma jerárquica y no tiene definidos "objetos". Más bien, está estructurado a través de pares clave / valor donde las claves principales no pueden tener un valor asociado. Para ilustrar esto, una estructura de muestra para almacenar un juego en mi base de datos fue algo como esto:
-Games
--1
---Users
----1 = "[email protected]"
----2 = "[email protected]"
---PotatoHolder = 1
---TimeRemaining = 30
---Loser = -1
Cognito con el que no estoy familiarizado, entonces permitiré que alguien más explique cómo está diseñado ese sistema de base de datos.
En resumen, codeek es correcto en que esta es una pregunta basada en opiniones, pero para dos de tus opciones, una buena regla de mi experiencia es que Parse es fantástico para bases de datos de relaciones grandes en conjunto con aplicaciones de usuario único (es decir, un solo jugador o gire juegos basados). Firebase es más adecuado para sistemas de datos jerárquicos en conjunto con aplicaciones multijugador en tiempo real.
¡Espero que esto ayude! Si pudiera publicar un poco más sobre qué tipo de aplicación está tratando de compilar, tal vez yo, u otra persona, podría proporcionarle un poco más de orientación.
Respuesta expandida: Aunque esta pregunta ha sido marcada como fuera de tema, para responder a la pregunta de seguimiento de Nidhi si hay una forma de usar Parse como un esquema de modelo observador: No es fácil . Usar un temporizador es la opción más simple. La otra opción es usar notificaciones push. Esto requeriría obtener el permiso de su usuario . Puede configurar el Código de la nube en Parse para enviar notificaciones automáticas a todos los usuarios relevantes y luego, interceptarlos dentro de su cliente para que estén "en silencio". En otras palabras, cuando lleguen, puede hacer que su cliente responda al actualizar su juego sin mostrar una cinta o notificación, como las notificaciones automáticas normales. No he hecho esto yo mismo, ya que prefiero usar Firebase para ese tipo de aplicación, pero creo que es posible.
Origen: PFQueryTableView Actualización automática cuando se actualizan nuevos datos o se actualizan cada minuto usando Parse
La respuesta de Keith es similar a la referencia de Nidhi para refrescar PFObjects a través de un temporizador, el comentario de Handsomeguy se refiere a la posibilidad de notificaciones push "silenciosas".