{"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\/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%, Starbucks ha raddoppiato gli utenti attivi giornalieri e Pinterest ha aumentato del 60% 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>\n","protected":false},"author":2,"featured_media":164244,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"1246","_seopress_titles_title":"PWA e HTML: Web App Manifest e Applicazioni Installabili %%sep%% %%sitename%%","_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":"","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\/wp-json\/wp\/v2\/posts\/164064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=164064"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164064\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/164244"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=164064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=164064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=164064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}