Rails
Ruby 製の Web アプリケーションフレームワーク。規約に従うことで高速開発を実現する
Rails とは
Rails (Ruby on Rails) は、2004 年に登場した Ruby 製の Web アプリケーションフレームワークだ。データベースを使う Web アプリを少ないコードで素早く構築できることが特徴で、多くのスタートアップやサービスの立ち上げを支えてきた。MVC (Model-View-Controller) アーキテクチャを採用している。
2 つの設計哲学
Rails の生産性を支えるのは、よく知られた 2 つの原則だ。
| 原則 | 意味 |
|---|---|
| 設定より規約 (CoC) | 命名や配置の規約に従えば設定を書かずに動く |
| 同じことを繰り返さない (DRY) | コードやロジックの重複を避ける |
規約に沿う限り設定が最小限で済むため、開発者は本質的なロジックに集中できる。
何を提供するか
Rails は、データベース操作を抽象化する ORM (Active Record)、ルーティング、テンプレート、マイグレーション、テスト基盤までを一式で備える「フルスタック」のフレームワークだ。Web 開発に必要な部品が標準で揃っているため、ライブラリの選定や結合に時間を取られない。
採用時の判断材料
規約に従えば高速に開発できる反面、規約から外れた要件では「Rails の流儀」と戦うことになり、かえって複雑化する。また、大量アクセスをさばく場面では実行速度がボトルネックになることもある。小〜中規模のサービスを素早く形にしたい場合に強みを発揮する一方、要件次第では他の選択肢も比較検討する姿勢が大切だ。
学習には関連書籍が役立つ。
この記事は役に立ちましたか?
関連用語
Ruby
開発者の生産性と楽しさを重視した、日本発のオブジェクト指向プログラミング言語
JavaScript
Web ブラウザで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
Node.js
Chrome V8 エンジン上で動作するサーバーサイド JavaScript ランタイム
クリーンアーキテクチャ
ビジネスロジックを外部の技術的詳細から分離し、依存関係を内側に向けることで変更に強い設計を実現するアーキテクチャ原則
Twelve-Factor App
クラウドネイティブなアプリケーションを構築するための 12 の設計原則
YAGNI
You Aren't Gonna Need It - 今必要でない機能を先回りして実装しない原則