Toutes les sessions de Transform 2021 sont disponibles à la demande dès maintenant. Regarde maintenant.
Firebase est une base de données clé-valeur multi-nœuds optimisée pour la synchronisation des données, souvent entre les machines des utilisateurs ou les smartphones et le stockage centralisé dans le cloud. Il est conçu pour faciliter la vie des développeurs en gérant une grande partie du transfert et de l’extraction de données. Cela soulage les développeurs d’applications des charges de programmation associées à la gestion des versions ou des emplacements. Ils peuvent écrire les nouveaux bits sur Firebase et les données seront cohérentes dans tout le système.
Firebase est apprécié en grande partie parce qu’il peut constamment propager et synchroniser les modifications entre les copies locales des informations stockées sur les machines des utilisateurs avec des versions conservées dans le cloud. Firebase élimine bon nombre des défis liés au mélange de l’authentification, de la synchronisation et de la ségrégation en jonglant avec plusieurs versions et en s’assurant que les bons bits sont les mêmes dans tout le système.
Aujourd’hui, Firebase est un élément central du kit d’outils de développement cloud de Google. Le produit, point culminant d’années d’évolution, a été positionné au centre d’une offre de backend mobile en tant que service de la société Firebase, que Google a acquise en 2014. Firebase est disponible via Google et via un version open source.
Firebase a tôt fait de prendre la forme d’une base de données qui ne se limite pas à un seul ordinateur physique. Sa forme moderne lui permet de répartir les charges de travail entre plusieurs machines en divisant les ensembles de données, en créant des copies de leurs bits, ou les deux. Firebase étend les algorithmes utilisés pour la cohérence du centre de données à l’ensemble du réseau en traitant les données stockées sur les téléphones ou les ordinateurs de bureau des utilisateurs comme des versions locales de la grande base de données. En substance, votre téléphone ou votre ordinateur portable fait désormais partie du cloud.
Alors que Firebase a commencé en tant qu’entreprise distincte, Google a étroitement intégré le logiciel à ses autres produits logiciels cloud. Firebase ML, par exemple, est une collection de bibliothèques qui exploitent la puissance d’autres outils de Google, comme AutoML ou TensorFlow. L’ajout de fonctionnalités telles que celles utilisées pour rechercher du texte dans une image ou trouver des étiquettes appropriées est relativement facile.
Les développeurs n’ont pas à s’inquiéter des dangers d’incohérences entre les données sur, par exemple, le téléphone d’un utilisateur et la base de données centrale. Une fois les données stockées localement, Firebase envoie des copies aux serveurs cloud afin que les deux versions soient cohérentes. Le transfert fonctionne également dans l’autre sens car les modifications apportées sur le cloud sont répliquées localement. Les développeurs côté serveur peuvent communiquer avec le logiciel client en cours d’exécution en écrivant simplement des données sur le Nuage de base de feu.
Les fonctions Cloud de Google, une option sans serveur, peuvent également être intégrées à Firebase afin que de nouvelles données puissent déclencher des fonctions. Lorsqu’un utilisateur se connecte pour la première fois, ou chaque fois que la base de données change, une fonction sera invoquée qui peut ensuite déclencher d’autres événements ou fonctions dans le Nuage de Google ou ailleurs. Ces fonctions peuvent être utilisées pour post-traiter des images, nettoyer du texte ou assurer la cohérence des données.
Firebase Cloud Messaging ajoute une couche d’organisation supplémentaire au processus d’envoi de messages en regroupant les utilisateurs par nom ou par sujet. Une fois initialisé, Firebase peut envoyer des notifications d’événements sous forme de messages à des groupes prédéfinis ou à des utilisateurs qui se sont abonnés à certains sujets.
Google a également développé un certain nombre de cas d’utilisation standard de Firebase, comme le redimensionnement d’images ou le déclenchement d’e-mails, qui simplifient certaines tâches courantes.
Flutter est un autre outil de niveau supérieur, également construit par Google, qui intègre des widgets d’interface utilisateur sophistiqués avec la base de données en dessous. Il fonctionne avec un certain nombre de bases de données allant de la plus simple, comme SQLite, à la plus complète, comme PostgreSQL. Il peut également s’appuyer sur Firebase lui-même.
Comment les sociétés de bases de données établies abordent-elles le problème ?
En ce qui concerne le développement Web, la plupart des bases de données plus anciennes imposaient trop de tâches programmatiques aux développeurs. Ces bases de données ont commencé en stockant des données sur une seule machine. Alors que les principales bases de données se sont depuis longtemps développées pour répliquer et partager des données sur plusieurs bases de données et machines, elles ont généralement évité l’intégration avec les petites copies locales de données mises en cache sur les machines des utilisateurs. Les fournisseurs de cloud étendent leurs propres bases de données, souvent avec des couches supplémentaires.
AWS a créé Amplify en reliant plusieurs de ses outils de niveau inférieur pour gérer l’authentification et le stockage de données. La couche DataStore stocke les informations localement et les transmet au cloud AWS lorsqu’une connexion est disponible. L’outil regroupe également un certain nombre d’autres services, notamment l’hébergement et un ensemble d’applications serveur pour l’édition de structures de données et de contenu.
Et les parvenus ?
Les problèmes auxquels les adresses Firebase sont confrontées sont courants dans le développement moderne. Il n’est donc pas surprenant que les joueurs débutants s’efforcent de développer, voire de remplacer carrément, Firebase.
Supabase et NHôte construisent des alternatives backend à Firebase en ajoutant des couches pour l’authentification et la réplication à PostgreSQL. Ils ont marié des normes plus modernes comme GraphQL avec un cœur côté serveur construit sur un moteur SQL de confiance.
Une grande partie de la concurrence provient des plates-formes de développement complètes qui ajoutent également des couches pour simplifier l’interaction avec la base de données. Parse, par exemple, est une plate-forme complète pour créer des applications client-serveur qui s’intègrent à une base de données centrale. Il ajoute des fonctionnalités telles qu’une interface GraphQL, un système de fichiers et un cadre de notifications à un noyau qui repose sur PostgreSQL ou MongoDB. Back4App est une autre couche construite sur Parse qui simplifie encore plus le codage.
Une autre concurrence vient d’entreprises sans base de données qui offrent de nombreuses fonctionnalités dans le cadre de cadres de développement d’applications mobiles. Des produits comme Xamarin sont désormais plus étroitement intégrés à des clouds comme Azure. GameSparks est conçu pour simplifier la création de backends pour les jeux en réseau, un travail qui nécessite une grande partie de la même synchronisation que Firebase.
D’autres outils, comme Pubnub, ont abordé le problème de la diffusion de messages en continu pour le suivi des groupes et des espaces virtuels, un autre défi qui nécessite une grande partie du même support que Firebase. Dans certains cas, ces produits ciblés peuvent fournir exactement ce qui est nécessaire sans s’appuyer sur Firebase.
Y a-t-il quelque chose que Firebase ne puisse pas faire ?
Firebase est un outil idéal pour aider les développeurs à démarrer rapidement, car il gère une grande partie du travail de réplication des données et de diffusion des notifications d’événements. Il élimine les défis liés au stockage simultané des données dans le téléphone d’un utilisateur et dans une base de données centrale.
Le modèle de données principal est limité à NoSQL, bien que certains développeurs aient créé FireSQL, un outil qui ajoute une syntaxe de type SQL. Tarification Firebase est défini en fonction de chaque lecture ou écriture, une fonctionnalité qui séduit les développeurs antérieurs mais peut parfois surprendre les développeurs si le prix augmente rapidement avec la popularité croissante d’un produit.
VentureBeat
La mission de VentureBeat est d’être une place publique numérique pour les décideurs techniques afin d’acquérir des connaissances sur la technologie transformatrice et d’effectuer des transactions. Notre site fournit des informations essentielles sur les technologies et les stratégies de données pour vous guider dans la gestion de vos organisations. Nous vous invitons à devenir membre de notre communauté, pour accéder à :
- des informations à jour sur les sujets qui vous intéressent
- nos newsletters
- contenu de leader d’opinion fermé et accès à prix réduit à nos événements prisés, tels que Transformer 2021: Apprendre encore plus
- fonctionnalités de mise en réseau, et plus