Para aumentar la excelente respuesta de Peter Mullins:
- Haga que sus servicios de back-end estén disponibles como un conjunto de API bien definidas. No tienen que ser REST / JSON-RPC ni nada elegante (pero ayuda, si lo hace). Simplemente no incruste la secuencia lógica de llamada en la interfaz de usuario, ya que la misma lógica puede no tener sentido en diferentes dispositivos.
- Si la interfaz de usuario es diferente en función del factor de forma (que debería ser, para que sea útil para el usuario final) y puede mostrar datos diferentes, haga los arreglos necesarios en las API, de modo que se envíen las respuestas apropiadas.
- Enrute las solicitudes entrantes en función del tipo de dispositivo (se puede usar “User-Agent” en el encabezado de solicitud HTTP para esto), por lo que se llama a los manejadores de acción apropiados, API de back-end y creadores de respuestas para generar el contenido apropiado para el dispositivo.