Kommunikasjon i sanntid er en hellig gral webutvikling, og vi har endelig muligheten til å inkorporere den i våre applikasjoner, takket være Web Sockets API. Men som med de fleste nettleser-APIer, er Web Sockets API ganske lavt, og hvis du har brukt litt tid med det, vet du hvor vanskelig det kan være å bruke effektivt.
I dag har vi imidlertid superdatamaskiner i lommene våre som vi bruker hver eneste dag, og brukerne forventer den samme sanntidsopplevelsen på tvers av nett, mobil og til og med skrivebordet. I denne serien lærer du om kanaler, en plattform som lar deg gi brukerne den sømløse sanntidsopplevelsen de vil ha.
Når det gjelder å skrive sanntidsapplikasjoner, trenger du en infrastruktur som du kan bruke (og gjenbruk) i alle dine applikasjoner på alle dine støttede plattformer. Det ville være morsomt å skrive den infrastrukturen, men hvis du er som meg, jobber du med å bygge og produsere programmer - du har ikke tid til å rulle din egen sanntidsløsning.
Det du virkelig trenger er noe som et produkt som heter "Channels" fra Pusher. Kanaler er en plattform som følger med alt du trenger for å innlemme sanntidskommunikasjon i alle dine web-, mobil- og skrivebordsprogrammer.
Kanaler gir fleksibel publisering og abonnementmeldinger med deres enkle, hendelsesbaserte API.
Ved å bruke sine omfattende serverbiblioteker kan du utløse hendelser fra serverprogrammene dine og lytte etter hendelsene på klienten din. La oss ta en kort titt på hvilke biblioteker som er tilgjengelige, fordi dette er trolig den viktigste tingen du vil være interessert i. Jeg vet i hvert fall at jeg ville være fordi jeg vil forsikre meg om at teknologiene mine støttes!
Biblioteker faller inn i to kategorier:
Vi publiserer vanligvis våre meldinger og hendelser fra serveren og lytter etter dem på klienten, men kanaler støtter også klienthendelser som gjør det mulig å publisere meldinger fra klienten (selv om det ikke er noe vi alltid vil gjøre).
Du kan se at de offisielle bibliotekene som er skrevet og vedlikeholdt av Pusher, støtter alle de store plattformene. På forsiden har Pusher biblioteker for:
Og på serveren finner du støtte for:
Hvis du bruker et annet språk eller en plattform, finnes det mange fellesskapsbiblioteker, for eksempel for ActionScript, Android (selv om det også er offentlig støtte for Android), C ++, Cold Fusion, Dart, PERL og React Native. Disse fellesskapsbiblioteker kan ikke implementere alt, men de er et bra sted å starte.
Kanaler er så mye mer enn bare å publisere og abonnere på meldinger.
Du kan opprette og bruke private kanaler, slik at kun autoriserte brukere kan abonnere på dem. Dette betyr at du må autentisere brukere, og du kan sømløst integrere kanalautentisering med ditt eget autentiseringssystem.
Du kan også opprette spesialiserte private kanaler, kalt Presence Channels, som lar deg se brukerne som abonnerer på en bestemt kanal, og det gjør det svært enkelt å bygge samarbeidsprogrammer, spill og andre typer applikasjoner der du trenger å vite hvem er online.
Som en plattform gir kanaler deg alt du trenger for å overvåke beregninger og varsler. Du kan se en rekke beregninger om meldingene som sendes over kanalene dine, for eksempel antall meldinger, deres type og deres størrelse. Du vil også ha informasjon om tilkoblingene og hvordan klienter kobler til både appen din og kanalplattformen. Du kan også integrere alle disse dataene med andre tredjepartsverktøy som Datadog og Slack.
Det finnes feilsøkingsverktøy tilgjengelig når du løper inn i et problem, og webhooks støttes slik at serveren din kan oppdateres og varsles når hendelser oppstår i kanaler. Du kan også spørre statusen til dine tilkoblede brukere med et enkelt søkep API.
Det er mange fantastiske ting å oppdage om kanaler, og vi vil se på dem i løpet av de neste videoene. Så hold deg oppdatert! Og sørg for å besøke Pusher-siden for å lære mer. De har mye informasjon om spesifikke brukssaker, samt opplæringsprogrammer og informasjon om å komme i gang.