Architektur als Backend...wieso sind dann Programmiersprache und
IDE "extrem austauschbar"? Also konkret: Welche Architektur-Merkmale oder -Eigenschaften müssen erfüllt sein, um diesen Austausch so "extrem" realisieren zu können? Das würde mich "extrem" interessieren.
"Architektur als Backend" ist nicht besonders selbsterklärend
Ich verstehe es so, dass man im Backend eine sprachunabhängige Schnittstelle bereitstellt, mit der "das" Frontend (es können aber auch mehr als eins sein, z.B. ein mobiler Client, eine Web-Anwendung...) kommuniziert.
Diese sprachunabhängige Schnittstelle kann alle möglichen Ausprägungen haben - es kann eine simple Request/Response Web Service Schnittstelle sein (JSON über HTTP), oder ein Mix aus Kommunikationsmodellen (Broadcast, Publish/Subscribe ...).
"Extrem" einfach ist der Austausch, wenn die Schnittstelle nur Techniken und Protokolle verwendet die von allen gewünschten Entwicklungsumgebungen oder Sprachen weitgehend unterstützt werden. Ein Beispiel ist
SOAP: wenn alle Werkzeuge in der Lage sind, eine
WSDL-Datei (Web Service Definition) zu verstehen und daraus client- oder serverseitigen Sourcecode zu erzeugen, kann man
SOAP einsetzen. Wenn man dann den Server austauschen will, kann man dies tun ohne an den Clients Änderungen vornehmen zu müssen.