Bonjour,
En effet, comme tu l'as mentionné, on ne veut pas réécrire toute une application après un nombre d'années. Essentiellement, c'est vrai que pour le front-end, puisque le code back-end ne perdra pas de valeur. J'ai drôlement l'impression que le Web est en train, ou est déjà une machine à API. Par là j'entends que les grandes applications vont utilisés des services Web afin de récupérer des informations. Ainsi, d'écrire un API distint de l'application permet de séparer deux couches d'application. Dans les deux cas, c'est possible d'écrire le code en PHP et en JavaScript. En thérie, il serait possible de faire un API en n'importe quel langage informatique si vous voulez ! Pour le site web (le output du serveur, dans un navigateur), j'ai une grande préférence pour les SPA et particulièrement avec AngularJS. Il regroupe tous les outils nécessaire pour le développement d'une application, tout simplement. Pour moi, de créer des applications dans le contexte d'Angular, c'est de détacher l'application du serveur, de ne plus dépendre d'une technologie exécutée côté serveur. Tout ce que l'application serveur devrait faire, c'est me fournir le output de base (page html, chargeant tous les styles et scripts) et de répondre à tous les appelles à l'API.
Donc, tu pourrais avoir un API, écrit dans le langage que vous voulez et un site Web écrit en JavaScript. À tient ! Vous vouliez une application mobile ? N'est-ce pas magique ? Le JavaScript fonctionne sur les mobiles (voir Apache Cordova). Certe il y aurait probablement plusieurs adaptations, mais le code de base pour la gestion fonctionne déjà. Vous vouliez une application fonctionnant avec Node WebKit ? et bien c'est possible, ça fonctionne aussi en JavaScript !
D'un autre côté, il y a toute la partie gestion de projet. On ne peut pas développer des applications sans budget, à moins de travailler gratuitement. Ainsi, de développer des applications à plusieurs couches peut demander un peu plus de temps initialement, mais ce travail de structuration ne sera pas inutile puisqu'il sera bon pour presque toujours. L'API ne perdra jamais de valeur, alors que le site Web perdra quelques plumes en considérant la vitesse où les technologies évolues. Dans quelques années, un nouveau site Web pourrait être utilisé en utilisant la même API (comme peu le montrer cette image)
Bonne chance ! :-)