Passa ai contenuti principali

Blogger (Google) - Creare una PWA per il Blog


Abbiamo affrontato in precedenza un articolo che illustrava come creare una semplice PWA (Progressive Web App) che consente di bypassare la costruzione di una App vera e propria nativa per avere il pulsante sullo smartphone Android o PC/Mac.

Quanto esposto vale per qualsiasi tipo di sito web sul quale si ha un controllo totale della gestione dei file (quindi Hosting oppure Web Server proprietari [1]), ma "vale un po' meno" per tutte quelle strutture come Blogger dove non si ha lo stesso tipo di controllo.

[1] - Ref.: The Matrix Machine Project - Linux, Server Aruba

Non si può quindi  fare una PWA?


La risposta è ni, ovvero si deve avere uno spazio web esterno a blogger dove avere un https accedibile da ftp sul quale appoggiare i dati che ci servono per creare la nostra PWA, ovvero manifest.json e sw.js

Noi ci rifaremo al nostro dicecca.net - Web Site, spazio web con https che non ospita il blog in senso stretto (per ragioni storiche che si perdono nella notte dei tempi del web)

Sul nostro sito, abbiamo creato una cartella Blog che contiene i file necessari:

index.html (o php)

manifest.json

sw.js


Il file index.html

Il file index.html (o php a seconda di quanto vogliamo perdere tempo) è quello più semplice da scrivere, poiché contiene solo le chiamate agli altri due file.

Un esempio semplice di codice potrebbe essere questo:

<html>
<head>
 
 <!-- ************************ -->
 <!-- Begin PWA by dicecca.net -->
 <!-- ************************ -->

 
 <link rel="manifest" href="/blog/manifest.json">
 
 <script>
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/blog/sw.js')
  .then(function(registration) {
    console.log('Registration successful, scope is:', registration.scope);
  })
  .catch(function(error) {
    console.log('Service worker registration failed, error:', error);
  });
}
</script>
 
 <!-- ************************ -->
 <!-- Ends  PWA by dicecca.net -->
 <!-- ************************ -->

 
 <title>dicecca.net - Blog - WebApp</title>
 
 </head>
 
 <body>
 
 <h1>Questo &egrave; la <strong>Progessive Web App
</strong> per il tuo dispostivo Chrome del Blog</h1>
 </body>
 </html>


In verde sono evidenziate i commenti che delimitano il codice per la PWA, mentre in giallo sono evidenziati i file da chiamare, come descritto nel precedente articolo.

La differenza la fanno i due file di sistema manifest.json e sw.js.


Il file manifest.json

Come detto, il programma si trova su un sito e quello che dobbiamo vedere si trova da un'altra parte... a "migliaia di chilometri" dal nostro sito, il file manifest.json fa la differenza:

{

  "short_name": "Blog - dicecca.net",

  "name": "dicecca.net - Blog",

  "icons": [

    {

      "src": "/blog/ico/apple-icon-57x57.png",

      "type": "image/png",

      "sizes": "57x57"

    },

    {

      "src": "/blog/ico/favicon-96x96.png",

      "type": "image/png",

      "sizes": "96x96"

    },

{

      "src": "/blog/ico/apple-icon-144x144.png",

      "type": "image/png",

      "sizes": "144x144"

    },

    {

      "src": "/blog/ico/android-icon-192x192.png",

      "type": "image/png",

      "sizes": "192x192"

    }

  ],

  "start_url": "/blog/blog.html",

  "display": "fullscreen",

  "lang": "it-IT",

  "background_color": "#fff",

  "theme_color": "#fff",

  "orientation": "portrait-primary"

}


Non mi dilungo sui dettagli, essendo gli stessi del precedente articolo (vedi bibliografia a fine articolo), ma il file selezionato in giallo ha il suo motivo


Il file blog.html

Se il nostro blog sta a migliaia di km dal nostro sito, allora dobbiamo dire alla nostra PWA di caricarlo.

In questo file andiamo ad inserire il seguente codice:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=https://blog.dicecca.net/">

che altro non fa che caricare il blog con l'url intero (in giallo)


Il file sw.js

In ultimo il Service Worker, che come manifest.json, carica i dati dal sito dove si trova la WebApp, deve essere instradato:


  /*************************************************

* Progressive Web App - dicecca.net - Blog

*

* dEC Framework

*

* (C) 2021 - dicecca.net - Editorial Video Lab.

*      dEC - dicecca.net/Enterprise-Company

*************************************************

*

* Questo è il Service Worker della PWA del

*

* dicecca.net - Blog su Blogger

*

*************************************************/



