Couverture de l'article Parse server vs Firebase
Retour aux articles

L'agence

WanadevStudio

Parse server vs Firebase

Parse server et Firebase sont des outils permettant le développement d'applications mobiles ou web plus rapidement. Ces outils vous évitent de devoir développer des parties telles que la gestion de la base de données, les envois de notifications push (Mobiles et même web pour Firebase). Voici un article vous permettant de voir la différence ainsi que les forces et faiblesses de chacune des solutions.

Tout d'abord vous devez savoir que ces deux outils ne fonctionnent pas de la même manière.

  • L'outil Parse-server est open-source depuis début 2016 et s'installe donc sur vos propres serveurs avec mongo-db comme gestionnaire de base de données. Toutes les données sont donc conservées chez vous.
  • Firebase, qui appartient maintenant à Google est différent puisque c'est une solution qui propose un service en version gratuite ainsi qu'un autre en version payante en fonction de votre utilisation.

Duel 1 : Installation des outils

Installation de Parse-server

Voici les commandes à lancer pour installer le serveur Parse sur votre machine locale. NPM doit préalablement avoir été installé sur votre poste.

$ npm install -g parse-server mongodb-runner
$ mongodb-runner start

Lorsque ces deux installations sont terminées. Vous pouvez créer un fichier myConfig.json qui vous servira de fichier de configuration pour votre serveur Parse.

{
   "appId": "myAppId",
   "masterKey": "myMasterKey",
   "databaseURI": "mongodb://localhost/test",
   "push": {
      "android":{
         "senderId": "your-sender-id",
         "apiKey": "your-api-key-gcm"
      }
   }
}
$ parse-server myConfig.json

@ À cette étape votre outil Parse doit fonctionner correctement en tache de fond avec la configuration renseignée dans le fichier ci-dessus. Vous pouvez si vous le voulez faire une dernière étape pour profiter d'un dashboard pour gérer facilement votre base de données ainsi que l'envoi simple de push notifications.

$ npm install -g parse-dashboard
$ parse-dashboard --appId yourAppId --masterKey yourMasterKey --serverURL "http://localhost:1337/parse"

Par défaut le serveur URL doit être http://localhost:1337/parse. Vous aurez l'info dans les retours de la commande : parse-server myConfig.json. Après avoir lancé la dernière commande parse-dashboard vous pourrez alors profiter d'un dashboard tout prêt pour gérer les données de votre serveur Parse.

Installation de firebase

Ici rien de plus simple que de créer un compte Firebase et d'ensuite créer un projet puis une application liée à ce projet pour profiter de l'outil. Vous pourrez ajouter une application IOS, Android ou même une web app.

@ Pour ce premier duel, malgré une assez grande facilitée d'installation, Parse-server est moins efficace que son rival. À ce stade, la seule chose qui pourrait faire pencher la balance du côté de Parse-server serait le fait que les données sont stockées sur votre serveur et vous avez le contrôle sur elles.

Duel 2 : Pluguer les outils sur votre application

Je vais vous expliquer dans cette partie comment mettre en place Parse-server et/ou Firebase dans une web-app puis dans une application mobile hybride de type Cordova.

@ Je vais partir du principe que vous connaissez déjà comment fonctionne cordova.

Ces petits exemples montrent l'initialisation de Parse et de Firebase pour utiliser la feature la plus simple à faire fonctionner : La base de données en temps réel.

Parse-server et web-app

Pour installer le SDK de Parse du côté client, rien de plus simple : il suffit d'ajouter la bibliothèque parse.js dans votre page index.html.

<script src="https://npmcdn.com/parse@1.9.2/dist/parse.js"></script>

Vous pouvez alors initialiser le SDK. Voici les quelques lignes obligatoires

Parse.initialize("myAppId");
Parse.serverURL = 'http://localhost/parse';

Voici le code d'exemple pour ajouter un contenu dans la base de données :

var myObject = Parse.Object.extend("myObject"); // On créé le modèle
var myObject = new myObject(); // On instancie l'objet que l'on veut insérer

testObject.save({
    foo: "bar"
})
.then(function(object) {
    alert("It worked!");
});

Ça y est, vous avez initialisé Parse avec une web-app. Vous pouvez dés à présent utiliser les features proposées par Parse pour les web-app.

