Salesforce Miami User Group Event - 1st Quarter 2024
Corso WebApp iOS - Lezione 07: iOS WebApp Anatomy
1. Corso WebApp iOS
“iOS WebApp Anatomy”
Lezione 07/10
”if everything seems under control..
..you’re not going fast enought!”
Mario Andretti
1978 Formula 1 World Champion.
5. iOS UI Emulation
esempio di alcune proprietà
<meta name="viewport" content="width=device-width;
initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"/>
6. iOS UI Emulation
valori viewport* iOS
width=768 (device-width in px for iPad on)
width=480 (device-width in px for iPhone4 on)
width=320 (device-width in px for iPhone 2G, 3G, 3GS)
* portrait mode
34. iOS Service Interaction
GPS
possibile accedere alle coordinate GPS
attraverso API Javascript*
* da iOS3 in poi
35. iOS Service Interaction
GPS
metodi definiti sull’oggetto
navigator.geolocation
* da iOS3 in poi
36. iOS Service Interaction
GPS
If (window.navigator.geolocation) {
/* API available, code here */
} else {
/* Fallback message */
}
* da iOS3 in poi
37. iOS Service Interaction
GPS*
window.navigator.geolocation.getCurrentPosition(
function(position) {
/* do something using position object data */
}
);
* chiamata asincrona per gestire ritardo GPS
38. iOS Service Interaction
GPS: Proprieta Oggetto Position
position.timestamp Time at which the location information was determined (milliseconds)
position.coords.accuracy The accuracy of the latitude/longitude information returned (meters; the lower, the better)
position.coords.latitude The user’s current latitude (decimal degrees)
position.coords.longitude The user’s current longitude (decimal degrees)
position.coords.altitudeAccuracy The accuracy of the altitude information returned (meters). This is often set to null
position.coords.altitude The user’s current altitude (meters). The same restrictions apply
position.coords.heading The direction in which the user is heading (decimal degrees). This is often set to null
position.coords.speed The user’s current speed. The same restrictions apply (meters/second)
39. iOS Service Interaction
GPS: Gestione Errori
non tutti i dati possono essere disponibili
alcuni esempi:
errori utente (rifiuto tracciamento)
errori sistema (mancanza di dati)
40. iOS Service Interaction
GPS: Gestione Errori
getCurrentPosition()
accetta un parametro opzionale
usato per gestire gli errori
41. iOS Service Interaction
GPS: Gestione Errori
/* Request the user's position */
window.navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
function successCallback(position) {
/* Do something with position object data */
}
function failureCallback(error) {
/* Do something with error object */
}
42. iOS Service Interaction
GPS: Gestione Errori
error.code error.UNKNOWN_ERROR (0)
error.PERMISSION_DENIED (1)
error.POSITION_UNAVAILABLE (2)
error.TIMEOUT (3)
error.message A message describing what happened (debug purpose)
43. iOS Service Interaction
GPS: Gestione Errori
se successCallback() fallisce
viene chiamata failureCallback()
controllare da dove viene l’errore
getCurrentPosition() o successCallback()
44. Esercitazione
Utilizzare Guida* di Riferimento
del Framework e Javascript
1. Implementare le Funzioni Specifiche
2. Implementare la Logica della Dinamica
* versione online e/o formato elettronico
45. PROSSIMA LEZIONE
LEGGERE
Ottimizzazione WebApp
Offline WebApp
Mobile SEO