|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
www.hwupgrade.it
Iscritto dal: Jul 2001
Messaggi: 75173
|
Link all'Articolo: http://www.hwfiles.it/articoli/3605/...ss3_index.html
Lo sviluppo di siti web è cambiato radicalmente con la forte diffusione di tablet e smartphone. Ecco alcune problematiche osservate dal punto di vista degli sviluppatori Click sul link per visualizzare l'articolo. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2003
Città: Salerno
Messaggi: 2006
|
![]() Vi prego date un'occhiata al vostro sito! Fatelo per i poveri programmatori web che ogni giorno visitano il vostro sito. Grazie ![]()
__________________
MSI B550 Mortar Wi-fi, Ryzen 7 5900x, Scythe Fuma 2 + Arctic MX-5, 2x16GB Corsair 3600Mhz, MSI GTX 1050Ti 4GB, Seasonic S12 600W, WD SN850 Black 1TB, Kingston KC2500 1TB, Samsung 850 EVO 500GB, 2TB WD Green, 2 Thermalright TY-140, Benq 24" G2420HD, Edifier HCS2330 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Credo ci sia un errore quando viene menzionato "controlli lato server, con javascript, [...]", ammenochè non si usi nodejs, javascript è lato server =D
Dopodichè, lo standard "de facto" per media query lato javascript è modernizr: Codice:
Modernizr.mq('only all'); // true if supported Modernizr.mq('only screen and (max-width: 768px)') // true In questo modo non è troppo difficile creare un sistema di query javascript. Dopodichè, da web developer, volontariamente non faccio questi controlli perché è giusto che l'utenza migliori la propria situazione browser ^^
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 305
|
Quote:
escludendo i siti semi-statici, una web application con singolo frontend resposive è probabilmente più facile da gestire in 2 tier separati. Dico ciò, in quanto si rischia di caricare il dom con elementi e script non visualizzati anche perché le stesse funzionalità di JS cambiano e non sempre jquery è sufficiente. Poi possono cambiare i comportamenti applicativi o i path di navigazione, si pensi all'hover che con il touch screen non c'è o all'upload di file che non è possibile da mobile nella maggior parte dei casi. Tra l'altro le media query possono portare ad un utilizzo del processore più elevato consumando inutilmente batteria. Credo che al momento ci sia ancora da lavorare molto prima di avere una soluzione universale. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Quote:
Per quanto riguarda l'ottimizzazione, è molto più importante avere un singolo grosso file javascript e un singolo grosso css che averli separati. Facendo una manciata di calcoli a livello di consumi, per "scusare" l'utilizzo di fogli css separati, si dovrebbero avere dei pesi intorno ai 300KB (calcoli molto approssimativi). Considerando quanto cicli della cpu vengono consumanti per effettuare una nuova richiesta al server e riceverla, conviene molto di piu fare un unico CSS. Per quanto riguarda elementi del dom non visualizzati, il responsive design si avvale appositamente di questa tecnica per ottimizzare il tutto: un elemento del DOM non visualizzato consuma nulla a livello di rendering e molto poco per essere aggiunto all'html. Supponendo che tu voglia, per questo motivo, rimuovere dei pezzi di DOM obsoleti, ti troveresti lo stesso discorso di prima, ti servono 300KB di DOM (senza considerare immagini), o comunque intorno i 100 (peso fisico dell'html) per "compensare" questa cosa, per questo risulta irrilevante. Le media query hanno un impatto infimo sulla batteria e sul processore, visto che sono paragonabili a delle if. Ottenere lo stesso risultato col javascript è equivalente se non piu oneroso, è solo sui PC desktop che puoi ridimensionare il browser, sul mobile non esiste questa cosa, la media query viene eseguita al primo caricamento e in caso di rendering aggiuntivi della pagina web (ovvero in caso di animazioni), il tutto può essere "aggirato" con le nuove animazioni dei CSS3 tipo transform3D che garntiscono di non renderizzare nuovamente l'intera pagina. Per quanto riguarda la presenza/mancanza del touch, il responsive design si propone come un modo di "mixare" i due design (quello mobile e quello normale), quindi per forza di cose si giunge a dei compromessi, ma comunque non sono difficili da raggiungere: non utilizzare "hover" per eventuali menu a tendina, assicurarsi che non siano necessari "tooltip" o simili per agire sul sito e cose simili. Per questo abbiamo i siti web "mobile first", che sono appunto pensati prima per il mobile. Dopodichè, per i CSS4 è previsto un draft (che potrebbe essere spostato nei css3) delle media query che propongono appunto un modo per capire se il dispositivo è provvisto di puntatore o meno. Detto questo concludo con: Codice HTML:
Il meccanismo prevede che l’utente, raggiungendo il sito principale, venga redirezionato sul sito mobile se si verificano certe condizioni (User Agent / Risoluzione schermo), e il meccanismo può essere implementato lato server, tramite JavaScript, oppure con una combinazione dei due
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
|
![]() |
![]() |
![]() |
#6 | |||
Senior Member
Iscritto dal: Nov 2008
Messaggi: 305
|
Quote:
Sulla base delle esperienze che ho avuto posso dire che fare 2 siti è meno costoso in temini di ore uomo e sbattimenti vari che fare un sito responsive (molto dinamico e cross-browser). Lo stesso facebook o altri giganti usano dei siti paralleli per motivi prestazionali e di funzionalità diverse. Quote:
Quote:
Ho trovato un post che è molto più esplicativo di me http://sixrevisions.com/mobile/respo...ot-the-future/ |
|||
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Quote:
Codice HTML:
Certainly, for types of websites with limited user interaction — such as informational sites, blogs and news sites — responsive web design is a good, and often very practical, solution.
Non è possibile differentemente, proprio perchè due layout differenti vanno scritti entrambi da 0, mentre il responsive ti permette di riusare il codice del precedente. Facebook non è un buon esempio che mi porti, hanno parecchi soldi da spendere, ovviamente possono permettersi di mantenere due layout. Il design responsive è un compromesso tra i due layout e il layout solo desktop. Io pure ci ho messo di più la prima volta che ho fatto un layout responsive, ma poi ho iniziato ad avvalermi di librerie tipo Susy (anche se nel campo è piu famoso bootstrap, quello fa molte più cose ed è il motivo per il quale NON lo uso), che mi hanno semplificato l'approccio di moltissimo. In aggiunta ai preprocessori tipo SCSS, diventa comodo scrivere le media query senza veramente nessuna difficoltà. Dopodichè, grazie ai CSS framework che girano, il workflow è cambiato parecchio: la gente si lamenta di photoshop, molti lo hanno lasciato in favore di "sketch" (una app per Mac solamente, per ora), altri ancora semplicemente scrivono direttamente un prototipo, perchè sono diventati sufficientemente veloci (ovviamente il prototipo poi viene revisionato e ottimizzato). Concludo per il problema dei selettori jquery, se usi una classe tipo quelle di bootstrap: http://twitter.github.io/bootstrap/s...tml#responsive (vai in fondo a "Responsive utility classes") puoi facilmente scrivere del codice javascript "selettivo" tipo: Codice:
$('.photobox:not(.hidden-phone)').photobox(); Concluco con quel che riguarda i caricamenti di immagini e cose simili, con una sintassi come i breakpoint di susy (molto carina devo dire), puoi facilmente far caricare delle immagini differenti (applicandole come sfondo) e effettivamente risparmiando in banda ( http://timkadlec.com/2012/04/media-q...ading-results/ )
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2212
|
mi avete fatto venire in mente questo articolo che lessi tempo fà, al tempo delle elezioni americane metteva a confronto i siti di Obama (Responsive) e Romney (siti separati).
http://mobile.smashingmagazine.com/2...ial-smackdown/ La vittoria di Obama potrebbe suggerire che il primo approccio è il migliore ![]()
__________________
7800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | bequiet! Dark Power Pro 11 850w | Iliad Fibra 5Gb |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Quote:
Lo sai quanta gente ancora mi dice "no fallo solo desktop che risparmio" e io devo portargli il marketshare dei browser per spiegargli la differenza? Certo che col sito di romney è abbastanza "triste", nel senso che la differenza tra i due layout è talmente infima da essere ridicolo l'averne usato due differenti.
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2212
|
si vabbè era una battuta quella su Obama
![]() Per quanto mi riguarda preferisco le tecniche responsive, a meno che il layout mobile debba avere un design o funzionalità completamente diverse...poi se il budget è poco bastano pochi accorgimenti per far diventare l'esperienza mobile non ottima ma quantomeno decente (spostare sidebar in alto etc...). Poi anche all'interno del responsive stesso ci sono diverse scuole di pensiero, c'è chi sceglie il mobile-first e lavora aggiungendo e chi parte dalla versione desktop...due framework molto popolari, Foundation 4 e Bootstrap 3 stanno andando entrambi verso il primo approccio. Poi se il mercato è quello italiani molte considerazioni vanno rivalutate perchè siamo sicuramente indietro sul mobile
__________________
7800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | bequiet! Dark Power Pro 11 850w | Iliad Fibra 5Gb |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Quote:
In realtà in Italia siamo indietro su tutto il development web (quanta gente conosci che usa css preprocessor?), ed è stupida come cosa perchè la maggior parte di chi naviga in Italia lo fa su smartphone
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 305
|
Quote:
![]() per i normali sitarelli va più che bene. |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Feb 2009
Città: Roma
Messaggi: 1499
|
Quote:
E' sempre una questione di design, semplicemente il responsive design è una valida alternativa, fino a che non hai un budget abbastanza vasto da coprire due layout interi (e il successivo mantenimento)
__________________
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? -- Tom Cargill |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:19.