Découverte de Firebase – épisode 1 : la genèse
Friand d’outils performants, facilitant le développement back-end ? Vous avez sûrement déjà entendu parler de Google Firebase. Cette plateforme vise à faciliter les processus de création et de maintenance du back-end, pour le web comme pour le mobile. De nombreuses applications reposent aujourd’hui sur Firebase, comme Wattpad, Trivago, The New York Times, Skyscanner ou encore Shazam.
Firebase offre une multitude de fonctionnalités : analyses, bases de données, notifications, et bien plus encore. Le but de ce couteau suisse est de faciliter la création d’applications de qualité dans un temps record, pour que vous puissiez vous concentrer sur vos utilisateurs et mettre en forme votre projet sans trop de prise de tête.
Un peu d’histoire pour commencer !
L’origine de Firebase remonte à 2011. Autrefois appelée Envolve, la plateforme a vu le jour grâce à James Tamplin et Andrew Lee. Ces derniers souhaitaient proposer une API permettant d’intégrer un système de chat aux applications mobiles. Au fur et à mesure, les deux hommes se sont rendu compte que les utilisateurs ne disposaient pas de leur produit uniquement pour l’envoi de messages, mais également pour la synchronisation de leurs données en temps réel. Suite à ce constat, les deux fondateurs de la plateforme ont décidé de dissocier leur système de discussion et leur architecture en temps réel, ce qui a grandement contribué à l’essor de Firebase.
En voyant le potentiel de la plateforme, le géant Google s’est empressé de la racheter en 2014 pour l’intégrer à son offre Google Cloud Platform. A partir de là, Firebase a connu une évolution vertigineuse et se positionne à présent comme une imposante plateforme multifonctionnelle. Actuellement, Firebase peut être intégré pour le développement :
- IOS
- Android
- Web
- Unity
- C++
Firebase s’oriente clairement vers le monde du mobile, mais n’empêche en rien l’utilisation de ses services pour des applications web. Les API Firebase sont regroupées dans un seul SDK, ce qui permet d’étendre le développement sur plusieurs plateformes et tout en gardant un back-end unifié. Le projet repose sur l’infrastructure Google, ce qui lui offre une puissance monstrueuse et lui permet de s’adapter à de nombreux projets de tailles variables. Improvise, adapt, overcome.
Un couteau suisse sous testostérone
L’objectif de Firebase est d’optimiser la maintenance du back-end, tout en assurant stabilité et simplicité d’utilisation. Mais lorsqu’on évoque ce fameux back-end, de quoi parle-t-on exactement ? Tout simplement (ou presque) de la partie serveur de l’application, qui centralise les processus d’authentification, de stockage ou encore de notification.
Firebase, c’est la promesse d’un back-end relativement simple. En effet, sans Firebase, la création d’une application connectée nécessite en général :
- Le développement de l’application en elle-même
- Le développement back-end, comportant notamment les APIs, les bases de données, etc
- La gestion de l’architecture système
L’ensemble de ces processus représente un coût et un temps dont on aimerait souvent se passer. Grâce à la plateforme de Google, vous pouvez gérer seul l’ensemble de votre projet, de l’application à la partie serveur, uniquement via le code de votre application et les SDK fournis par Firebase. En plus de vous faire gagner du temps, ces derniers permettent de réduire le nombre d’intégrations que vous devez gérer par le biais de votre application. De plus, la plateforme peut être exploitée sans problème par plusieurs utilisateurs en même temps, sans que l’on puisse constater des bugs ou des ralentissement majeurs.
Pour assurer ses objectifs, la plateforme a été fragmentée en plusieurs services adaptés à de nombreux types d’applications. Chaque service proposé par Firebase fonctionne très bien indépendamment des autres, mais il est tout de même préconisé d’utiliser ces services ensemble pour plus de performance. Pour profiter sereinement des services Firebase, quelques éléments sont requis :
- Un compte Google. Pour accéder à la console Firebase et à ses pouvoirs magiques, il vous faut obligatoirement un compte chez notre ami Google.
- Firebase-CLI et Node.js. L’ interface de ligne de commande facilite grandement la configuration de votre projet, et se révèle utile pour la gestion de l’ensemble des services Firebase. Vous pouvez installer Firebase CLI via le gestionnaire de packages npm, en exécutant la commande suivante :
Après avoir pris en compte ces deux éléments, configurer votre répertoire de projet pour la connecter avec la plateforme est un jeu d’enfant :
Une fois la personnalisation de base effectuée, à vous la puissance de Firebase ! Si jamais vous souhaitez en apprendre davantage, n’hésitez pas à faire un tour sur la documentation Firebase.
Pour conclure,
Comme vous avez pu le constater, la mise en place de Firebase sur votre projet est simple et rapide. Mais connecter la plateforme à votre application sans connaître les services qui vous sont proposés, c’est un peu comme acheter une voiture sans utiliser ses options. Lister l’ensemble des services proposés par la plateforme serait quelque peu soporifique, aussi nous vous présenterons dans l’article suivant les meilleurs services et comment les utiliser correctement dans vos projets applicatifs.