Comment rendre le serveur backend d’une application mobile?

Je suis un développeur Android et je veux créer une application qui affiche les utilisateurs sur une carte et effectue des tâches en fonction de leur emplacement.

Le modèle complet de l’application doit être exécuté sur le serveur. J’ai besoin d’une API qui:

  • Reçoit l’emplacement de l’utilisateur
  • Effectue des calculs en fonction de l’emplacement des utilisateurs
  • Envoie une réponse à des utilisateurs spécifiques avec les résultats

Le problème est que j’ai 0 expérience dans la programmation côté serveur.

Pouvez-vous s’il vous plaît me suggérer un moyen de faire le serveur?

J’ai vérifié la plateforme Google Colud et cette vidéo. La vidéo traite de la connexion entre l’application et le serveur, mais ce dont j’ai vraiment besoin, c’est de coder le modèle et de le déployer sur le cloud.

Comment puis-je construire l’API pour une telle application, en tant que développeur sans expérience de programmation côté serveur?

Pouvez-vous me suggérer un tutoriel qui passe par la création d’un backend cloud pour une application mobile?

C’est une question très complexe. Je ne recommande pas d’utiliser une solution «prête à l’emploi» comme FireBase, car il est encore plus difficile de la transformer en une API «appropriée» ultérieurement lorsque vous en aurez besoin. Si vous connaissez Android, alors vous connaissez Java, vous n’aurez aucun problème à apprendre à travailler avec un framework comme Spring Framework que je recommande. Java sur le backend a besoin d’un conteneur Java Servlet, comme Tomcat. Vous devez d’abord configurer un environnement de développement sur votre machine pour cela. Je recommande de rechercher les didacticiels Spring Framework pour cela, par exemple les didacticiels Spring Framework REST.

Deuxièmement, vous aurez besoin d’une firebase database telle que MySql ou MongoDB pour stocker des données. Spring est livré avec des connexions prêtes à l’emploi pour la plupart des bases de données les plus courantes. Il est donc facile de travailler avec elles.

Lorsque vous êtes prêt à déployer votre service, je vous recommande d’utiliser un PAAS comme Heroku.com où vous pouvez exécuter votre service gratuitement en premier. De cette façon, vous contrôlez tout vous-même et vous apprenez également une compétence utile.

Comme vous venez de l’arrière-plan JAVA, vous n’avez besoin que de quelques éléments de base et vous serez prêt à partir.

  • Utilisez PASS: Ils prendront tous les devops de votre côté, ce qui sera un grand soulagement si vous n’êtes pas familier avec le serveur. Je recommande d’utiliser Heroku ou App Engine. Voici le guide de App Engine avec JAVA sur le dessus. https://cloud.google.com/appengine/docs/java/

  • Base de données: Vous ne savez pas exactement comment vous stockez et gérez vos données utilisateur à l’heure actuelle, mais si vous avez besoin d’une firebase database, il en existe plusieurs. La raison pour laquelle Firebase est la meilleure solution, car elle exploite en temps réel et vous donne le contrôle de votre côté sans passer beaucoup de temps de votre côté.

  • API: Vous allez prendre la géo-localisation de l’utilisateur et l’envoyer au serveur. Sur serveur, vous devrez le traiter dans un emplacement réel et dans toute autre logique. Vous devrez utiliser les API de géolocalisation et de géocodage inversé de Google pour cela. Retrouvez ci-dessous: https://console.cloud.google.com/apis/

Aussi, si vous avez besoin d’aide, App Engine et Heroku offrent tous deux des limites gratuites et devraient suffire à votre cas d’utilisation.

Étant donné que votre expérience du développement côté serveur est limitée, je vous suggère d’utiliser une plate-forme backend-as-a-service. Cette approche présente l’avantage de vous permettre de concentrer votre temps sur le codage du client en fonction de vos différenciateurs concurrentiels et vous permet de tirer parti de plusieurs années d’expérience en développement côté serveur sans avoir à accélérer la technologie. Cela signifie également que vous pouvez effectuer une itération rapide et tester des idées de fonctionnalités avec moins de risques.

Il existe plusieurs options, mais dans votre cas, vous aurez besoin de quelque chose qui offre suffisamment de flexibilité pour implémenter une logique personnalisée et un modèle de données personnalisé. Certaines plates-formes vous permettent de créer une application backend complète avec des points de terminaison api REST et de prendre en charge automatiquement le déploiement, la sécurité et la gestion. Quelques exemples de fournisseurs de services backend peuvent être trouvés ici https://en.wikipedia.org/wiki/Mobile_backend_as_a_service .

Certaines plates-formes vous permettent en fait de créer une application personnalisée complète sans écrire de code, et certaines d’entre elles fournissent des composants prêts à l’emploi (comme le chat, les classements, etc.) mais sont moins flexibles.

Voici une liste des fournisseurs de backend en tant que service:

Vous n’avez pas fourni de détails spécifiques sur les tâches que vous souhaitez implémenter dans le backend, mais il est probable que vous puissiez répondre à vos besoins avec une simple API REST qui accepte vos données de localisation, exécute une logique métier, lit ou écrit à partir de votre modèle de données. renvoie toutes les données dont votre client a besoin. (Désolé je ne peux pas obtenir plus précis sans détails sur vos besoins). Si vous traitez des informations sensibles telles que des données de localisation, je vous recommande fortement de sécuriser l’API avec TLS / SSL (https), ou assurez-vous que la plate-forme que vous utilisez fournit ceci.