Ruby on Rails 5.0 發布
在本次發布的 Rails 5.0 中,有兩大亮點:
Action Cable
Action Cable 是一個重新打造的框架,用於在 Rails 中控制 WebSocket。它是一個完全整合的解決方案,包括了連接管理、用於伺服器端處理的 channel 層以及客戶端交互的 JavaScript 層。它增加了易用性,讓設計類似聊天、提示、現場等實時功能更加容易。如果你想看看它的具體表現,你可以看看它在 Basecamp 3 強大的表現。
Action Cable 中最棒的地方是你可以在你的 WebSocket 裡面訪問你的整個 Active Record 和 PORO 域模型。如果你想為 WebSocket 響應復用伺服器端模板的話,甚至還有一個全新打造的 ActionController::Renderer 系統可以使你在控制器之外渲染你的模板。
在開發模式時,Action Cable 可以運行在你的應用內部,你只需要將默認的開發伺服器從 Webrick 切換到 Puma 即可。在產品環境中,你也可以讓 Action Cable 運行自己的伺服器。
API 模式
Rails 不僅是你使用伺服器端 HTML 模板渲染來構建全棧應用的最佳選擇,而且也是開發客戶端 JavaScript 或原生應用的好伴侶,只需要用 JSON 和後端通訊即可。新推出的 -api 模式可以讓你使用 rails new backend --api
創建一個新的 Rails 應用,這樣會採用 JSON 而不是 HTML 作為應用骨架和配置。
這個功能還需要更多的完善,不過這是一個良好的開端。
其它亮點
- 不用再使用 rake 命令了,統一採用一個 rails 命令即可。比如現在用
bin/rails db:migrate
取代了bin/rake db:migrate
。 - 新的屬性 API。
- 生成器創建的所有模型都以 ApplicationRecord 為默認父類。
- 等等……
具體你應該看看各個部分的變更日誌,都有不少變化:
- Action Mailer CHANGELOG
- Action Pack CHANGELOG
- Action View CHANGELOG
- Active Model CHANGELOG
- Active Record CHANGELOG
- Active Support CHANGELOG
- Active Job CHANGELOG
- Railties CHANGELOG
更多的細節,你可以看看完整的 Rails 5.0 發布公告,Claudio B. 做了一篇簡短的演示來介紹了他喜歡的一些改進(和一些功能的去除),DHH 本人也錄製了一段基礎性的介紹視頻: 讓我們用 Rails 5 打造一個博客 。
此外要注意,根據 Rails 的維護策略,Rails 5.0 的發布代表著以後將只會對 5.0.x 進行錯誤修復,安全問題的修復會包括 5.0.x 和 4.2.x,(如果 5.1 出來了就是 5.1.x、5.0.x 和 4.2.x)。也就是說,4.1.x 及其以下版本原則上不支持了!而且,Ruby 2.2.2 及以上版本也將僅支持 Rails 5.0 及以上版本。
(題圖來自:mobiloitte.com)
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive