54 votes

Google App Engine vs Firebase

Je suis en train de décider de l'option pour aller avec. (ou un autre si c'est mieux) C'est pour une messagerie type d'application où il y aura un volume élevé de notifications et d'écriture de base de données.

Option 1 - Google App Engine en utilisant le Nuage de points de terminaison et de Cloud Datastore
Pour:

  • En mesure de construire une API comme je l'aimerais.
  • Évolutive

Inconvénients:

  • Plus de travail de la mise en œuvre d'un système de notification. (Qui sera à la fin Firebase Messagerie en Nuage)

Option 2 - Firebase
Pour:

  • En mesure d'utiliser le Firebase Base de données, Firebase Authentification de l'Utilisateur, Firebase Messagerie en Nuage(notifications)
  • Détaillées des statistiques d'utilisation pour tous les appareils

Inconvénients:

  • Pas d'API

Option 3 - Serait-il possible de combiner Google Cloud Endpoints et Firebase?

80voto

MicroR Points 133

Tout d'abord prendre un coup d'oeil sur le graphique ici à partir de Google docs pour une bonne comparaison et le contraste des différentes application mobile backend services qu'ils offrent. Voici le tableau:

enter image description here

Mon avis personnel sont (mis à Jour):

Option 1 - Google App Engine en utilisant le Nuage de points de terminaison et de Cloud Datastore
Pour:

  • Vous apprendrez beaucoup plus sur le repos patron de la rédaction de votre propre API. Vous serez également forcé à apprendre à faire des appels d'api restful (que ce soit iOS ou Android) et c'est très précieux de compétences dans l'industrie. Firebase sorte de fait tout pour vous et vous n'aurez jamais apprendre ce genre de choses.
  • Vous devez écrire vous-même, mais vous pouvez faire preuve de créativité avec vos méthodes de l'API et Google Cloud Messaging et le type de méthodes que vous créez. Ils peuvent vraiment faire quelque chose et de se connecter à une base de données (par exemple MySQL, SQL Server, banque de données). Dans Firebase vous devez utiliser leurs json de la base de données. Je ne recommande pas l'utilisation d'une base de données SQL pour une application mais des gens différents ont des besoins différents.

Inconvénients:

  • Il faut plus de travail et de l'envelopper votre tête autour de la banque de données peut être difficile au début. Ce n'est pas comme une base de données relationnelles telles que SQL.
  • Aussi, je crois qu'il y a quelques domaines où vous pouvez "tirer dans le pied" en créant des méthodes et des requêtes qui sont très inefficaces et donc de prendre du temps pour s'exécuter.
  • Une chose qui est ennuyeux pour de nouvelles applications est l'automatique-mise à l'échelle en FGA. Longue histoire courte, si on ne frappe votre API pendant environ 15 minutes puis toutes les instances, sont fermés. Une fois qu'un nouvel appel est effectué, il faut une quantité importante de temps pour tirer une instance sauvegarder, et l'exécution de votre méthode de l'API. Cela peut être gênant pour les applications nouvelles, parce que les nouveaux utilisateurs peuvent chose il ya quelque chose de mal avec l'application et donc la peut cesser de l'utiliser. Vous pouvez le faire en manuel-mise à l'échelle, mais alors que les coûts de l'argent pour avoir un exemple tout le temps (de cette écriture autour de 27 $/mois à partir de mon facturés pour les applications). Voir mon post ici pour plus d'informations sur ce problème et une solution , je suis venu avec.

Option 2 - Firebase
Pour:

  • Il est fait pour être facile à utiliser pour les débutants, et il existe de nombreux tutoriels/cours sur Firebase pour faire les populaires les choses que vous voulez faire comme envoyer des notifications push et de synchroniser les données.
  • Contrairement à la FGA, il est rapidement sorti de la boîte. Pas de tir instances. Cela le rend idéal pour les nouvelles applications que vous voulez impressionner les utilisateurs avec leur rapide des données.
  • Vous pouvez obtenir autour de l'apprentissage de la nitty gritty des choses compliquées comme les adaptateurs (Android) et de mise en réseau (dans les applications mobiles) et s'appuient sur les Firebase classes. C'est peut-être un peu plus noob-friendly? Encore une fois, la documentation est grand et out-of-the-box, je pense qu'il y a moins de chances de se tirer dans le pied par l'écriture de requêtes inefficace.

