Responsive Web Design & Mobile

46
Responsive Design & Mobile

Transcript of Responsive Web Design & Mobile

Page 1: Responsive Web Design & Mobile

Responsive Design & Mobile

Page 2: Responsive Web Design & Mobile

– Wikipedia

“Il Responsive Web Design (RWD) indica una tecnica per la realizzazione di siti in grado di

adattarsi graficamente in modo automatico al dispositivo coi quali vengono visualizzati,

riducendo al minimo la necessità per l'utente di ridimensionamento e scorrimento dei

contenuti”.

Page 3: Responsive Web Design & Mobile

Sistemi Operativie Browsers

Page 4: Responsive Web Design & Mobile

OS Default Browsers

iOS Safari Mobile

Android Android Webkit o Chrome Mobile

BlackBerry BlackBerry Webkit

Windows Phone IE Mobile

Symbian Symbian Webkit

Firefox OS Firefox Mobile

Sailfish /

S40 S40 Webkit o Xpress

Altri Puffin, Amazon Silk, ecc.

Page 5: Responsive Web Design & Mobile

Downloadable Browsers

Opera Mobile

Opera Mini

Firefox Mobile

Chrome Mobile

UC

UC Mini

Page 6: Responsive Web Design & Mobile

Mobile BrowsersSafari Mobile

Android WebkitChrome Mobile

BlackBerry WebkitIE Mobile

Opera MobileOpera Mini

UCUC Mini

Symbian WebkitFirefox Mobile

S40 WebkitXpressPuffin

Amazon Silk

Page 7: Responsive Web Design & Mobile

Proxy Browsers

Page 8: Responsive Web Design & Mobile

– Wikipedia

“[…] permettere la visualizzazione di pagine web complesse su dispositivi dalle capacità computazionali estremamente limitate […]”.

Page 9: Responsive Web Design & Mobile

1. L’utente richiede una pagina. Non viene fatta una normale richiesta HTTP ma una richiesta speciale al server proxy;

2. Il server proxy si premura di fare la reale richiesta;

3. Il server proxy legge e renderizza la pagina come fosse un normale browser;

4. Una volta renderizzata, la pagina viene compressa come fosse un’immagine o un PDF;

5. Il server proxy spedisce questo file al dispositivo;

6. Il browser visualizza il file all’utente. Se l’utente clicca su un link (qualsiasi) tutto il processo riparte dal punto 1.

Page 10: Responsive Web Design & Mobile

Hybrid Browsers

Page 11: Responsive Web Design & Mobile

Hybrid Browsers

Amazon Silk

Puffin

Chrome Mobile

Opera Mobile

Page 12: Responsive Web Design & Mobile

iOS Browsers

Page 13: Responsive Web Design & Mobile

– Apple App Store Policy

“Apps that browse the web must use the iOS WebKit framework and WebKit Javascript”.

Page 14: Responsive Web Design & Mobile

Android Browsers

Page 15: Responsive Web Design & Mobile

Vendor

Google

Samsung

HTC

Motorola

Sony

Amazon

Xiaomi

Page 16: Responsive Web Design & Mobile

Render Engines

Page 17: Responsive Web Design & Mobile

Browser Render engine

Safari Mobile Webkit

Chrome Blink

Opera Mini Presto

Windows Phone Trident

Firefox Mobile Gecko

UC Mini, Xpress Gecko

… Webkit Webkit

Page 18: Responsive Web Design & Mobile

Pixels

Page 19: Responsive Web Design & Mobile
Page 20: Responsive Web Design & Mobile

width: 200px;

Cosa succede ad un elemento impostando

?

Page 21: Responsive Web Design & Mobile

1. Device Pixels: i pixel fisici del dispositivo;

2. CSS Pixels: un livello di astrazione fatto apposta per i developer e utilizzato solo per CSS.

Page 22: Responsive Web Design & Mobile

dispositivi tradizionali:1px CSS == 1px Device

Page 23: Responsive Web Design & Mobile

schermi ad alta densità: 1px CSS == 4px Device

Page 24: Responsive Web Design & Mobile

Viewport

Page 25: Responsive Web Design & Mobile

width: 40%;

Cosa significa

?

Page 26: Responsive Web Design & Mobile

1. Layout Viewport: le dimensioni della finestra calcolate dalle dimensioni massime impostate da CSS;

2. Visual Viewport: l’area del sito che viene visualizzata dall’utente. L’utente può manipolarla con lo zoom;

3. Ideal Viewport: le dimensioni del Layout Viewport che sono ideali per il dispositivo.

Page 27: Responsive Web Design & Mobile

