J'ai un problème stratégique global qui ressemble à une question philosophique (enfin, en quelque sorte ;-)).
J'ai une application qui interagit via REST/JSON avec un serveur web django. Le [front|back]end web évolue rapidement et progressivement, mais, en cas de changements importants, nous avons introduit un mécanisme in-app pour gérer les ruptures d'API (une popup est présentée à l'utilisateur, l'invitant à installer l'application mise à jour depuis le magasin).
Ce à quoi je n'avais jamais pensé auparavant, c'est comment gérer le processus de révision, en considérant que, si je mets à jour le backend juste pour le processus de révision :
- Les anciennes applications ne seront pas en mesure de parler le nouveau langage API ;
- le message de mise à niveau leur sera présenté sans qu'ils puissent réellement le trouver dans le magasin ;
- les gens verront le front-end amélioré avant de pouvoir interagir avec leur propre application.
La seule chose qui m'est venue à l'esprit est de laisser les utilisateurs existants souffrir de ce changement jusqu'au moment où ils pourront télécharger la nouvelle version.
Comment géreriez-vous cela empasse ?