Realtime communicatie is een heilige graal van webontwikkeling en we hebben eindelijk de mogelijkheid om het in onze applicaties op te nemen, dankzij de Web Sockets API. Maar net als bij de meeste browser-API's, is de Web Sockets API nogal laag en als u er enige tijd mee bezig bent geweest, weet u hoe moeilijk het kan zijn om effectief te gebruiken.
Tegenwoordig hebben we echter supercomputers in onze zakken die we elke dag gebruiken, en gebruikers verwachten dezelfde realtime ervaring op internet, mobiel en zelfs op desktop. In deze serie leert u over kanalen, een platform waarmee u uw gebruikers de naadloze realtime ervaring kunt geven die ze willen.
Als het gaat om het schrijven van real-time applicaties, heb je een infrastructuur nodig die je kunt gebruiken (en hergebruiken) in al je applicaties op al je ondersteunde platforms. Het zou leuk zijn om die infrastructuur te schrijven, maar als je net als ik bent, is het jouw taak om applicaties te bouwen en te produceren - je hebt geen tijd om je eigen real-time oplossing te rollen.
Wat je echt nodig hebt, is zoiets als een product genaamd "Channels" van Pusher. Channels is een platform dat wordt geleverd met alles wat u nodig hebt om real-time communicatie op te nemen in al uw web-, mobiele en desktop-applicaties.
Channels biedt flexibel publiceren en subscribe-berichten met hun eenvoudige, op gebeurtenissen gebaseerde API.
Door hun uitgebreide serverbibliotheken te gebruiken, kunt u gebeurtenissen van uw serverapplicaties activeren en naar die gebeurtenissen op uw client luisteren. Laten we een korte blik werpen op welke bibliotheken beschikbaar zijn, omdat dit waarschijnlijk het belangrijkste is waar u in geïnteresseerd zou zijn - ik weet tenminste dat ik dat zou zijn, want ik wil zeker weten dat mijn technologieën worden ondersteund!
Bibliotheken vallen in twee categorieën:
We publiceren onze berichten en evenementen doorgaans van de server en luisteren ernaar op de client, maar kanalen ondersteunen ook clientgebeurtenissen - waardoor het mogelijk wordt om berichten van de client te publiceren (hoewel dat niet altijd is wat we altijd willen doen).
U kunt zien dat de officiële bibliotheken die door Pusher zijn geschreven en worden onderhouden alle grote platforms ondersteunen. Aan de voorkant heeft Pusher bibliotheken voor:
En op de server vindt u ondersteuning voor:
Als u een andere taal of een ander platform gebruikt, zijn er veel communitybibliotheken beschikbaar, bijvoorbeeld voor ActionScript, Android (hoewel er ook officiële ondersteuning is voor Android), C ++, Cold Fusion, Dart, PERL en React Native. Deze communitybibliotheken implementeren misschien niet alles, maar ze zijn een goede plaats om te beginnen.
Kanalen is zoveel meer dan alleen publiceren en abonneren op berichten.
U kunt privékanalen maken en gebruiken, zodat alleen geautoriseerde gebruikers zich hierop kunnen abonneren. Dit betekent dat u gebruikers moet verifiëren en dat u kanalenverificatie naadloos kunt integreren met uw eigen verificatieschema.
Je kunt ook gespecialiseerde privékanalen maken, zogenaamde aanwezigheidskanalen, waarmee je de gebruikers kunt zien die zich op een bepaald kanaal abonneren, en het maakt het uiterst eenvoudig om samenwerkende applicaties, games en elk ander type applicatie te ontwikkelen waar je moet weten wie is online.
Als een platform biedt Channels u alles wat u nodig hebt om statistieken en waarschuwingen te bewaken. U kunt verschillende statistieken bekijken over de berichten die via uw kanalen worden verzonden, zoals het aantal berichten, het type en de grootte. Je hebt ook informatie over de verbindingen en hoe clients verbinding maken met zowel je app als het kanalenplatform. U kunt al deze gegevens ook integreren met andere tools van derden, zoals Datadog en Slack.
Er zijn foutopsporingstools beschikbaar voor elke keer dat u een probleem tegenkomt, en web hooks worden ondersteund, zodat uw server kan worden bijgewerkt en op de hoogte kan worden gesteld wanneer gebeurtenissen plaatsvinden binnen kanalen. U kunt ook de status van uw verbonden gebruikers opvragen met een eenvoudige query-API.
Er zijn veel geweldige dingen te ontdekken over kanalen en we zullen ze in de loop van de volgende paar video's bekijken. Dus houd ons in de gaten! En vergeet niet om de Pusher-site te bezoeken voor meer informatie. Ze hebben veel informatie over specifieke use-cases, evenals tutorials en informatie over aan de slag te gaan.