Rails 5.0.0.beta2 触ってみた

  • View
    1.924

  • Download
    0

  • Category

    Software

Preview:

Citation preview

Rails 5.0.0.beta2 触ってみたモリジュン (@zyunnosuke)

自己紹介モリジュン (@zyunnosuke)

「酒と泪とRubyとRailsと」書いてます!

(๑•̀ㅁ•́๑)✧

Rails5 Measure Version Up!• いよいよRails のメジャー・バージョンアップ

• 2015/12/18 - 5.0.0.beta1 released

• 2016/01/25 - 5.0.0.beta1.1 released

• 2016/02/01 - 5.0.0.beta2 released ← 今ココ

• 2016/02/16~23 - 5.0.0 rc1 release予定

• 勉強がてら新機能を触ってみたので報告

Action Cable

Action Cableって何?• Action CableはWebSocketをハンドリングするためのフレームワーク

• ちなみに、WebSocketとはサーバとブラウザ間での双方向通信のプロトコル

• チャットやNotificationをRails Wayで簡単に実装することができる

チャットアプリを作ろうGeneratorでひな形を生成

チャットアプリを作ろうルーティングを修正

チャットアプリを作ろうJavaScript側を修正

チャットアプリを作ろうActionCableのクラスを作成

チャットアプリを作ろうMessageをテーブルに保存、非同期でJobを起動

チャットアプリを作ろう保存されたメッセージを非同期で配信

チャットアプリを作ろうあとはViewを作るだけ

チャットアプリを作ろうチャットアプリ完成 ʕ•̀ω•́ʔ✧

Action Cableの感想• Viewのキャッシュなど、Railsの今までの 知識を有効活用できる

• 一時的な接続不良やエラー時のリカバリ等、 本番適用には色々考えないといけなそう

• Basecamp 3では既に本番適用。けど、ネットの知見がたまるまで少し様子見がいいかも

http://morizyun.github.io/blog/rails-5.0.0.beta1-new-function-official-blog/

API Mode

API Modeって何?• プログラムがアクセスすることを前提としたJSON APIに適したアプリ

• Rails Wayでビジネスロジックをスピーディかつ柔軟にAPIを構築できる

API Modeのメリット• 通常のWebアプリよりも、Middlewareが通常より制限されることで応答性能が向上する

• GeneratorでのViewやAssetの生成が行われない(フロントエンド側が行うことを想定)

• Railsのプラクティスをそのまま使いつつ、性能が向上しているので実用的

http://morizyun.github.io/blog/rails-5.0.0.beta1-new-function-official-blog/

ActiveRecord Attributes

ActiveRecord AttributesDBに保存する独自の型を持つことができる

http://morizyun.github.io/blog/rails-5.0.0.beta1-new-function-official-blog/

ActiveRecord::Relation#or

ActiveRecord::Relation#ororを正確に解釈できるようになった

(近日中にブログ公開予定)

ActiveRecord::Relation#left_outer_joins

#left_outer_joins(#left_joins)

外部結合を行う #left_outer_joins(#left_joins)

(近日中にブログ公開予定)

Enumerable#pluck

Enumerable#pluckEnumerableから、特定の要素を抽出

(近日中にブログ公開予定)

Enumerable#without

Enumerable#withoutEnumerableから特定の要素を取り除く

(近日中にブログ公開予定)

etc…

まとめ

まとめ• Action Cable => チャット作りやすそう

• API Mode => APIを作りはじめやすそう

• その他いろいろ => 地味な進化が嬉しい