Parse-server et application Cordova

Pour initialiser Parse dans une application Cordova, j'ai dans un premier temps téléchargé la lib parse.js que j'ai ajoutée au projet dans la partie js. Ensuite j'ai lié cette lib à mon fichier index.html dans l'application. C'est la même façon de faire que pour les web-app mais nous avons la bibliothèque Parse directement intégrée dans notre projet.

<script type="text/javascript" src="js/parse.js"></script>

Pour que Parse fonctionne voici le code js à injecter dans votre fichier source :

Parse.initialize("myAppId");
Parse.serverURL = "http://10.0.2.2:1337/parse"; // http://10.0.2.2/ est l'adresse localhost de votre machine dans le virtual device Android

Lorsque cela est fait, vous pouvez dés à présent vous mettre à la recherche de plugins Cordova dont vous avez besoin pour avoir accès a la base de données offerte par Parse ainsi qu'aux push notifications. Le code Js est le même que pour les web-app (une application Cordova est en javascript aussi).

Firebase et web-app

Maintenant nous allons nous intéresser à l'initialisation de l'outil Firebase dans une web-app. C'est aussi simple qu'avec Parse-server. Voici le code à ajouter dans votre page web.

<script src="https://www.gstatic.com/firebasejs/3.5.0/firebase.js"></script>
<script>
  var config = {
    apiKey: "<API_KEY>",
    authDomain: "<PROJECT_ID>.firebaseapp.com",
    databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
    storageBucket: "<BUCKET>.appspot.com",
    messagingSenderId: "<SENDER_ID>",
  };
  firebase.initializeApp(config);
</script>

Depuis la console de Firebase vous pourrez facilement récupérer toutes les clés de votre projet, API_KEY, PROJECT_ID, DATABASE_NAME...

Voila le code qui vous permettra d'enregistrer du contenu dans la base de données :

firebase.database().ref('myObject/' + myObjectId).set({
    foor: "bar",
    foo2: "bar2",
  });

Firebase et application Cordova

Pour pluguer Firebase avec une application Cordova il faudra ajouter un plugin à votre projet. J'ai trouvé que ce plugin était le plus simple a câbler et le plus efficace.

Avec le plugin Télérik, le code d'ajout dans la base de données est le même qu'avec la web-app. Cf : paragraphe précédent.

Duel 3 : Features proposées pour chacun des outils

Base de données en temps réel

Elle permet de persister des données dynamiques qui concernent votre application.

Outils disposant de cette feature :

  • Firebase
  • Parse server

Cibles pouvant utiliser la base de données :

  • Android
  • IOS
  • Web-app

Storage

Avec les deux solutions vous pouvez aussi uploader vos fichiers relatifs à l'application. Par exemple la photo de profil de votre utilisateur, un fichier pdf ou autre..

Disponible pour Parse-server et Firebase.

@ Vous pouvez uploader des fichiers avec un input de type file ou en envoyant directement du base64.

Push Notification

Cette feature permet d'envoyer des push notifications aux devices enregistrés sur votre application et abonnés aux différents "flux" de push.

Pour Firebase, c'est disponible sur :

  • Android
  • IOS
  • Web-app

Pour Parse server, c'est disponible sur :

  • Android
  • IOS

@ Ici Firebase prend un léger avantage sur Parse-server car pouvoir envoyer des push notifications sur navigateur apporte un plus.

Authentification

L'authentification est intégrée directement dans les deux outils et gère vos utilisateurs ainsi que les sessions dans vos applications. De plus les outils mettent à disposition des connexions par des services tiers.

  • Facebook : Firebase, Parse server
  • Google + : Firebase
  • Twitter : Firebase
  • Github : Firebase

@ La connexion Facebook est totalement fonctionnelle et assez simple à utiliser. Avec Firebase aucun soucis puisque le service de google sert de lien entre les deux. J'ai eu un léger soucis avec Parse, mon travail étant en local, cela faisait dysfonctionner la connexion Facebook au moment de la redirection.

Admob

Cette fonctionnalité n'est disponible qu'avec Firebase qui vous branche directement avec le service google adéquat. Ils vous permet d'ajouter des publicités exclusivement dans vos applications Android et IOS. Pas de web-app ici car Adsense fera très bien le boulot. Vous pouvez aussi gérer un IAM (In-App "Market")