<meta name="viewport" content="" />

Page 28: Responsive Web Design & Mobile

Proprietà Descrizione

widthLarghezza del viewport espressa in pixels oppure in termini di device-width

(larghezza del dispositivo).

heightL’altezza del viewport espressa in pixels oppure in termini di device-height.

Generalmente questa proprietà non viene impostata.

initial-scaleDa 0 a 10.0. Multipli che settano lo zoom della pagina. Il consiglio migliore è di settare il valore a 1.0 in modo che venga attribuita la larghezza totale del nostro

dispositivo in scala 1 a 1

minimum-scale Da 0 a 10.0. Indica il limite minimo di zoom-out che l’utente può effettuare

maximum-scale Da 0 a 10.0. Indica il limite minimo di zoom-in che l’utente può effettuare

user-scalable (yes/no) Permette di bloccare o lasciare libera la possibilità di zoomare.

minimal-ui Riduce al minimo la UI del browser (solo Safari Mobile su iOS7)

Page 29: Responsive Web Design & Mobile

<meta name="viewport" content=“width=device-width, initial-scale=1“ />

Page 30: Responsive Web Design & Mobile

@media

Page 31: Responsive Web Design & Mobile

– Wikipedia

“Media Queries is a CSS3 module allowing content rendering to adapt to conditions such

as screen resolution. It became a W3C recommended standard in June 2012 and is a cornerstone technology of Responsive Web

Design”.

Page 32: Responsive Web Design & Mobile

@media only screen and (min-width: 960px){}

@media only screen and (min-width: 768px) and (max-width: 959px){}

@media only screen and (max-width: 767px){}

@media only screen and (min-width: 480px) and (max-width: 767px){}

Desktop

Tablet - Portrait

Mobile - Portrait

Mobile - Landscape

Page 33: Responsive Web Design & Mobile

CSS

Page 34: Responsive Web Design & Mobile

Il 99% di CSS funziona senza problemi sui dispositivi mobile.

Alcune caratteristiche, tuttavia, differiscono dalla controparte desktop.

Page 35: Responsive Web Design & Mobile

1. :hover/:active: concetti come “roll-over” e “active” su dispositivi touch semplicemente non esistono.

2. vw/vh: le unità di misura relative al viewport sono supportate, tuttavia non è dato a sapere a quale viewport fanno riferimento!

3. background-attachment/position:fixed: tutto ciò che è inerente allo scroll e alla posizione di elementi secondo la posizione dello scroll può essere mal interpretato o per nulla interpretato.

4. overflow:auto: gli elementi sono riconosciuti, tuttavia, visto che le scrollbar sui dispositivi mobile non vengono mostrate, diventa complicato per l’utente capire che c’è altro da visualizzare.

5. transition/animation: tutto ciò che è inerente all’accelerazione hardware è da ritenersi critico, e pertanto di attenta analisi e studio.

Page 36: Responsive Web Design & Mobile

Mobile First

Page 37: Responsive Web Design & Mobile

Graceful degradation

Progressive enhancement

Page 38: Responsive Web Design & Mobile
Page 39: Responsive Web Design & Mobile

Graceful degradation

Page 40: Responsive Web Design & Mobile

Progressive enhancement

Page 41: Responsive Web Design & Mobile

Testing

Page 42: Responsive Web Design & Mobile
Page 43: Responsive Web Design & Mobile

iOS Simulator - Safari Mobile - OSX

Android Emulator - Android Webkit - OSX/Win/Linux

Nokia Symbian - Symbian Webkit - OSX/Win/Linux

Blackberry Simulator - Blackberry Webkit - OSX/Win/Linux

Windows Phone 7 Simulator - IE Mobile - Win

Opera Mobile Emulator - Opera Mini - OSX/Win/Linux

Opera Developer - Opera Mobile - OSX/Win/Linux

Firefox Developer - Firefox Mobile - OSX/Win/Linux

Page 44: Responsive Web Design & Mobile

Ghostlab - OSX/Win

Adobe Edge Inspect - OSX/Win/Linux

Remote Preview - OSX/Win/Linux

Page 45: Responsive Web Design & Mobile

Manymo - Android

BrowserStack - iOS/Android/Opera

Samsung Developers - Android

Keynote Mobile Testing - iOS/Android/WP7

Open Device Lab

Page 46: Responsive Web Design & Mobile

2015 Giovanni Buffa - CC by-nd 3.0

Fonte: The Mobile Handbook • https://shop.smashingmagazine.com/mobile-web-

handbook.html • https://shop.smashingmagazine.com/the-mobile-web-

ebook.html