Je veux développer un backend pour une application Android. Quelle technologie dois-je utiliser ?


Eh bien, cette question est assez large car vous devez dissocier le logiciel/service d'hébergement et le logiciel que vous voulez écrire :

- Pour la partie hébergement :


-- Vous avez la solution PaaS cloud comme Google App Engine, Azure, Parse, etc. Tous ces services fonctionneront avec une approche "pay as you go" avec un niveau gratuit (ie consommation gratuite si vous'ne pas monter en charge). C'est une solution agréable et facile car vous n'avez pas à vous soucier trop de choses qui ne sont pas vraiment pertinentes (comme configurer votre serveur, faire des mises à jour, s'inquiéter de l'arrêt du serveur, etc.)

-- Vous avez la solution cloud IaaS comme Google Compute Engine, Amazon (AWS), Azure, etc. Cette fois, vous avez une machine virtuelle : cela signifie que vous avez essentiellement un serveur linux et que vous devez tout faire (installer le serveur que vous voulez comme Apache, IIS, Node.js, Ruby On Rails, Java, etc. Installer la base de données, etc.) Vous devez comprendre que si vous passez à l'échelle, c'est beaucoup de travail pour concevoir une nouvelle architecture (de quel serveur ai-je besoin ? Où dois-je mettre ma DB ? etc.) C'est aussi une solution "pay as you go" avec une mise à l'échelle "facile" au début (vous avez essentiellement juste à appuyer sur un bouton pour rendre votre serveur plus puissant) mais à la fin, vous ne pouvez'faire cela indéfiniment donc vous'finirez par mettre en place de nouveaux serveurs avec plus de soucis ...

-- Vous pouvez louer un serveur et faire ce que vous voulez't avec lui (ce sera la même chose que la solution IaaS, juste un système linux) mais cette fois il n'y a pas de capacité de mise à l'échelle .... Cela peut être la solution la moins chère mais aussi la plus risquée car la nuit où vous sauterez de peu d'activité à BEAUCOUP d'activité, vous aurez envie de pleurer :/ (et ce sera beaucoup de travail).

Donc, en gros, pour le prix => louer un serveur. Pour l'évolutivité => PaaS.
(C'est mon PoV, il peut être imparfait.)

- Pour la partie logicielle :

Bien, cela dépend vraiment du service que vous voulez fournir et de ce que vous maîtrisez déjà. Vous pouvez faire du Java, du Ruby, du Python, du Node.js, du .NET, du PHP, etc. Chacun d'entre eux peut à peu près tout faire. Les questions à se poser sont :

-- Est-ce que je connais déjà les bases du langage ?

-- Est-ce que j'aime comment il'est construit et comment il fonctionne ?

-- Y a-t-il une documentation traitant de ce que je veux faire écrite avec ce langage sur internet ?

Bien, je pense que c'est à peu près tout ce à quoi on peut répondre =)

.