@ Pour une personne souhaitant monétiser son application c'est une feature très intéressante !

Analytics

Voici la dernière fonctionnalité qui m'a semblé intéressante : l'analytics de vos applications.

Ceci permet de voir le nombre d'utilisateurs globaux et journaliers de votre applications ainsi que connaître le pourcentage d'ouverture des notifications.

Vous pouvez ainsi connaître l'âge moyen des utilisateurs, leur sexe, leurs pays d'origine, etc... comme tout autre outil d'analytics.

L'outil ressemble à Google Analytics, à vrai dire, et fonctionne plutôt bien. Une latence d'une journée a cependant été remarquée pour l'affichage des stats.

@ Firebase a été racheté par Google, la première mise à jour de l'outil a intégré cette fonctionnalité d'analyse. Un gros plus par rapport à Parse-server.

Conclusion : Parse-server ou Firebase ?

Je pense que j'utiliserai Firebase de mon côté lorsque j'aurai besoin de tels outils. Il apporte un plus grand nombre de fonctionnalités.

D'un point de vue utilisation, si vous lisez la documentation des deux outils, ils peuvent paraître compliqués mais avec un peu de recherche et d'obstination vous comprendrez vite comment s'utilisent les deux outils et la plus-value sur vos projets sera énorme.

@ Bien-sûr mon choix est discutable... du côté de Parse-server, les données persistées resteront sur vos serveurs et vous avez donc la main dessus...

