Back-End en tant que service pour les applications mobiles

Si vous êtes un développeur mobile, vous vous demandez peut-être comment gérer les données utilisateur dans votre prochaine application. Devriez-vous utiliser une base de données, un serveur dédié ou peut-être pouvez-vous gérer uniquement avec un frontal? Cet article vous aidera à prendre une meilleure décision.

1. Qu’est-ce que le back-end?

Avant de plonger dans les détails du service disponible, éliminons un peu de terminologie.

Pour les applications mobiles et Web, nous parlons souvent des fronts et des back-ends. Tandis que le l’extrémité avant définit l’interface utilisateur, l’interaction utilisateur et la présentation des informations, le back-end gère la logique métier, le stockage des données et la sécurité. Le front-end est le navigateur Web ou l’appareil mobile des utilisateurs, et le back-end est le ou les serveurs sur lesquels les données sont stockées et partagées.

Un nombre croissant d’applications mobiles modernes reposent sur au moins quelques fonctionnalités nécessitant un back-end. L’analyse des utilisateurs et de l’utilisation, les notifications push, la sécurité étendue, la communication utilisateur à utilisateur (dans les jeux multijoueurs ou les applications de messagerie, par exemple) et la monétisation de l’application via des publicités sont les exemples les plus courants.

2. Qui le développe?

Du point de vue d’un développeur mobile, le back-end semble être un tout autre monde, peuplé de bases de données et de serveurs. Ainsi, non seulement les développeurs doivent créer des interfaces mobiles belles et performantes, mais ils doivent également connaître les infrastructures réseau telles que les serveurs Web, les logiciels de gestion de bases de données, les langages de script côté serveur et bien plus encore.

En outre, ils devraient être des experts de la cryptographie moderne et de la sécurité informatique, du big data et de l’exploration de données, des réseaux de télécommunications mobiles (les applications mobiles fonctionnent principalement sur des téléphones intelligents connectés à un réseau de téléphonie mobile) et d’une liste toujours croissante de technologies supplémentaires.

Naturellement, il s’ensuit que, même pour développer une application mobile simple avec un back-end, le développeur doit maîtriser de nombreux outils et langages qui sortent du cadre du développement d’application ordinaire. Cette situation décourage sûrement de nombreux développeurs d’intégrer un back-end dans leurs applications.

3. Back-End as a Service (BaaS) à la rescousse

Avec le cloud computing absorbé dans le courant dominant, XaaS (c’est-à-dire BaaS, SaaS, PaaS, etc. – Back-End as a Service, Software as a Service ou Platform as a Service) a déjà commencé à redéfinir la façon dont les logiciels sont développés, publiés, et consommé.

L’idée de base est similaire à l’externalisation de votre développement, de la maintenance et de la gestion back-end à une autre partie. En d’autres termes, le back-end est mis à disposition des développeurs en tant que service Web.

Alors que différents fournisseurs de BaaS offrent des fonctionnalités diverses à travers une grande variété de modèles de tarification, la plupart d’entre eux utilisent une sorte de modèle «freemium». Cela signifie que les fonctionnalités de base telles que le stockage des données, l’analyse des utilisateurs / de l’utilisation, les notifications push et l’authentification sont fournies gratuitement jusqu’à une certaine limite d’utilisation. Une fois que l’utilisation dépasse cette limite ou que des fonctionnalités supplémentaires sont demandées, des frais sont facturés. Cela facilite la création et le lancement d’une application au niveau d’utilisation gratuite, puis la mise à l’échelle vers un niveau payant lorsque vous ajoutez des clients.

Normalement, le développeur doit utiliser les SDK et les API du fournisseur BaaS pour connecter son application au back-end.

4. Avantages et inconvénients de BaaS

Le plus grand avantage de BaaS est qu’il libère les développeurs du fardeau de créer et de gérer eux-mêmes des back-ends. Cela permet au développeur de se concentrer sur des choses plus importantes, telles que la conception d’une expérience utilisateur convaincante, qui seront les facteurs de succès réels de l’application. En outre, cela aide le développeur à éviter les courbes d’apprentissage abruptes généralement associées à la plupart des technologies dorsales. Cela réduit donc les coûts et le temps de développement. Il fournit également un moyen peu coûteux d’expérimenter des idées d’applications et de voir comment elles fonctionnent dans le monde réel.

