Comunemente, parlando di HTML5, intendiamo un vasto insieme di specifiche che comprendono nuovi elementi di markup, funzionalità multimediali (audio e video), API JavaScript, CSS3, SVG, ecc.
Alcune di esse sono da tempo supportate praticamente da tutti i principali browser e sono disponibili su ogni piattaforma (desktop Windows, Mac OSX e Linux, tablet e smartphone), altre invece solo in pochi scenari specifici (in particolare le specifiche non ancora stabili, implementate in via sperimentale solo da alcuni vendor).
In uno scenario così frammentato diventa difficile districarsi per decidere se una soluzione ha senso essere adottata oppure no o se conviene fornire anche un'implementazione alternativa (ad esempio nel caso di un lettore multimediale, specificando anche un player basato su plugin come Silverlight o Flash).
Quando posso usare...
A questo scopo può essere utile consultare il sito http://caniuse.com che, per ogni funzionalità di HTML5, fornisce una tabella che riepiloga il supporto della stessa in base al browser e alla relativa versione e un riepilogo complessivo (basato sulle statistiche di diffusione dei browser di StatCounter).Ad esempio la semi-trasparenza per le immagini in formato PNG è supportata da tutti ad eccezione di Internet Explorer 6 ed è disponibile quindi su oltre il 93% dei client, mentre i font definiti in formato SVG hanno una bassa compatibilità (circa il 34%, non essendo implementati da IE, Firefox, OperaMini e su Android 3.0 e precedenti).
Compatibilità di HTML5 con dispositivi mobile e tablet
Per quanto riguarda lo sviluppo per dispositivi mobile il sito http://mobilehtml5.org/ fornisce un livello di dettaglio maggiore rispetto a caniuse.com (che contempla solo Safari Mobile per iOS, Android Browser e Opera Mobile) schematizzando il supporto alle principali feature di HTML5 per le seguenti piattaforme:- Safari Mobile su iOS (iPhone, iPad)
- Android Browser (telefoni / tablet)
- Blackberry Browser (telefoni / tablet)
- Nokia Browser (Meego / Symbian)
- Internet Explorer (Windows Phone)
- Opera (Mobile / Mini)
- Firefox (Android)
- webOS Browser
Come utilizzare questi dati?
Tabelle riassuntive come quelle riportate dai siti indicati qui sopra non devono però essere utilizzate a livello di implementazione ma solo come indicatori statistici per guidare le nostre scelte in fase di progettazione, possibilmente incrociando i dati con le statistiche reali dei visitatori del sito o dell'applicazione o con eventuali requisiti imposti (ad esempio nel caso di un'app sviluppata ad hoc per un certo smartphone o per una Intranet dove il browser è imposto dall'amministratore).In pratica è assolutamente da evitare la così detta browser detection (ovvero modificare il comportamento dell'applicazione in funzione dello user agent del client) in favore della feature detection (ovvero dal determinare applicativamente se una funzionalità è o meno disponibile e agire di conseguenza, tipicamente con implementazioni alternative o un gracefully degrade).
Link e riferimenti utili
Il nostro speciale sullo sviluppo web mobilehttps://www.aspitalia.com/focuson/1267/Speciale-Web-Mobile-Costruire-Applicazioni-ASP.NET-JQuery-Mobile.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare token per autenicarsi sulle API di GitHub
Eseguire le GitHub Actions offline
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Referenziare un @layer più alto in CSS
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Migliorare la sicurezza dei prompt con Azure AI Studio
Assegnare un valore di default a un parametro di una lambda in C#
Proteggere le risorse Azure con private link e private endpoints
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Utilizzare Copilot con Azure Cosmos DB
Change tracking e composition in Entity Framework