Alternativas WebSockets para o Navegador Android
O navegador da Web incluído no sistema operacional Android não suporta WebSockets, um protocolo que mantém conexões contínuas entre servidores Web e clientes da Web ou navegadores. Portanto, se sua empresa pretende projetar websites compatíveis com Android que exigem conexões persistentes em vez de conexões assíncronas, você precisa de uma alternativa aos WebSockets, que são poucos, e implementá-los sem nenhum custo. Implementações de programação como o BOSH, o Google Application Programming Interface e o Comet oferecem métodos de conexões contínuas.
WebSockets Basics
Para desenvolver alternativas ao WebSockets, ajuda saber o que são. Ao contrário do desenvolvimento "Web 2.0", que tradicionalmente se concentrava na comunicação assíncrona entre servidores e navegadores clientes, o WebSockets mantém uma conexão aberta entre os dois. A comunicação assíncrona exige uma "pesquisa" ou verificação constante por parte do navegador do usuário. Isso significa que o navegador teria que perguntar ao servidor se novas informações estavam presentes em um documento sem saber de antemão. Os WebSockets eliminam isso, mantendo contato constante entre o navegador e o servidor. Qualquer alternativa deve realizar a mesma coisa.
BOSH
Como o navegador Android nativo não suporta WebSockets, você deve implementar outro framework. Os fluxos bidirecionais sobre HTTP síncrono oferecem uma dessas alternativas. BOSH imita a implementação de uma linha de comunicação TCP contínua. No BOSH, o servidor não responde às solicitações do navegador até que ele realmente tenha dados para enviar. Além disso, o servidor não aceita uma conexão de cliente para dados até que uma segunda conexão HTTP seja feita após a solicitação. Isso significa que as conexões imediatas só acontecem quando os dados pertinentes à página visualizada estão presentes ou são enviados, reduzindo a largura de banda e a lentidão e aumentando a velocidade de carregamento da sua página da Web.
API do canal do Google
A API do Google Channel mantém uma conexão aberta entre os servidores do Google e as páginas e aplicativos do Google. Usando um cliente JavaScript para implementar a API, a página ou o aplicativo pode criar uma conexão segura com os servidores do Google, sobre os quais os servidores do Google podem enviar um fluxo constante de dados sem repetidas pesquisas. Isso permite atualizações em tempo real, o que pode ser altamente benéfico para páginas e aplicativos que executam jogos diretos. Isso é conveniente se você planeja desenvolver aplicativos compatíveis com o Google.
Cometa e AJAX
Enquanto os exemplos anteriores mostram como as conexões síncronas são mantidas através de métodos diferentes, o estilo de conexão Comet - com AJAX - tenta, dentro de uma estrutura aberta, manter o uso da pesquisa assíncrona. O Comet tenta atenuar os problemas com pesquisas de clientes, incluindo custos de largura de banda e lentidão, fornecendo padrões pelos quais os servidores podem enviar dados sem terem sido pesquisados. O cometa, no entanto, introduz problemas de implementação, pois os navegadores não usam as partes integrantes da tecnologia, como codificação e tratamento de solicitações, da mesma maneira.