Comme pour toute autre chose, BaaS a quelques compromis. Le plus gros inconvénient est le risque que votre fournisseur BaaS cesse soudainement ses activités et ferme le service. Dans un tel scénario, même si vous passez à un autre fournisseur, vous devrez peut-être repenser et recoder considérablement votre application, car le nouveau service peut avoir une API complètement différente. En fait, l’un des fournisseurs de BaaS les plus populaires, Parse, a récemment fermé ses portes, ce qui a affecté de nombreux développeurs (bien que l’infrastructure Parse ait été publiée sous une licence open-source et que de nouveaux fournisseurs ont surgi pour fournir un BaaS compatible Parse) .

En relation :  10 applications Android de stockage populaires et leurs alternatives

Un autre inconvénient est que la personnalisation de l’infrastructure back-end dans un BaaS est souvent limitée. Cela peut signifier que certaines fonctionnalités souhaitées pour votre application ne sont pas disponibles.

5. Comment choisir un fournisseur BaaS?

Vous devez vous poser plusieurs questions sur chaque fournisseur BaaS avant d’en sélectionner un pour votre application mobile.

La première question est de savoir si le fournisseur peut répondre aux besoins de votre application. Il convient de mentionner que parfois, redéfinir la portée de votre application pour qu’elle corresponde aux fonctionnalités offertes par un fournisseur BaaS peut vous donner des résultats vraiment étonnants. Mais n’abandonnez pas les fonctionnalités qui donnent à votre application son caractère unique et son attrait!

La plupart des fournisseurs BaaS proposent leurs services, gratuitement, jusqu’à un certain point seulement. Ce point limite est généralement défini par quelque chose comme le nombre d’appels d’API, le nombre d’utilisateurs actifs ou un paramètre similaire. Parfois, il peut être très difficile pour le développeur de prévoir la quantité d’utilisation ou le nombre d’utilisateurs de l’application. Il est donc tout à fait possible de se retrouver avec une plateforme qui n’est pas rentable pour le développeur.

Vérifiez cela à l’avance en projetant le coût et le chiffre d’affaires pour une plage de valeurs possibles qui correspondent à l’utilisation ou au nombre d’utilisateurs. Ensuite, vous pouvez voir quelle part des revenus de l’application irait aux frais BaaS et ajuster votre modèle de revenus si nécessaire. Le développeur peut également rechercher un fournisseur BaaS dont le modèle de tarification correspond le mieux au modèle de revenus de l’application.

Parce qu’il y a des limites à la personnalisation, certaines applications peuvent être difficiles ou impossibles à développer avec certaines des offres BaaS disponibles dans le commerce. Fait intéressant, certains fournisseurs de BaaS offrent des fonctionnalités plus spécialisées ciblant une catégorie d’applications spécifique, comme les jeux. Si votre application appartient à une telle catégorie, il y a plus de chances que la fonctionnalité requise soit prise en charge par un tel fournisseur. Vous devez faire un peu de recherche sur les fournisseurs BaaS qui ciblent votre catégorie d’applications spécifique.

Le développeur doit également tenir compte du cycle de vie de l’application. Plus la durée de vie de l’application est longue, plus le coût de s’en tenir au fournisseur BaaS est élevé. Pour une application qui existera pendant longtemps, il peut être intéressant d’investir dans la création de votre propre back-end.

6. Fournisseurs BaaS populaires

Maintenant que nous avons un aperçu de BaaS du point de vue d’un développeur et d’un fondateur d’application, examinons certains des packages BaaS populaires et leurs fonctionnalités. Alors que l’industrie est dominée par les fournisseurs commerciaux, un ensemble d’aspirants fournisseurs open source semble également être en augmentation.

Firebase

La plateforme BaaS de Google, Firebase, propose une liste complète de fonctionnalités classées en trois étapes, à savoir Développer, Gagner et Croître. L’étape de développement comprend des bases de données en temps réel, une authentification, une messagerie cloud, un stockage, un hébergement, un laboratoire de test (pour tester les applications sur un appareil) et des rapports d’incident. En tant que fournisseur commercial, il a également intégré sa plate-forme AdMob pour monétiser votre application. Plus loin sur la voie de la croissance, vous trouverez des fonctionnalités telles que l’indexation des applications, AdWords, les notifications et bien plus encore.

Parce qu’il provient de Google, le créateur d’Android, Firebase est généralement considéré comme une plate-forme Android. cependant, le SDK Firebase est également disponible pour iOS.

