After a recent celebration of the 10th anniversary of Rails 1.0, Ruby on Rails announced the first beta release of Rails 5.0 on Friday.
Rails 5.0 has a new framework for handling WebSockets, called Action Cable. It’s an integrated solution that includes an EventMachine-powered connection loop, a thread-backed channels layer for server-side processing, and a JavaScript layer for client-side interaction, according to the company’s announcement.
Basecamp 3, a Web-based project-, task- and time-management group, is already running Rails 5.0 beta in production, powering all of its features with Action Cable.
(Related: API management comes of age)
According to Rails’ announcement, Action Cable runs in-process with the rest of a developer’s app. To do this, Rails has switched the default development server from WEBrick to Puma, and in production, Rails suggested running Action Cable servers in the developer’s own process, which is how Basecamp runs at scale.
Another feature of Rails 5.0 is the API mode. If a Rails application is created using the Rails new back-end API, it will create a configuration that assumes the developer will be working with JSON, not HTML. Rails said that there is still work to be done with this feature.
For beginners using Rails, a common question has been about some commands living in bin/rails and some commands living in bin/rake. Rails 5.0 is committed to making bin/rails the master command. Rails wrote that all of the rake commands are available as a gateway, and eventually it will port many of them over.
A few other Rails 5.0 highlights include:
• a new Attributes API, which can be found on GitHub
• the test runner now reports failures inline
• ApplicationRecord has been born as a default parent class of all models created by the generators
So far, 789 developers have contributed to Rails 5.0, and issues can be recorded on the GitHub issues tracker.