Con il termine HTML5 non ci si riferisce solo a nuovi tag, ma a un'intera suite di tecnologie che include potenti API JavaScript. Queste API danno alle applicazioni web l'accesso a funzionalità che prima erano riservate alle applicazioni native.
Web Storage API (localStorage e sessionStorage)
Questa API fornisce un'alternativa più moderna e capiente ai cookie per salvare dati nel browser dell'utente.
- `localStorage`: Archivia dati chiave-valore che persistono anche dopo la chiusura del browser. È ottimo per salvare le preferenze dell'utente (es. il tema scuro) o per mantenere un utente loggato.
- `sessionStorage`: Archivia dati che persistono solo per la durata della sessione della pagina (finché la scheda del browser non viene chiusa).
// Salvare un dato
localStorage.setItem('username', 'Mario');
// Leggere un dato
const user = localStorage.getItem('username');
Geolocation API
Permette a un'applicazione web di chiedere al browser la posizione geografica dell'utente (previa sua esplicita autorizzazione). Il browser determina la posizione usando le informazioni disponibili (GPS, reti Wi-Fi, indirizzo IP).
navigator.geolocation.getCurrentPosition(position => {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
console.log(`Sei a: ${latitude}, ${longitude}`);
});
Fetch API
È l'interfaccia moderna per effettuare richieste di rete (AJAX), un successore più pulito e basato sulle Promises del vecchio `XMLHttpRequest`. La usiamo per comunicare con le API REST.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
History API
Permette di manipolare la cronologia di sessione del browser (`history.pushState()`, `history.replaceState()`). È la tecnologia fondamentale che permette alle Single Page Application (SPA) di cambiare l'URL nella barra degli indirizzi senza ricaricare la pagina, abilitando il routing lato client.
Web Workers API
Permette di eseguire uno script JavaScript in un thread in background, separato dal thread principale dell'interfaccia utente. Questo è fondamentale per eseguire compiti computazionalmente pesanti senza "congelare" la pagina, un concetto chiave per un Event Loop reattivo.
Hai bisogno di una soluzione su misura?
Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.
Richiedi una consulenza