self.addEventListener('install', e => {

console.log('PWA Service Worker installing.');

    let timeStamp = Date.now();

    e.waitUntil(

    caches.open('blog_service_worker').then(cache => {

      return cache.addAll([

'/blog/blog.html',

'/blog/ico/android-icon-192x192.png'

      ])

      .then(() => self.skipWaiting());

    })

  )

});


self.addEventListener('activate',  event => {

  console.log('PWA Service Worker activating.');  

  event.waitUntil(self.clients.claim());

});


self.addEventListener('fetch', event => {

  event.respondWith(

    caches.match(event.request).then(response => {

      return response || fetch(event.request);

    })

  );

});


Evidenziato il giallo ci sono i due file da inserire, quello dell'icona e quello che deve materialmente caricare il blog.

Andando sul sito www.dicecca.net/blog, avremo



Versione molto scarna e dimostrativa (come da file index.html mostrato in precedenza), oppure


un po' più barocca

In entrambi i casi si deve cliccare il banner a footer dello smartphone.

Sul nostro smartphone Android avremo:




Se usiamo il browser Chrome su PC, avremo questo:


Analogo discorso su Microsoft Edge


Una volta installata su Windows 10 avremo:





Cioè sia l'icona sul Desktop che nel Pulsante Start di Windows 10


Cancellare la Progressive WebApp dal PC

Se da smartphone Android è relativamente semplice, ovvero si disinstalla come una qualsiasi App, su PC va disinstallata dall'App stessa:



Come da immagine si clicca sui tre puntini e poi Disinstallare dicecca.net - blog.


Commenti

Post più popolari

HP Z440 Workstation - Il problema dello spegni ed accendi improvviso ed il reset del BIOS

Chi possiede una Workstation HP Z440 (con processore Xeon) o è incappato o potrebbe incappare in un problema, dalla sera alla mattina che può essere devastante se, da un lato non ci sono state avvisaglie e si sta lavorando a qualche progetto. Scrivo questa nota per me, ma nello spirito del blog , la condivido per chi si trovasse nello stesso problema.

Installare lo scanner della Ricoh Aficio MP 1600L

Condividi Non so a quanti di Voi lettori sia capitato di dover installare su Windows una fotocopiatrice multifunzione come la Ricoh Aficio MP 1600L . A differenza dei classici prodotti cash-'n'-carry come le stampanti Epson, HP, Canon e tutte le altre da supermercato, questo genere di prodotti tipicamente Office, non hanno un sistema "comodo" di installazione come per le suddette "macchine da bancone" Di seguito c'è la soluzione che ho trovato (anche grazie ad un aiuto) che mio ha consentito di risolvere lo stesso problema su più computer Il driver in Italiano (anche perché la versione lingua è importante) per Windows XP si scarica cliccando qui . Premetto che considero la stampante collegata ad un PC via USB (il contenuto di questo post è applicabile anche alla multifuzione collegata ad un print server come TP-Link PSU210) Una volta installata stampante con il Driver di stampa DDST ricordando di mettere nelle impostazioni il check Il marigine lungo è v...

Penna Alcatel One Touch X100 Wind

English translated post Essendo sempre in movimento, con la costante necessità di avere sempre il PC (il mitico Asus Eee PC 900) a portata di mano e con esso una connessione a Internet ho comprato una penna della Wind (quella in offerta della pubblicità con la Incontrada e Panariello) con annessa scheda del contratto di 50 ore mensili. La penna è una Alcatel One Touch X100 Wind con supporto dei seguenti protocolli: HSDPA (fino a 7,2Mbps in downstream) UMTS (fino 384Kbps in downstream ed upstream) EDGE (fino 237Kbps downstream e 118Kbps in upstream) GPRS (fino a 85,6Kbps downstream e 42,8Kbps in upstream) Particolarmente interessante è la presenza a bordo del Mobile Connector di una memoria di circa 30MB con i driver per tutte le due piattaforme più usate: Windows (2000, XP, Vista) e Mac OS X (driver sono disponibili anche su dicecca.net - Web Site ) E' anche possibile (a detta del costruttore, ma non ho ancora sperimentato) inserire una memoria MicroSD con supporto anche per M...