{"id":164064,"date":"2025-12-10T09:00:00","date_gmt":"2025-12-10T08:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/pwa-html-web-app-manifest-applicazioni\/"},"modified":"2025-12-10T09:00:00","modified_gmt":"2025-12-10T08:00:00","slug":"pwa-html-web-app-manifest-applicazioni","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/en\/pwa-html-web-app-manifest-applicazioni\/","title":{"rendered":"PWA e HTML: Web App Manifest e Applicazioni Installabili"},"content":{"rendered":"<p style=\"text-align: justify;\">Le <strong>Progressive Web App (PWA)<\/strong> rappresentano una delle evoluzioni pi\u00f9 significative del web moderno: siti web che possono essere installati sul dispositivo dell&#8217;utente e funzionare come applicazioni native. La base tecnica di una PWA \u00e8 sorprendentemente semplice e si fonda su tre pilastri: il <strong>Web App Manifest<\/strong> (un file JSON linkato dall&#8217;HTML), il <strong>Service Worker<\/strong> (registrato tramite JavaScript nel documento HTML) e una connessione <strong>HTTPS<\/strong>. In questa guida vedremo come configurare ciascun componente.<\/p>\n<h2>Cosa Sono le Progressive Web App<\/h2>\n<p style=\"text-align: justify;\">Una PWA \u00e8 un sito web che soddisfa determinati requisiti tecnici che lo rendono <strong>installabile, affidabile e veloce<\/strong>. Quando un utente installa una PWA, questa appare nella schermata home del dispositivo con la propria icona, si apre in una finestra dedicata senza la barra degli indirizzi del browser e pu\u00f2 funzionare anche offline o con connessione intermittente.<\/p>\n<p style=\"text-align: justify;\">I vantaggi delle PWA rispetto alle app native sono numerosi: non richiedono distribuzione tramite gli app store, sono indicizzabili dai motori di ricerca, condividono lo stesso codice base del sito web, si aggiornano automaticamente e occupano molto meno spazio sul dispositivo. Rispetto ai siti web tradizionali, offrono un&#8217;esperienza utente pi\u00f9 immersiva, accesso offline e la possibilit\u00e0 di ricevere notifiche push.<\/p>\n<p style=\"text-align: justify;\">Aziende come Twitter, Starbucks, Pinterest e Uber hanno implementato PWA con risultati impressionanti: Twitter Lite ha ridotto il consumo di dati del 70{6fb8dad3a9c483f1a21adb5997a0bd0fb65a4b2f8344003d223c5d2f2542798c}, Starbucks ha raddoppiato gli utenti attivi giornalieri e Pinterest ha aumentato del 60{6fb8dad3a9c483f1a21adb5997a0bd0fb65a4b2f8344003d223c5d2f2542798c} l&#8217;engagement. Le PWA funzionano su tutti i dispositivi moderni, inclusi Android, iOS, Windows, macOS, Linux e ChromeOS.<\/p>\n<h2>Il Web App Manifest: Configurazione Completa<\/h2>\n<p style=\"text-align: justify;\">Il <strong>Web App Manifest<\/strong> \u00e8 un file JSON (tipicamente chiamato <code>manifest.json<\/code> o <code>manifest.webmanifest<\/code>) che fornisce al browser le informazioni necessarie per installare e visualizzare la PWA. Il file viene collegato alla pagina HTML tramite un tag <code>&lt;link&gt;<\/code> nel <code>&lt;head&gt;<\/code>:<\/p>\n<pre><code>&lt;link rel=\"manifest\" href=\"\/manifest.json\"&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Ecco un manifest completo con tutte le propriet\u00e0 principali:<\/p>\n<pre><code>{\n  \"name\": \"G Tech Group - Servizi Web\",\n  \"short_name\": \"G Tech\",\n  \"description\": \"Servizi di sviluppo web e consulenza IT\",\n  \"start_url\": \"\/\",\n  \"display\": \"standalone\",\n  \"orientation\": \"portrait\",\n  \"theme_color\": \"#0a0a0f\",\n  \"background_color\": \"#0a0a0f\",\n  \"icons\": [\n    {\n      \"src\": \"\/icons\/icon-192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image\/png\"\n    },\n    {\n      \"src\": \"\/icons\/icon-512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image\/png\"\n    },\n    {\n      \"src\": \"\/icons\/icon-512-maskable.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image\/png\",\n      \"purpose\": \"maskable\"\n    }\n  ],\n  \"screenshots\": [\n    {\n      \"src\": \"\/screenshots\/home.png\",\n      \"sizes\": \"1280x720\",\n      \"type\": \"image\/png\",\n      \"form_factor\": \"wide\"\n    }\n  ]\n}<\/code><\/pre>\n<p style=\"text-align: justify;\">Le propriet\u00e0 fondamentali sono: <strong>name<\/strong> (nome completo mostrato durante l&#8217;installazione), <strong>short_name<\/strong> (nome breve mostrato sotto l&#8217;icona nella home screen), <strong>start_url<\/strong> (pagina iniziale quando l&#8217;app viene aperta), <strong>display<\/strong> (modalit\u00e0 di visualizzazione: standalone, fullscreen, minimal-ui o browser), <strong>theme_color<\/strong> (colore della barra di stato e della toolbar del browser) e <strong>background_color<\/strong> (colore di sfondo della splash screen durante il caricamento). Le <strong>icone<\/strong> devono essere fornite in almeno due dimensioni: 192&#215;192 e 512&#215;512 pixel.<\/p>\n<h2>Meta Tag HTML per le PWA<\/h2>\n<p style=\"text-align: justify;\">Oltre al manifest, diversi meta tag nel <code>&lt;head&gt;<\/code> dell&#8217;HTML completano la configurazione della PWA e garantiscono la compatibilit\u00e0 con tutti i dispositivi:<\/p>\n<pre><code>&lt;!-- Colore del tema per la barra del browser --&gt;\n&lt;meta name=\"theme-color\" content=\"#0a0a0f\"&gt;\n\n&lt;!-- Supporto dark mode per il theme color --&gt;\n&lt;meta name=\"theme-color\" content=\"#0a0a0f\" media=\"(prefers-color-scheme: dark)\"&gt;\n&lt;meta name=\"theme-color\" content=\"#ffffff\" media=\"(prefers-color-scheme: light)\"&gt;\n\n&lt;!-- Icona per dispositivi Apple --&gt;\n&lt;link rel=\"apple-touch-icon\" href=\"\/icons\/apple-touch-icon.png\"&gt;\n\n&lt;!-- Configurazione per iOS --&gt;\n&lt;meta name=\"apple-mobile-web-app-capable\" content=\"yes\"&gt;\n&lt;meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\"&gt;\n&lt;meta name=\"apple-mobile-web-app-title\" content=\"G Tech\"&gt;\n\n&lt;!-- Configurazione per Windows --&gt;\n&lt;meta name=\"msapplication-TileColor\" content=\"#0a0a0f\"&gt;\n&lt;meta name=\"msapplication-config\" content=\"\/browserconfig.xml\"&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Il meta tag <code>theme-color<\/code> \u00e8 particolarmente importante: definisce il colore della barra di stato su Android e della toolbar su Safari, creando un&#8217;esperienza visiva integrata con il design dell&#8217;app. Il tag <code>&lt;link rel=\"apple-touch-icon\"&gt;<\/code> specifica l&#8217;icona che iOS utilizzer\u00e0 quando l&#8217;utente aggiunge la PWA alla schermata home. L&#8217;icona deve essere di 180&#215;180 pixel per i dispositivi Apple attuali.<\/p>\n<h2>Service Worker: Registrazione e Funzionalit\u00e0 Offline<\/h2>\n<p style=\"text-align: justify;\">Il <strong>Service Worker<\/strong> \u00e8 uno script JavaScript che viene eseguito in background, separatamente dalla pagina web, e agisce come un proxy tra il browser e la rete. La registrazione avviene nel documento HTML tramite JavaScript:<\/p>\n<pre><code>&lt;script&gt;\nif ('serviceWorker' in navigator) {\n  window.addEventListener('load', () =&gt; {\n    navigator.serviceWorker.register('\/sw.js')\n      .then(reg =&gt; console.log('Service Worker registrato'))\n      .catch(err =&gt; console.error('Registrazione fallita:', err));\n  });\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Il Service Worker intercetta le richieste di rete e pu\u00f2 servirle dalla cache quando la rete non \u00e8 disponibile, implementando diverse <strong>strategie di caching<\/strong>. La strategia &#8220;Cache First&#8221; serve le risorse dalla cache e aggiorna in background, ideale per asset statici. La strategia &#8220;Network First&#8221; tenta la rete e ricade sulla cache in caso di errore, ideale per contenuti dinamici. La strategia &#8220;Stale While Revalidate&#8221; serve dalla cache immediatamente e aggiorna in background per la prossima visita.<\/p>\n<p style=\"text-align: justify;\">La funzionalit\u00e0 offline \u00e8 uno dei vantaggi pi\u00f9 tangibili delle PWA. Quando l&#8217;utente perde la connessione, il Service Worker pu\u00f2 servire una pagina offline personalizzata anzich\u00e9 l&#8217;errore generico del browser. Per i siti con contenuti prevalentemente statici, \u00e8 possibile pre-cachare l&#8217;intero sito durante l&#8217;installazione del Service Worker, rendendo disponibile offline tutto il contenuto.<\/p>\n<h2>PWA vs App Native: Quando Scegliere Cosa<\/h2>\n<p style=\"text-align: justify;\">Le PWA non sono sempre la scelta migliore. Le <strong>app native<\/strong> rimangono superiori quando si necessita di accesso completo all&#8217;hardware del dispositivo (Bluetooth avanzato, NFC, sensori specifici), quando le performance grafiche intensive sono critiche (giochi 3D, editing video) o quando la distribuzione tramite app store \u00e8 un requisito di business.<\/p>\n<p style=\"text-align: justify;\">Le <strong>PWA eccellono<\/strong> per siti informativi, e-commerce, dashboard, social media, tool di produttivit\u00e0, portali di notizie e qualsiasi applicazione che beneficia della <strong>discoverability web<\/strong> (essere trovabili tramite motori di ricerca) e della <strong>frizione zero<\/strong> di installazione. L&#8217;utente non deve andare su un app store, cercare l&#8217;app, scaricarla e installarla \u2014 basta un tap sul banner &#8220;Installa&#8221; che appare nel browser.<\/p>\n<p style=\"text-align: justify;\">L&#8217;ecosistema PWA continua a evolversi rapidamente: le Web Push Notifications funzionano su tutte le piattaforme (incluso iOS dal 2023), le API di accesso al filesystem e all&#8217;hardware si espandono costantemente, e le performance migliorano con ogni aggiornamento dei browser. Per approfondire come ottimizzare le <a href=\"https:\/\/gtechgroup.it\/blog\/core-web-vitals-html-lcp-cls-inp\/\">performance della tua web app<\/a>, consulta la nostra guida dedicata.<\/p>\n<p style=\"text-align: justify;\">Hai bisogno di aiuto con lo sviluppo di una Progressive Web App? <strong>G Tech Group<\/strong> offre servizi di sviluppo web professionale e consulenza tecnica. Contattaci a <strong>support@gtechgroup.it<\/strong> o via WhatsApp al <strong>0465 84 62 45<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le Progressive Web App (PWA) rappresentano una delle evoluzioni pi\u00f9 significative del web moderno: siti web che possono essere installati sul dispositivo dell&#8217;utente e funzionare&hellip;<\/p>","protected":false},"author":2,"featured_media":164244,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"PWA e HTML: Web App Manifest e Applicazioni Installabili","_seopress_titles_desc":"Guida completa alle Progressive Web App: Web App Manifest, service worker, meta tag per PWA e come rendere il tuo sito web installabile su ogni dispositivo.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"1246","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"PWA, Web App Manifest, Progressive Web App, applicazione installabile, manifest.json","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[{"_seopress_pro_rich_snippets_type":"custom","_seopress_pro_rich_snippets_custom":"<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"HowTo\",\"name\":\"PWA e HTML: Web App Manifest e Applicazioni Installabili\",\"description\":\"Le Progressive Web App (PWA) rappresentano una delle evoluzioni pi\u00f9 significative del web moderno: siti web che possono essere installati sul dispositivo dell\u2019utente e funzionare\u2026\",\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Cosa Sono le Progressive Web App\",\"text\":\"Una PWA \u00e8 un sito web che soddisfa determinati requisiti tecnici che lo rendono installabile, affidabile e veloce. Quando un utente installa una PWA, questa appare nella schermata home del dispositivo con la propria icona, si apre in una finestra dedicata senza la barra degli indirizzi del browser e pu\u00f2 funzionare anche offline o con connessione intermittente.\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Il Web App Manifest: Configurazione Completa\",\"text\":\"Il Web App Manifest \u00e8 un file JSON (tipicamente chiamato manifest.json o manifest.webmanifest) che fornisce al browser le informazioni necessarie per installare e visualizzare la PWA. Il file viene collegato alla pagina HTML tramite un tag  nel :\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"Meta Tag HTML per le PWA\",\"text\":\"Oltre al manifest, diversi meta tag nel  dell'HTML completano la configurazione della PWA e garantiscono la compatibilit\u00e0 con tutti i dispositivi:\"},{\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Service Worker: Registrazione e Funzionalit\u00e0 Offline\",\"text\":\"Il Service Worker \u00e8 uno script JavaScript che viene eseguito in background, separatamente dalla pagina web, e agisce come un proxy tra il browser e la rete. La registrazione avviene nel documento HTML tramite JavaScript:\"},{\"@type\":\"HowToStep\",\"position\":5,\"name\":\"PWA vs App Native: Quando Scegliere Cosa\",\"text\":\"Le PWA non sono sempre la scelta migliore. Le app native rimangono superiori quando si necessita di accesso completo all'hardware del dispositivo (Bluetooth avanzato, NFC, sensori specifici), quando le performance grafiche intensive sono critiche (giochi 3D, editing video) o quando la distribuzione tramite app store \u00e8 un requisito di business.\"}],\"image\":\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2025\/12\/html-41-pwa.jpg\"}<\/script>"}],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[1246],"tags":[1445,787],"class_list":["post-164064","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html","tag-pwa","tag-sviluppo-web"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/posts\/164064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/comments?post=164064"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/posts\/164064\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/media\/164244"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/media?parent=164064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/categories?post=164064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/en\/wp-json\/wp\/v2\/tags?post=164064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}