Ici sur Envato Tuts +, nous avons un certain nombre de tutoriels et de cours pour vous aider à démarrer avec Firebase. Vérifie-les!

  • Premiers pas avec Firebase pour Android

  • Comment créer une application de chat Android à l’aide de Firebase

  • Utiliser Firebase comme back-end

    JavaScript
  • Règles de sécurité Firebase

AWS

Un autre fournisseur commercial, Services Web Amazon (AWS), a été l’un des premiers fournisseurs PaaS. Il dispose d’un riche ensemble de services cloud et d’outils d’accompagnement, avec un contrôle, si vous le souhaitez, sur tous les aspects de vos serveurs virtuels. En fait, de nombreux autres fournisseurs de services cloud utilisent AWS dans les coulisses.

Cependant, toute cette puissance a un coût: AWS a une courbe d’apprentissage beaucoup plus abrupte que les autres fournisseurs BaaS. Les fonctionnalités incluent les SDK mobiles, les notifications par e-mail et SMS, l’analyse des applications et la batterie de périphériques pour tester votre application sur divers appareils mobiles.

Back4App (Parse SDK)

Parse était une plate-forme BaaS populaire, mais malheureusement Facebook a décidé de la fermer. Mais ne vous inquiétez pas que le SDK Parse mourra! Facebook a retiré le service d’hébergement parse.com en janvier 2017, mais le Analyser le SDK a été rendu open source. Parse SDK a beaucoup de grands développeurs qui travaillent dessus, et il existe un certain nombre de nouveaux sites Web qui offrent un hébergement back-end en tant que service.

L’un des meilleurs est Back4App. Il dispose d’un niveau gratuit avec un budget de stockage et de demandes généreux, ainsi que des API pour Android et iOS.

Mésosfer

Présentation de son BaaS hautement élastique, Mésosfer est un fournisseur commercial avec des fonctionnalités intéressantes qui prend en charge les applications intégrées mobiles, Web et même IoT.

BaasBox

Contrairement aux membres précédents de cette liste, BaasBox est un fournisseur BaaS open source. Les statistiques d’utilisation des développeurs et des API affichées sur leur site Web suggèrent un fournisseur compétitif et compétent, comparable aux fournisseurs commerciaux.

Grille utilisateur Apache

Un autre BaaS open source est Grille utilisateur Apache (du créateur du serveur Web populaire). Usergrid prend en charge l’exécution sur une infrastructure de serveur traditionnelle, vous permettant de déployer votre propre plate-forme BaaS. Les fonctionnalités incluent la gestion des utilisateurs, le stockage de fichiers et de données ainsi que la récupération.

Services mobiles Azure

Microsoft a ajouté une plate-forme BaaS à Azure, leur populaire suite de services cloud. Services mobiles Azure prend en charge les notifications push, la synchronisation des données et l’authentification. Pour les développeurs travaillant dans le domaine de l’entreprise, Azure Mobile Services offre également une prise en charge robuste de la connectivité aux réseaux d’entreprise à l’aide de technologies telles que Active Directory et VPN. Reflétant l’adoption récente par Microsoft du développement multiplateforme, Azure Mobile Services fonctionne sur Android, iOS et bien sûr Windows Phone.

Apple CloudKit

Apple a présenté son framework CloudKit aux côtés d’iOS 8 en 2014. Alors que son objectif principal était de servir de base de données en ligne pour les applications iOS, CloudKit offre également de nombreuses autres fonctionnalités, y compris les notifications push. L’une des meilleures choses à propos de CloudKit pour certains développeurs est le montant que vous obtenez gratuitement. Par exemple, avec CloudKit, il n’y a pas de limite au nombre de notifications push que vous pouvez envoyer à vos utilisateurs.

Cependant, un inconvénient dont vous devez être conscient lors de l’utilisation de CloudKit est qu’il n’est actuellement disponible sur aucune plate-forme non Apple. Cela signifie que si vous souhaitez créer une version Android de votre application, CloudKit ne fonctionnera pas!

sept. Conclusion

BaaS est une solution pratique et opportune au problème de l’ajout d’un back-end à vos applications mobiles. Cela aide également le développeur à gérer son temps limité de la meilleure façon possible. Il existe un nombre croissant de fournisseurs BaaS, et vous savez maintenant comment les utiliser!

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.