Como é que open.spotify.com trabalho?

Posso ir para a página web https://open.spotify.com e seleccione as músicas que são tocadas imediatamente na minha aplicação spotify desktop. Como é que isto funciona? Eu poderia imaginar um cenário onde a página web envia um pedido para um servidor que, em seguida, diz a minha aplicação desktop para jogar, mas o site e minha aplicação parecem muito em sincronia. Claro que a web é rápida, mas os contadores de tempo de música estão perfeitamente em sincronia e não há lag quando eu clicar em tocar.

Acho que podem fazer isso. algo inteligente em sincronizar o contador de tempo da canção, Mas eu estou me perguntando se eles estão dong algo ainda mais inteligente: não usando um servidor em tudo.

Então a verdadeira questão: existe uma maneira de ter uma comunicação directa entre uma página web e uma aplicação a correr no cliente?

Author: Andy Schmitt, 2017-10-21

1 answers

O mecanismo está descrito em Como é que o botão do navegador do Spotify interage com a aplicação do Spotify?. Quando você instala a aplicação do Spotify desktop, um processo chamado SpotifyWebHelper é executado em segundo plano. Este processo funciona como um servidor local e recebe pedidos de open.spotify.com para interagir com a reprodução actual. Como você vê, há uma maneira de comunicar um site e uma aplicação local.

Vale a pena notar que há uma preocupação crescente por fornecedores de navegador sobre este mecanismo (ver https://bugs.chromium.org/p/chromium/issues/detail?id=378566 [[3]] e deixará de funcionar em algum momento no futuro. Uma solução mais à prova de futuro poderia ser baseada em um serviço proxy que recebe pedidos da página web e atualiza sua aplicação, e viceversa. As tomadas Web são um bom candidato para isso. Embora o proxy, agindo como um serviço de gestão do estado, introduz algum atraso, ele também permite alguns outros casos de uso: por exemplo, você não precisa ter o aplicativo instalado na mesma máquina na qual a página web é navegada, e pode-se, por exemplo, controlar um cliente móvel.
 1
Author: José M. Pérez, 2017-10-21 08:38:30