¿Hasta qué punto el desarrollo de la interfaz de usuario de Android es diferente del desarrollo de la interfaz de usuario web?

Está bastante lejos

Los diseños podrían construirse en estilo declarativo utilizando archivos XML, o podrían crearse dinámicamente utilizando código Java puro.

Los diseños se asemejan a una combinación de HTML y CSS, escritos en XML con reglas y relaciones similares que posicionan un widget en la pantalla. No tiene divs, tiene LinearLayout, RelativeLayout y FrameLayout. No tiene entradas ni menús desplegables, tiene EditTexts y Spinners.

Si un botón tiene un estado normal y uno presionado, usted vincula otro archivo XML al que se usa el botón, y en ese archivo XML adicional apunta a los llamados activos “dibujables” o vincula a otro conjunto de XML archivos que describen la apariencia de un estado. O podrías hacer eso programáticamente.

Todo lo demás se hace en Java, y la mayoría de las veces vinculará partes de los archivos XML a objetos Java en los que puede realizar operaciones, y escuchará la entrada del usuario y reaccionará ante ella.

Lo bueno es que solo necesitas saber Java y estás listo para comenzar. Lo malo es que, al igual que en CSS, las relaciones XML que declaras para colocar vistas en la pantalla, tienen algunos comportamientos predeterminados ocultos, y al igual que CSS, algunos comportamientos se ignoran por completo en algunas situaciones.

En el desarrollo web tienes compatibilidad de navegador. En Android, tiene diferentes densidades de pantalla y diferentes formas de pantalla, y también tiene modo horizontal / vertical y diferentes comportamientos según el fabricante del dispositivo, el modelo y la versión del sistema operativo. Está muy fragmentado.