Je vous invite à tester les deux solutions et de vous faire votre propre opinion ! N'hésitez pas à donnez vos avis sur les deux solutions dans les commentaires.

  • Couverture de l'article #2 - Module Federation et Vue à l'ère de l'IA : retour de la MadVue 2026
    #2 - Module Federation et Vue à l'ère de l'IA : retour de la MadVue 2026

    Il y a 3 mois

    Voici la seconde partie de mon retour sur la MadVue 2026, la conférence Vue.js qui s'est tenue à Madrid le 22 mai 2026. Si vous avez manqué le début, la première partie est juste ici :

    Après les fondations de l'application Vue moderne, on change d'échelle et d'époque. Dans cet article, on va voir comment partager des composants entre plusieurs applications Vue avec Module Federation, puis trois talks consacrés à Vue et l'intelligence artificielle : faire générer une interface en direct par un LLM, préparer son projet Vue pour les agents, et enfin apprendre le frontend à l'ère de l'IA.

    C'est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite
  • Couverture de l'article #1 - Temps réel, URLs typées, formulaires et toolchain : retour de la MadVue 2026
    #1 - Temps réel, URLs typées, formulaires et toolchain : retour de la MadVue 2026

    Il y a 3 mois

    Le 22 mai 2026, je me suis rendu à Madrid pour la MadVue 2026, la conférence espagnole dédiée à l'écosystème Vue.js. Une journée dense, neuf talks, et une tendance de fond très claire : entre une grosse moitié orientée IA et expérience développeur et une autre consacrée aux fondations qui rendent nos applications soutenables.

    Dans cette série de deux articles, je reviens sur l'ensemble des talks. En les lisant, vous aurez l'impression d'y avoir assisté.

    Cet article est le premier des deux, vous pourrez retrouver chaque partie de cette série ici :

    Dans ce premier article, on pose les fondations d'une application Vue moderne : on verra comment faire du temps réel proprement, comment en finir avec le parsing manuel des paramètres d'URL, un tout nouveau modèle pour construire ses composants de formulaire, l'avènement d'une toolchain JavaScript unifiée (Oxc, Rolldown), et ce qui nous attend avec Nuxt 5.

    Beaucoup de sujets à traiter, alors c'est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite
  • Couverture de l'article #4 - Construire un DOM Virtuel, les différentes méthodes de rendu et bien écrire ses tests : retour de la Vue.js Amsterdam 2023
    #4 - Construire un DOM Virtuel, les différentes méthodes de rendu et bien écrire ses tests : retour de la Vue.js Amsterdam 2023

    Il y a 3 ans

    Pour la première fois, Wanadev s’est rendu à la plus grosse conférence annuelle autour de Vue.js : la Vue.js Amsterdam 2023. J’ai eu l’honneur d’assister à la 5ème édition, couronnée par le retour d’Evan You, le créateur de Vue.js et Vite, en personne.

    Dans cette série de quatre articles, je vais vous faire revivre ces deux jours de conférences. En les lisant, vous aurez l’impression d’y avoir assisté !

    Cet article est le troisième des quatre, vous pourrez retrouver chaque partie de cette série ici :

    Dans cet article nous allons voir comment construire un Virtual DOM, on parlera des différentes façons de faire du rendu dans le web, de comment écrire des bons tests et plein d’autres choses.

    Beaucoup de sujets à traiter, alors, c’est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite
  • Couverture de l'article #3 - Vue.js en 2023, l'avenir de Vue Router, les patterns avec Pinia  : retour de la Vue.js Amsterdam 2023
    #3 - Vue.js en 2023, l'avenir de Vue Router, les patterns avec Pinia : retour de la Vue.js Amsterdam 2023

    Il y a 3 ans

    Pour la première fois, Wanadev s’est rendu à la plus grosse conférence annuelle autour de Vue.js : la Vue.js Amsterdam 2023. J’ai eu l’honneur d’assister à la 5ème édition, couronnée par le retour d’Evan You, le créateur de Vue.js et Vite, en personne.

    Dans cette série de quatre articles, je vais vous faire revivre ces deux jours de conférences. En les lisant, vous aurez l’impression d’y avoir assisté !

    Cet article est le troisième des quatre, vous pourrez retrouver chaque partie de cette série ici :

    Dans cet article on va parler de Vue en 2023, de patterns Pinia, du futur de vue-router, de l’écosystème Vue et de TypeScript avec Vue.

    Beaucoup de sujets à traiter, alors, c’est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite
  • Couverture de l'article #2 - Nuxt.js, l'art de la composition, accessibilité : retour de la Vue.js Amsterdam 2023
    #2 - Nuxt.js, l'art de la composition, accessibilité : retour de la Vue.js Amsterdam 2023

    Il y a 4 ans

    Pour la première fois, Wanadev s’est rendu à la plus grosse conférence annuelle autour de Vue.js : la Vue.js Amsterdam 2023. J’ai eu l’honneur d’assister à la 5ème édition, couronnée par le retour d’Evan You, le créateur de Vue.js et Vite, en personne.

    Dans cette série de quatre articles, je vais vous faire revivre ces deux jours de conférences. En les lisant, vous aurez l’impression d’y avoir assisté !

    Cet article est le second des quatre, vous pourrez retrouver chaque partie de cette série ici :

    Dans cet article on va parler de Nuxt en 2023, d’un client Mastodon fait avec Nuxt, d’expérience développeur sur Nuxt, de Nitropack, de CSS-in-TS, de comment concevoir ses composants Vue.js, d’accessibilité et de maintenance d’écosystème open-source en entreprise.

    Beaucoup de sujets à traiter, alors c’est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite
  • Couverture de l'article #1 - NPM Package, PlayWright, Google LightHouse : retour de la Vue.js Amsterdam 2023
    #1 - NPM Package, PlayWright, Google LightHouse : retour de la Vue.js Amsterdam 2023

    Il y a 4 ans

    Pour la première fois, Wanadev s’est rendu à la plus grosse conférence annuelle autour de Vue.js : la Vue.js Amsterdam 2023. J’ai eu l’honneur d’assister à la 5ème édition, couronnée par le retour d’Evan You, le créateur de Vue.js et Vite, en personne.

    Dans cette série de quatre articles, je vais vous faire revivre ces deux jours de conférences. En les lisant, vous aurez l’impression d’y avoir assisté !

    Cet article est le premier des quatre, vous pourrez retrouver chaque partie de cette série ici :

    Dans cet article, nous allons parler de Rock’n Roll, voir comment créer son package NPM, découvrir PlayWright pour tester ses applications de bout en bout, parler de commerce international, déconstruire les idées reçues sur Google Lighthouse et aborder le sujet de la performance sous Vue.js.

    Beaucoup de sujets à traiter, alors c’est parti !

    Photo de Louis GOURAIN auteur de l'article

    Louis GOURAIN

    Lire la suite