WebSockets-alternatieven voor de Android-browser
De webbrowser in het Android-besturingssysteem ondersteunt geen WebSockets, een protocol dat continue verbindingen onderhoudt tussen webservers en webclients of browsers. Daarom, als uw bedrijf van plan is om websites te ontwerpen die compatibel zijn met Android en die permanente verbindingen vereisen in plaats van asynchrone, dan heeft u een alternatief voor WebSockets nodig, waarvan er een paar zijn, en de implementatie ervan kost niets. Programmeerimplementaties zoals BOSH, de Google Application Programming Interface en Comet bieden allemaal methoden voor continue verbindingen.
WebSockets-basis
Om te ontwikkelen met behulp van alternatieven voor WebSockets, helpt het om te weten wat ze zijn. In tegenstelling tot de ontwikkeling van "Web 2.0", die zich traditioneel concentreerde op asynchrone communicatie tussen clientbrowsers en servers, onderhoudt WebSockets een open verbinding tussen beide. Asynchrone communicatie vereist een constante "polling" of controle van de browser van de gebruiker. Dit betekent dat de browser de server zou moeten vragen of er nieuwe informatie aanwezig was in een document zonder vooraf te weten. WebSockets doet dit weg, constant contact tussen browser en server. Elk alternatief zou hetzelfde moeten bereiken.
BOSH
Omdat de native Android-browser geen ondersteuning biedt voor WebSockets, moet u een ander framework implementeren. Bidirectionele streams over synchrone HTTP biedt zo'n alternatief. BOSH bootst de implementatie na van een continue TCP-communicatielijn. In BOSH reageert de server niet op browser-aanvragen totdat deze daadwerkelijk gegevens heeft om te verzenden. Verder accepteert de server geen clientverbinding voor gegevens totdat een tweede HTTP-verbinding is gemaakt na het verzoek. Dit betekent dat directe verbindingen alleen plaatsvinden wanneer gegevens die betrekking hebben op de bekeken pagina aanwezig of verzonden zijn, waardoor bandbreedte en vertraging wordt verminderd en de snelheid van het laden van uw webpagina wordt verhoogd.
Google Channel API
De Google Channel API onderhoudt een open verbinding tussen Google-servers en Google-pagina's en -toepassingen. Met behulp van een JavaScript-client om de API te implementeren, kan de pagina of applicatie een beveiligde verbinding maken met Google-servers, waarover Google-servers een constante gegevensstroom kunnen verzenden zonder herhaalde peiling. Dit maakt real-time updates mogelijk, wat zeer voordelig kan zijn voor pagina's en apps die rechtstreekse spellen uitvoeren. Dit is handig als u van plan bent om Google-compatibele applicaties te ontwikkelen.
Comet en AJAX
Hoewel de voorgaande voorbeelden laten zien hoe synchrone verbindingen op verschillende manieren worden onderhouden, probeert de Comet - met AJAX - verbindingsstijl binnen een open raamwerk het gebruik van asynchrone polling te behouden. Comet probeert de problemen met de polling van clients, inclusief bandbreedtekosten en vertraging, te verhelpen door standaarden te bieden waarmee servers gegevens kunnen verzenden zonder te zijn ondervraagd. Comet introduceert echter implementatieproblemen, doordat browsers de integrale onderdelen van de technologie, zoals codering en verzoekverwerking, niet op dezelfde manier gebruiken.