Web Share si presenta quindi come uno strumento più completo rispetto a registerProtocolHandler, incompatibile con i sistemi mobili, Web Intents, framework sperimentale per Web application ormai dismesso, e service URL che o sono fortemente dipendenti da un servizio esterno (Twitter) o vengono supportati semplicemente da piattaforme specifiche (googleos) e richiedono procedure di opt-in via App.
Una delle caratteristiche più interessanti di questa nuova API risiede nel fatto che essa è stata concepita per garantire un controllo completo sul modo in cui vengono condivisi i dati. Il supporto iniziale a Web Share è stato inserito alcuni mesi fa in occasione del rilascio della beta di Chrome 55 quindi; in attesa della fase di general availability, l’interfaccia non sarà accessibile da tutti i siti Web e per il suo utilizzo verrà richiesta una registrazione al trial organizzato per la raccolta dei feedback.
L’adozione dell’API prevede inoltre alcuni requisiti di base, come per modello quello di ospitare il proprio sito Web in un contesto protetto, quindi su connessione sicura tramite HTTPS; Web Share potrà essere inoltre invocato soltanto come risultato di una user gesture e i gioielli passati all’interfaccia dovranno essere obbligatoriamente delle stringhe:
navigator.share( title: document.title, text: "Blah! Blah! Blah!", url: window.location.href ).then(() => console.log('Condivisione completata')) .catch(() => console.log('Errore:', error));
Basata sulle promise, Web Share è un’API single method che manipola un oggetto associato alle proprietà title, text e url, in sostanza tutte le informazioni utili per la condivisione di un contenuto; navigator.share() agirà direttamente in risposta della gesture operata dall’utilizzatore.