¿Cómo trabajan los desarrolladores de la interfaz de usuario de Android por separado de los desarrolladores de Android de back-end, ya que la mayoría de la interfaz de usuario está hecha programáticamente por el desarrollador de back-end? ¿Qué hace exactamente un desarrollador de IU?

En función de cómo se enmarca la pregunta, de alguna manera siento que has mezclado las cosas.

“Dado que la mayoría de la interfaz de usuario está hecha mediante programación por los desarrolladores de back-end” – Esta es una premisa incorrecta. Los desarrolladores de back-end no funcionan en la interfaz de usuario. Prefieren crear todo lo que se necesita para el desarrollo de la interfaz de usuario, principalmente servicios web. El desarrollo de servicios web no es lo mismo que el desarrollo de UI. Su alcance y mandato es completamente diferente del desarrollo de la interfaz de usuario. Crean los servicios a los que pueden acceder otros clientes. Por lo general, se sientan en el lado del servidor de la solución. Es por eso que el desarrollo de back-end también se llama desarrollo del lado del servidor.

Cualesquiera que sean los servicios que expone el back-end, que definitivamente no es UI, los clientes los consumen. Los clientes pueden ser aplicaciones móviles (Android o iOS) o incluso otras aplicaciones web. Por lo tanto, los clientes generalmente consumen los servicios web expuestos por el back-end y lo prestan de una manera que sea legible en formato humano.

Para darle un ejemplo el momento en que presente esta respuesta. Desde el back-end, el servicio web podría devolver el valor (1503659820000), los desarrolladores de la interfaz de usuario realizarán un procesamiento y lo mostrarán en un formato legible para humanos el viernes 25 de agosto de 2017 a las 11:17:00 a.m. GMT, o lo mostrarán en un programa personalizado widget basado en la plataforma que está utilizando: Android o iOS. Los desarrolladores de UI pueden ser desarrolladores de aplicaciones móviles (Android o iOS). Esto es solo un ejemplo.

Espero que esto ayude.

El desarrollador de UI es quien diseña la interfaz para los usuarios. Un desarrollador de UI debe tener la calidad para pensar como un usuario, es decir, qué quiere un usuario de la aplicación, cuánta información puede proporcionar, cuán atractivo es, qué componentes usar para cumplir el propósito de la aplicación, qué tan fácil de usar es , cuáles son los escenarios listos para usar que pueden ocurrir y cómo salir o resolver fácilmente esas situaciones. Eso es lo que los desarrolladores de UI hacen básicamente usando XML, no la técnica de arrastrar y soltar.

No estoy seguro de que “la mayoría de la interfaz de usuario se realiza mediante programación por el desarrollador de back-end”. Escribo la mayor cantidad de IU que puedo con XML, pero supongo que podría ser una anomalía.

No considero que el desarrollo de clientes de Android sea “backend”. Cuando pienso en el backend de una aplicación, considero que consta de elementos del lado del servidor, como un almacén de datos y los servicios web que interactúan con él y otros servicios.