Inconvénients:

  • Firebase est lourde sur le code client. Si vous voulez un appareil Android et une application iOS, vous devez écrire beaucoup de code client pour les deux. En FGA, beaucoup de que la logique disparaît dans la GAE app. Mais cela pourrait être un avantage si vous ne voulez pas vraiment administrateurs de base de données dans votre application, et se contenter d'iOS + Android développeurs qui savent Firebase. Mais pour moi, c'était le grand tour off.
  • Que faire si Firebase va dans le sens de Parse.com... Où Facebook a annoncé qu'ils ne seront pas soutenir plus. Ce serait vraiment sucer! Vous serait enfermé dans Firebase et n'ont développé aucune connaissance en programmation sur la façon de faire une API restful. Toutefois, en raison de Google lourd investissement dans Firebase et maintenant la mise à niveau de GCM à Firebase Messagerie en Nuage, il est clair qu'ils ont de grands projets pour Firebase et il n'est pas d'aller n'importe où. Donc, je ne pense pas que cela compte comme un "con" mais gardez à l'esprit?

Lire la suite sur le lien pour éventuellement en les combinant.

54voto

Tom Points 4834

Je suis intrigué par le fait que de nombreuses discussions de Firebase (y compris la question et la réponse ci-dessus) ne parviennent pas à parler de ce qui, pour moi, c'est une différence très importante: le prix.

Voici la Firebase prix horaire.

Voici le Magasin de données et GAE prix.

Il peut être difficile de les comparer, mais mon interprétation est que Firebase est très cher.

Et cela devrait venir en tant qu'aucune surprise. FGA et de la banque de données sont en concurrence avec des services similaires à partir d'Amazon, Microsoft, etc., et la concurrence est féroce. Oui, ces services ne sont pas aussi générique que l'infrastructure et SQL, bien sûr, mais ils semblent être suffisamment proche pour que les prix restent compétitifs.

Firebase, d'autre part, est un service de qualité qui rivalise avec d'autres services back-end comme les Analyser, et une fois que vous décidez de l'utiliser, je pense qu'il serait très difficile de revenir. Il devrait venir en tant qu'aucune surprise que Google pousse Firebase tellement dur qu'ils vont probablement faire une tonne d'argent hors de lui, car ils peuvent prix dans une telle prime.

À mon avis, le résultat de ceci est que Firebase est un bon choix pour un volume faible et à forte marge, mais si vous envisagez de créer une typique, orienté vers les consommateurs, ad pris en charge le service qui dépendent de grand volume pour faire de l'argent, alors le coût de Firebase peut tuer votre profit.

2017-10 Outre:

J'ai regardé Firebase de nouveau avec la sortie récente de Firestore.

Je pense qu'il est important d'être conscient d'un autre problème: l'utilisation de Firestore pour une application Android signifie l'utilisation de la Firebase de la bibliothèque du client qui dépend fortement de Google Play Services, ce qui signifie que vous ne pouvez pas déployer pour non-Google dispositifs, y compris Amazon Fire tablettes et (je crois) l'ensemble du marché Chinois.

1voto

TheeBen Points 1144

Une chose que j'ai appris récemment que j'ai du mal à trouver une solution pour elle est que firebase n'offre pas tout le travail autour de l'appareil à la notification ; alors qu'il n'offre serveur à un périphérique de notification push et c'est assez facile à mettre en place. Mais le manque de fonctionnalité est très importante et il y a une théorie du complot que c'est parce qu'ils essaient de vous pousser à utiliser d'autres produits google ainsi.

Ou peut-être, puisqu'il n'a pas été développé au début, ils ont gardé le même. J'ai pensé que app engine est un moyen de connecter le firebase et les dispositifs à cet effet et donc, je pencherais vers la combinant à la fois firebase et d'autres produits google, dans ce cas, app engine. Si vous envisagez de faire plus de retour de fin de traitement, telles que le traitement de l'image, etc, alors vous êtes à la recherche à app engine et compute engine pour sûr, qui pourrait être intégrée avec Firebase résultant en une théorie puissante backend solution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X