SocketIO v4, with websockets – the 2023 details.

0

What you’ll learn

  • Socketio. That’s (mostly) all we cover so when you finish, you’ll know it!
  • Setup a socketio application between the browser and an Express server and run real-time back and forth
  • Understand the basics of websockets and how they work
  • The basics of the transport layer and how a packet works

Requirements

  • You have a solid working knowledge of JavaScript and nodejs (Not a ninja, but you are not new).
  • You have used the node ecosystem (npm, Express, etc.). This is NOT an intro to node class and I will NOT cover these in detail.
  • You have basic command line knowledge (at least capable of navigating and running a program)
  • You have a computer capable of running Nodejs.

Description

May 2023: Version 4 update is complete. I have left the v2 sections up for a sunset period. This means, at the moment, roughly half the course is the same content in different versions. Please take note of the section title if you are just starting out to make sure you are taking the version you want.

Websockets are one of the coolest api’s to ever hit the web. They allow the browser real-time communication, bridging one of the last gaps in both human and web-based communication. Socket io is the king library that uses websockets under the hood. There’s a good chance if you’re reading this, you’ve heard about socketio. Maybe even done a tutorial on it. But how far did you get? In my experience, the vast majority of the material on the web goes no farther than a quick-start, instant chat app. You don’t learn how anything works, never look at the docs, and are stuck at the end wondering what to do now. Is that all socketio can do? The remaining shred of material is waaaaay over everyone’s head. The fact that the websocket API was standardized in 2011 and most developers still don’t know how to use it is evidence of the gap.

This course is meant to alleviate that! It is not a quick start guide to socket IO. There are loads of those all over the Internet. You should definitely look elsewhere if you are wanting a 10 minute intro to the 3-4 things you need to know to make something quick. On the other hand, if you are looking to really learn one of the most awesome JavaScript libraries in socket io, you should stick around. Like Express and other JavaScript/Node pieces,  it’s getting passed over in the wave to learn just enough to get to the term “full-stack developer.” My main goal is to help you figure out how to go from being a good developer to a great developer. Understanding… not just knowing a few methods… of socketio is part of that! It even transcends the browser and node with implementations in most other languages, and even mobile/React Native. This means as you grow, you have the power of sockets without having to learn more than the socket io library.

I first used socketIO in 2013 for a tiny company directory app. I’ve been following since and have been frustrated that it hasn’t gotten more mainstream notice because it opens the way for so many improvements to existing applications and obvious groundwork for new ones. Let’s change that 🙂 Prepare to for a detailed look at socketio and websockets and start going real-time.

Sections:

  1. Introduction – course overview, github link, and the state of socketio and websockets
  2. Before SocketIO… – TCP, network sockets, & a native websockets app
  3. Socket.IO-101 – Why you’d want to use socketio (instead of just websockets), and how it works (simple chat app)
  4. Socket.IO-201 – Making the chat app into a slack clone with namespaces and rooms
  5. Project – real-time canvas game (agar.io-clone)
  6. Project – Real-time performance data (uses React, Cluster, and the Cluster Module. Rotated Redis out until the new module is stable)
  7. Supplemental – HTTP (for those in need of a review)
  8. LEGACY – version 2 – Socket.IO-101
  9. LEGACY – version 2 – Socket.IO-201
  10. LEGACY – multi-player canvas game
  11. LEGACY – Advanced Project

I hope to add sections for a streaming videos/socket.io-stream app, as well as a React Native app.

Who this course is for:

  • JS/Node developers who want to actually learn how to use Socketio for more than a chat app tutorial
  • JS developers interested in how node & JS combine to make the networking happen
  • Developers interested in building real time applications

Created by Robert Bunch
Last updated 8/2023
English
English [Auto]

Enroll Now

Leave A Reply

Your email address will not be published.