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

Rails 5.0.0.beta2 触ってみた

Embed Size (px)

Citation preview

Page 1: Rails 5.0.0.beta2 触ってみた

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

Page 2: Rails 5.0.0.beta2 触ってみた

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

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

(๑•̀ㅁ•́๑)✧

Page 3: Rails 5.0.0.beta2 触ってみた

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予定

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

Page 4: Rails 5.0.0.beta2 触ってみた

Action Cable

Page 5: Rails 5.0.0.beta2 触ってみた

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

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

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

Page 6: Rails 5.0.0.beta2 触ってみた

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

Page 7: Rails 5.0.0.beta2 触ってみた

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

Page 8: Rails 5.0.0.beta2 触ってみた

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

Page 9: Rails 5.0.0.beta2 触ってみた

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

Page 10: Rails 5.0.0.beta2 触ってみた

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

Page 11: Rails 5.0.0.beta2 触ってみた

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

Page 12: Rails 5.0.0.beta2 触ってみた

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

Page 13: Rails 5.0.0.beta2 触ってみた

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

Page 14: Rails 5.0.0.beta2 触ってみた

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

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

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

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

Page 15: Rails 5.0.0.beta2 触ってみた

API Mode

Page 16: Rails 5.0.0.beta2 触ってみた

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

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

Page 17: Rails 5.0.0.beta2 触ってみた

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

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

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

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

Page 18: Rails 5.0.0.beta2 触ってみた

ActiveRecord Attributes

Page 19: Rails 5.0.0.beta2 触ってみた

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

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

Page 20: Rails 5.0.0.beta2 触ってみた

ActiveRecord::Relation#or

Page 21: Rails 5.0.0.beta2 触ってみた

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

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

Page 22: Rails 5.0.0.beta2 触ってみた

ActiveRecord::Relation#left_outer_joins

Page 23: Rails 5.0.0.beta2 触ってみた

#left_outer_joins(#left_joins)

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

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

Page 24: Rails 5.0.0.beta2 触ってみた

Enumerable#pluck

Page 25: Rails 5.0.0.beta2 触ってみた

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

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

Page 26: Rails 5.0.0.beta2 触ってみた

Enumerable#without

Page 27: Rails 5.0.0.beta2 触ってみた

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

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

Page 28: Rails 5.0.0.beta2 触ってみた

etc…

Page 30: Rails 5.0.0.beta2 触ってみた

まとめ

Page 31: Rails 5.0.0.beta2 触ってみた

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

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

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