Fitur media
permintaan CSS3 telah menyebabkan banyak kemungkinan menarik dalam hal mengembangkan situs web yang menyesuaikan dengan berbagai ukuran layar dan perangkat.
Namun, dalam praktiknya, saya mulai memahami bahwa media
fitur permintaan CSS3 , dan seluruh gerakan "Desain Web Responsif", mungkin tidak memenuhi janjinya.
Masalah yang saya lihat adalah bahwa, pada akhirnya, pengembang web lebih peduli tentang apakah pengguna mereka melihat konten melalui Desktop, Tablet, atau perangkat Mobile. Tetapi CSS3 hanya menyediakan sarana untuk mendeteksi resolusi layar . Secara teori, mendeteksi resolusi layar sepertinya cara yang bagus untuk menyesuaikan berbagai perangkat yang berbeda. Namun dalam praktiknya ...
Misalkan kita memiliki fungsi Javascript sederhana yang hanya menampilkan lebar layar:
function foo()
{
alert(screen.width);
}
Di Blackberry Touch saya, output ini:
768
Di Samsung Galaxy saya, output ini:
800
Jadi ... um, pada titik ini, resolusi ponsel pintar umum semakin dekat dengan resolusi tingkat Desktop. Kemampuan untuk mendeteksi apakah pengguna melihat situs web Anda melalui smartphone, tablet, atau desktop, tampaknya semakin sulit jika yang Anda lakukan hanyalah resolusi layar.
Ini membuat saya mempertanyakan seluruh kebijaksanaan di balik seluruh gerakan "Desain Web Responsif" CSS3 berdasarkan pertanyaan media. Tampaknya media
fitur kueri lebih cocok untuk beradaptasi dengan jendela browser yang mengubah ukuran pada layar Desktop, daripada berbagai perangkat seluler.
Teknik lain yang mungkin untuk mendeteksi perangkat seluler atau tablet adalah menggunakan deteksi fitur, dengan memeriksa apakah ontouchstart
acara tersebut didukung. Tetapi bahkan ini menjadi semakin tidak dapat diandalkan karena banyak layar Desktop mulai mendukung sentuhan.
Pertanyaan: Jadi ... sebagai pengembang web, jika saya tidak bisa mengandalkan RWD atau deteksi fitur, apakah sniffing agen pengguna (yang terkenal tidak bisa diandalkan seperti biasanya) benar-benar merupakan pilihan terbaik untuk mendeteksi perangkat seluler?
device-width
sangat buruk?