La media
función de consulta CSS3 ha dado lugar a muchas posibilidades interesantes en términos de desarrollo de sitios web que se ajustan a diferentes tamaños de pantalla y dispositivos.
Sin embargo, en la práctica, estoy empezando a tener la sensación de que la media
función de consulta CSS3 y todo el movimiento "Diseño web receptivo" pueden no cumplir con su promesa.
El problema que veo es que, al final del día, los desarrolladores web se preocupan principalmente por si sus usuarios están viendo contenido a través de una computadora de escritorio, tableta o dispositivo móvil. Pero CSS3 solo proporciona un medio para detectar la resolución de pantalla . En teoría, la detección de la resolución de la pantalla parece una excelente manera de ajustarse para varios dispositivos diferentes. Pero en la práctica ...
Supongamos que tenemos una función Javascript simple que solo muestra el ancho de la pantalla:
function foo()
{
alert(screen.width);
}
En mi Blackberry Touch, esto genera:
768
En mi Samsung Galaxy, esto genera:
800
Entonces ... en este punto, la resolución de los teléfonos inteligentes convencionales se está acercando bastante a las resoluciones de nivel de escritorio. La capacidad de detectar si un usuario está viendo su sitio web a través de un teléfono inteligente, tableta o computadora de escritorio, parece ser cada vez más difícil si lo único que busca es la resolución de pantalla.
Esto me hace cuestionar toda la sabiduría detrás de todo el movimiento CSS3 "Diseño web receptivo" basado en consultas de medios. Casi parece que la media
función de consulta es más adecuada para adaptarse a una ventana de navegador de cambio de tamaño en una pantalla de escritorio, en lugar de varios dispositivos móviles.
Otra posible técnica para detectar dispositivos móviles o tabletas es utilizar la detección de funciones, verificando si el ontouchstart
evento es compatible. Pero incluso esto se está volviendo poco confiable a medida que muchas pantallas de escritorio comienzan a admitir el tacto.
Pregunta: Entonces, como desarrollador web, si no puedo confiar en RWD o en la detección de funciones, ¿es el rastreo de agente de usuario (tan notoriamente poco confiable como siempre) realmente la mejor opción para detectar dispositivos móviles?
device-width
bastante malo?