May 13, 2016

Rails ActionCable

By Emiliano Coppo

DevSnack #40: Everything changes. It’s a fact. A few years ago web development was very rudimentary, it just comprehended to serve a bunch of files from a web server which then the browser would interpret and render as a web page. But as time goes on, new technologies and also new requirements have emerged, transforming web pages from their ‘static’ origins to very rich, interactive, real-time complex applications. With Rails 5, ActionCable promises to help developers to include these real-time features seamlessly into any Rails app. Let’s learn about it and discover all the cool things we can do with it!

 #1 – Implementing WebSockets in Rails 5 with Action Cable

Sophie DeBenedetto (@sm_debenedetto) brings a great introductory article about how WebSockets and ActionCable work in a Rails app. It features a standard chat room example using Rails, and also explains how to deploy our Rails + ActionCable app to Heroku.

#2 – Rails ActionCable — The good and bad parts

Everything can’t be perfect in the Rails wonderland, in this great article, Matthew O’Riordan (@mattheworiordan) meticulously lists the strengths and weaknesses of ActionCable as a real-time solution in the real world.

#3 – Using ReactJS with Rails Action Cable

Wondering how to integrate ActionCable with new frontend frameworks? This post shows a basic ActionCable + ReactJS example which would be very useful for our frontend friends! By Vipul Amler (@vipulnsward).

#4 – ActionCable Examples

For those of you who prefer examples rather than reading an article, the Rails team has put together this repository with a nice collection of ActionCable examples. Check it out!

#5 – How to Deploy ActionCable and Rails 5 To Production

In this screencast, the guys from Go Rails (@GoRails) show a complete example of developing a Rails app with ActionCable and specifically how to deploy our code to production using Passenger. Nice video!

Creative Commons License
DevSnack by Moove-it is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.