Design Web reattivo vs Sniffing utente-agente

13

La funzione di query CSS3 media ha portato a molte interessanti possibilità in termini di sviluppo di siti Web che si adattano a schermi e dispositivi di dimensioni diverse.

Tuttavia, in pratica, sto iniziando ad avere la sensazione che la funzione di query CSS_res media e l'intero movimento "Responsive Web Design" non siano all'altezza delle sue promesse.

Il problema che vedo è che, alla fine della giornata, gli sviluppatori web si preoccupano principalmente se i loro utenti stanno visualizzando i contenuti tramite un dispositivo desktop, tablet o dispositivo mobile. Ma CSS3 fornisce solo un mezzo per rilevare risoluzione dello schermo . In teoria, il rilevamento della risoluzione dello schermo sembra un ottimo modo per adattarsi a diversi dispositivi. Ma in pratica ...

Supponiamo di avere una semplice funzione Javascript che visualizza solo la larghezza dello schermo:

function foo()
{
   alert(screen.width);
}

Sul mio Blackberry Touch, questa uscita:

768

Sul mio Samsung Galaxy, questo output:

800

Quindi ... a questo punto, la risoluzione degli smartphone tradizionali si avvicina molto alle risoluzioni a livello del desktop. La capacità di rilevare se un utente sta visualizzando il tuo sito Web tramite smartphone, tablet o desktop, sembra essere sempre più difficile se tutto quello che stai facendo è la risoluzione dello schermo.

Questo mi fa mettere in discussione l'intera saggezza dietro l'intero movimento "Responsive Web Design" del CSS3 basato su query multimediali. Sembra quasi che la funzione di query media sia più adatta all'adattamento a una finestra del browser di ridimensionamento su uno schermo del desktop, piuttosto che su vari dispositivi mobili.

Un'altra possibile tecnica per rilevare dispositivi mobili o tablet è utilizzare il rilevamento delle funzionalità, controllando se l'evento ontouchstart è supportato. Ma anche questo sta diventando sempre più inaffidabile dal momento che molti schermi desktop iniziano a supportare il tocco.

Domanda: Quindi ... come sviluppatore web, se non posso fare affidamento su RWD o rilevamento di funzioni, è user-agent sniffing (notoriamente inaffidabile come sempre) migliore opzione per rilevare i dispositivi mobili?

    
posta Channel72 24.05.2013 - 04:41
fonte

2 risposte

12

Smetti di preoccuparti così tanto di dispositivi specifici.

The ability to detect whether a user is viewing your website via a smartphone, tablet, or desktop, seems to be increasingly difficult if all you're going by is screen resolution

È che sta diventando sempre più difficile da rilevare tramite la risoluzione dello schermo e diventerà sempre più difficile con l'ingresso sul mercato di più dispositivi, ma lo scopo delle query multimediali non è quello di rilevare i tipi di dispositivi. sono bravi a fare modifiche al tuo design quando non è più piacevole da usare alle dimensioni attuali. Se il sito inizia a crollare a 550px, allora non importa se c'è un dispositivo con quelle dimensioni o meno: hai impostato il punto di interruzione lì.

È lo stesso problema con il rilevamento delle funzionalità. Se il dispositivo supporta il tocco, allora cosa importa se si tratta di un dispositivo mobile o di un futuro monitor da parete? In ogni caso, i miglioramenti al tocco saranno probabilmente utili.

Lo sniffing degli agenti utente, come hai affermato, è completamente inaffidabile. Potrei cambiare la mia stringa User-agent con le citazioni di Shakespeare se anche io volessi davvero. Che cosa deciderà il tuo sito sul mio browser?

Gli agenti utente richiedono anche molto lavoro per gestire tutte le possibilità. Ne hai uno per Firefox su Android? Chrome su IOS? Delfino su Froyo? Il browser WiiU? Il browser estremamente limitato sul mio vecchio telefono cellulare LG? Lince? IE 13? Link? IceWeasel? Il browser del playbook di Blackberry? Come stai dicendo la differenza tra Opera in esecuzione su un tablet e opera in esecuzione su un telefono?

Questo elenco può aumentare solo con il passare del tempo.

    
risposta data 24.05.2013 - 05:42
fonte
1

Anche gli agenti utente mentono. Se Google è in giro, troverai elenchi di agenti utente rispetto alla realtà. Quindi questo è un problema. Alcuni ricorrono all'osservazione delle impostazioni dpi per determinare quale o quale tipo di dispositivo è.

    
risposta data 24.05.2013 - 04:44
fonte

Leggi altre domande sui tag