Back-end pour une app mobile

Bonjour à tous !

J’ai une petite question que je me suis souvent posé, et qui depuis peu devient nécessaire pour des projets personnels.

Comme le titre l’indique, je me pose la question du meilleur moyen pour mettre en place un back-end pour une app mobile multiplateforme.

Par back-end j’entends simplement pour commencer, une base de données commune, et donc un échange d’informations entre cette base et les apps sur les différentes plateformes. Dans un premier temps j’ai pensé à mettre en place une base de données sur un serveur et mettre en place une API REST, mais je trouvais ça assez fastidieux. J’ai également regardé du côté de Firebase qui semble plus rapide et plus simple à mettre en place. Il me semble qu’il existe d’autres solutions du même type, plus ou moins bonnes, mais je ne sais pas trop sur quoi les juger et vers laquelle me tourner.

De plus, j’aimerais dans certains cas, pouvoir saisir des informations dans la base de données mais en dehors de l’appli, dans une sorte d’espace admin. Avec ces solutions, il serait donc nécessaire de connecter un site, à la même plateforme (par exemple Firebase) en utilisant l’API JS fournie ? Ce qui sous-entends qu’il faut maîtriser au minimum le JS afin de pouvoir faire un back-end pour une app mobile ?

Je suis un peu perdu à ce niveau-là, donc si quelqu’un à déjà été confronté à ça ou à une petite idée de la meilleure solution à adopter, c’est avec plaisir que je recevrai ses conseils !

Merci d’avance.

Bonjour,

À vrai dire, pour ce genre de question, je me tournerai plus naturellement vers l’API http (que ce soit du REST ou non). Cependant, c’est aussi que je ne connais pas forcément bien les alternatives (comme Firebase énoncé ici).

Dans tous les cas, tu peux tout faire sans JS. Il suffit d’appeler l’API. Ça peut être fait en JS, mais aussi en PHP, Java, etc. C’est l’avantage de passer par HTTP ou une API multi-plateforme/langage.

Si je devais répondre le plus objectivement, ce serait :

  • Dans quelle technologie es-tu le plus à l’aise ?
  • As-tu besoin de fonctions proposées par une base particulière (transaction, modèle de données, etc.) ?

Et la réponse à ces deux questions donnera la réponse à ta première question.

Ok ce que tu cherches porte un nom : Mobile backend as a service
autrement nommé MBaaS.

Il en existe plein :

  • Firebase (by Google)
  • Kinvey,
  • Convertigo
  • backendless,
  • Parse (service arrêté et offert en opensource)
  • Sashido (Parse hosting)
  • Back4App (Parse hosting)
  • Backand
  • Buit.io
  • Back.io (by Mozilla)
  • Amazon AWS Mobile
  • Kumulos
  • Kuzzle (by Kaliop, une agence digital e à Montpellier)

La difficulté c’est de choisir. Features, prise en main, ergonomie, pricing, hosting, etc…

Il fournissent pour la plupart :

  • une API REST
  • gestion DB : quasi toujours du NoSQL
  • hosting de code backend, quasi toujour du NodeJS
  • push notification server
  • web hooks
  • une SDK client (JS, iOS? Android…) avec des feature bien cool (geoloc, ACL, connecteur social…)
  • customizer de templates
  • connexion avec des services tiers (envoi de SMS, etc…)

Certains sont plus spécialisés IoT, mais j’ai pas fouillé.

Perso j’ai pas mal bossé avec Parse, et basculé sur Sashido : c’est TRES pratique.

1 J'aime

Merci pour vos réponses !

C’est vrai que j’étais plus attiré vers les solutions MBaaS, qui me semblait plus simple et rapide à mettre en place.
Après si je souhaite réaliser un espace de management, il faudra surement que je me penche sur la solution qui se rapproche le plus de mes compétences/technologies en termes de développement afin de pouvoir traiter les données afin qu’elle se retrouve au sein des applications.

Pour réaliser un espace de management, t’aurais sans doute pas d’autres choix que de le faire toi meme, en exploitant l’API client (Javascript, etc…).
ou sinon d’utiliser une solution de dashboard générique (opensource’ ou propriétaire) que tu plugges avec les endpoints API du MBaaS.

Sinon autre chose intéressante a propos des traitements :
La plupart des MBaaS proposent des “webhooks” qui en gros permettent de faire des passerelles entre la plateforme
et des plateformes tierces.

Par ex si tu as un existant, une app à toi qui tourne déjà ailleurs (chez Amazon AWS, Heroku, …) et que tu as besoin de faire executer du code sur cette instance à partir du MBaaS, le “webhook” est ton ami.
Sashido, Back4App et Kinvey le porposent. Les autres je sais pas.

Un autre avantage au MBaaS, c’est que c’est pas taillé QUE pour les devs :
c’est aussi accessible pour les marketeurs, décideurs : ils peuvent s’en servir pour voir ce qu’il y a en base, faire des stratégie des push notification Android / iOS.
Par contre ca produit pas des tableaux de bord des graphiques.
Quoique encore une fois, ya certains fournisseurs qui doivent sans doute le proposer, genre Built.io qui est très complet.