RailsConf 2023 - Exploring the Power of Turbo Streams and ActionCable by Kevin Liebholz

Explore the power of Turbo Streams and ActionCable in Rails applications, enabling real-time features, broadcasting updates, and maintaining client-server connections with customization and encryption.

Key takeaways
  • TurboStream and ActionCable: Used to create real-time features in Rails applications.
  • TurboStream: Enables broadcasting of updates to multiple channels without server-side rendering.
  • ActionCable: Rails’ WebSocket magic for real-time features.
  • Connect to WebSockets: Connection is maintained through the WebSocket protocol, and messages are sent over this connection.
  • Server-Side Broadcasting: Broadcasting messages to connected clients without explicit requests.
  • Client-Server Connection: The client’s WebSocket connection is maintained, and messages are sent over this connection.
  • Customization: Allows for customization of how the server and client interact through the WebSocket connection.
  • Real-Time: Provides real-time updates to connected clients without the need for explicit requests.
  • Server-Side Rendering: Not needed for real-time updates, as the updates are broadcasted directly to connected clients.
  • Multiple Channels: ActionCable supports multiple channels, allowing for simultaneous broadcasting to multiple connected clients.
  • Encryption: ActionCable uses encryption to protect sensitive data.
  • Cookies: ActionCable uses cookies to identify connected clients and maintain session state.
  • WebSockets: Enables real-time communication between client and server through a persistent WebSocket connection.
  • Broadcasting: Sends updates to connected clients without explicit requests.
  • Subscription: Clients can subscribe to specific channels for real-time updates.