Ruby (off|with) the Rails pending

This session has NOT been accepted yet. If you would like to see it in the conference, please post it in social networks, as those numbers will be tallied and used as part of the selection criteria

Abstract

先日のRails Developer Meetup 2019で yasaichi氏が発表された「Ruby on Railsの正体と向き合い方」は、Railsがその「高速につくる」という目的のために「疎結合であること」を諦めていることを示し、それゆえ出てくる中規模以上の開発での諸問題に焦点を当てる素晴らしい発表でした。

では、中規模以上の開発において、Railsを選択するのはノーメリットなのでしょうか。当然、そんなことはありません。ActiveRecordは強力なライブラリですし、HTTPレイヤーのさまざまな処理についても、Railsはたくさんの素晴らしいソリューションを提供してくれます。そうである以上、Railsを利用しながらも、中規模以上の開発では、レールに乗るとつらい部分ではあえてレールから降りて、しかしRailsを使い続けるのは、十分な合理性があるはずです。現に、「Ruby on Railsの正体と向き合い方」の中でも、過去に発表された「向き合い方」がいくつか紹介されています。

「Ruby (off|with) the Rails」と題したこのセッションでは、まず、基本的な設計原則や設計パターンにふれつつ、Railsを利用した時に限らず中規模以上の開発でぶつかりがちな各種問題について、非Railsの世界ではどのような解法が好まれるのかを確認します。その上で、それを前提にしつつRailsの良さを活かしながら、中規模以上の開発でRailsをうまく使うにはどのような解法があり得るのかを、実際に弊社で使いはじめている手法をもとに模索したいと思います。Railsユーザーにとっては明日から真似が可能で、非Railsユーザーにとっても参考になるような内容を目指します。

具体的には、以下のようなキーワードが関連する予定です。

  • 関心の分離
  • プレゼンテーションとドメインの分離
  • ユースケースとドメインロジック
  • 更新系と参照系
  • 外部APIの呼び出し(ElasticSearchやジョブキューを含む)

なお、現代のサーバーサイドアプリケーションの事情に鑑みて、「複雑化するフロントエンドをどのようにハンドリングするのか」についてはフロントエンドにまかせ、このセッションでは扱いません。あくまでJSONを喋るAPIサーバとして引き受けるべき複雑さに、Railsでどのように立ち向かっていくか、という話になる予定です。

Session Information
Material Level Intermediate
Starts On N/A
Room
Session Duration 50 min session
Spoken Language Japanese
Interpretation Unavailable
Slide Language Japanese
Photo Release Allow
Recording Release Allow
Materials Release Allow