Railsは2019年も「あり」か?#2 Railsの長所と向いている用途(翻訳)

Railsを使っているアプリ(2019年版)

実際のところ、相当たくさんあります。

訳注: 本セクション内の太字のサービスはいずれもRuby on Railsで動いています。

現時点のGitHubのユーザー数は全世界で2,200万人にのぼり、6,100万ものリポジトリを抱えています。コードリポジトリとしては世界最大規模です。

Airbnbも最初期からRuby on Railsを使っています。数百万ものユーザーが、世界65,000以上の地域にある部屋を毎月予約しています。

スタートアップの方ならBasecampという名前をご存知か、既にお使いかもしれません。Basecampは単にRuby on Railsを積極的に使っているのみならず、Ruby on RailsがBasecampで誕生したことを皆さんが知ったら驚くでしょう。さらに、Railsと相性のよいStimulusJSというクールなJSフレームワークも同社が開発したものです。

Shopifyといえばeコマースプラットフォームの巨人ですね。

私たちが最近手がけた、オークションのリアルタイム入札をオンラインで行うアプリの開発は実に興味深いものでした。このアプリではバックエンドにRuby on Rails、フロントエンドにVue.jsをそれぞれ用いましたが、魔法のように見事に動きました。詳しくはArtinfo – Portfolioをご覧ください。

GitHubHerokuCodeClimateTravisCIShopifyはいずれもRailsを用いています。Railsコミュニティの影響力の大きさは、数多のコミュニティ中でも過去最大です。他のコミュニティはいずれもRailsコミュニティを追いかけているに過ぎず、Railsコミュニティの力量によって達成されたこの成熟ぶりを他のコミュニティが追い抜こうにも、数年分は引き離されているのが現状です。
Fabio Akita, Akita on Railsより

皆さんが普段よくお使いのWebアプリのうち、バックエンドにRuby on Railsを用いている例なら、まだまだいくらでもリストアップできます。手短に言えば、Ruby on Railsは今も広く使われていますし、Railsのテクノロジーもそれなりに人気を集めています。別にRailsで作った途端に目覚ましいパフォーマンスを発揮するからではありません。パフォーマンスについては皆さんの使い方次第です。

Railsの長所

ここまでご覧いただいたように、RubyやRuby on Railsがこれまで人気を獲得してきたことには理由があります。Railsにはいくつもの強みがあり、そう簡単に超えられるものではありません。

1. 開発プロセスが短期間で済む

プロジェクトの開発を短期間に終えるという点において、Railsに敵うものはありません。MVP(Minimum Viable Product)アプリをリリースしたいスタートアップや企業にとって、Railsはまさにうってつけのテクノロジーです。Ruby on Railsではプロジェクトや製品を驚くほど短期間で、しかも容易に開発できます。Ruby on Railsでアプリを開発する場合、他と比べて40%は期間を短縮できます。

2. ビジネスロジックを実装しやすい

Ruby on Railsアプリでは、複雑なビジネスロジックを容易に実装できます。APIがなる早で欲しいときにも大丈夫。Rails開発者ならたちどころに作れます。あとはVueやReactなどのフロントエンドフレームワークでぺったんぺったんすれば、Webアプリの一丁上がりです。

3. ライブラリが豊富

「欲しいgemは必ずある」

Rubyでは、コミュニティで開発されたおびただしい数のgemライブラリが何かと称賛の対象になります。チーム開発では、マイナーだがたまに必要となる実装にいちいち気を取られずに、できるだけ実際のロジックに専念すべきです。gemのおかげで、さまざまな機能や、アプリと外部サービスをつなげる「ブリッジ」を簡単に実装できます。ありがたいことに、ほとんどのgemは無料で商用利用できます。

ある機能を開発していて、あるいはアプリで内で外部アプリを実装しようとして、もし行き詰まることがあれば、おそらくそれに適したgemが既にあるでしょう。Rubyのライブラリのおかげで開発者の苦しみの多くが取り除かれ、市場に出すまでに必要な期間が大きく短縮されます。

RubyやRuby on Railsがドンピシャリとはまる用途やプロジェクトは、実にたくさんあります。私たちが作った、Railsを自社アプリや製品で積極的に使っている企業のリストがこちらにありますので、どうぞご覧ください。

Railsに向いているプロジェクト

同じことを実現するにもさまざまなテクノロジーが使えますが、その中から最適のものを選び出すのはとても困難です。そういうわけで、ささやかながら私たちがRuby on Railsを選ぶ以下のカテゴリリストを作りました。

1. 「普通の」Webアプリ

Ruby on Railsは、普通のWebアプリ向けのソリューションとして今もよい選択肢です。ユーザー数百万とか巨大トラフィックとかを期待しないのであれば、Ruby on Railsが向いている可能性があります。さまざまなデメリットにもかかわらず、Railsのテクノロジーには多くのアプリを支えてきた実績と信頼があります。

2. eコマース

先ほど例に挙げたShopifyを思い出しましょう。eコマース界の巨人であるShopifyを支えているのは、愛しのRuby on Railsフレームワークです。Rails製のeコマースフレームワークといえば、Spree Commerceもお忘れなく。

eコーマス機能で必要になりそうなgemがひととおりあるので、Ruby on Railsですぐにでも自分の店舗を簡単に立ち上げられますし、支払い用ゲートウェイ、マーケティングメールでのキャンペーン、ヘルプデスクなどもセットアップできます。

3. カスタムデータベースソリューション

Ruby on Railsフレームワークは、画期的な新ビジネスモデルに欠かせない高度なデータベース構造の扱いに長けています。Railsフレームワークには優秀なORM(Object Relational Mapping)であるActive Recordが備わっているので、開発者はSQLを使わずにデータベースを簡単に操作できます。何より、RailsではPostgreSQLなどのデータベースマネージメントシステムをスムーズに統合できます。

4. CMS(コンテンツマネジメントシステム)

Ruby on Railsのエコシステムには、SEOで使いやすい優秀なCMS向けツールが多数あります。コンテンツ中心のWebサイトがふさわしいとお考えの場合は、Jekyllをお試しください。あなたが今読んでいる私たちのサイトもJekyllで作られています。NetlifyとJekyllの合わせ技について詳しくはこちらをご覧ください。

5. コンセプトが定まる前のアプリ

Ruby on Railsでアプリを構築していてありがたい点は、事前にみっちり計画を立てなくても、開発を進めながら機能を追加できることです。Railsが多くのスタートアップに重宝されている理由がこれです。

6. プロトタイプが急遽必要な場合

Ruby on Railsがプロトタイプ作成を得意している点も、重要なメリットのひとつです。最小限ながらも実用的な機能を驚くほど短期間に開発できます。MVPアプリを作ることで、ユーザーが求めているものや、ビジネスで着目すべき点を明らかにできます。

Ruby on Railsとプロトタイプ作成

歴史を振り返れば、Railsでビジネスを始めたスタートアップは、Twitter、Airbnb、Hulu、Netflixなど枚挙に暇がありません(詳しくはこちらをどうぞ)。その後ビジネスが拡大して別のフレームワークに乗り換えたスタートアップもあれば、Railsを使い続けているスタートアップもあります。スタートアップはRailsの力を得ることで、小規模アプリやMVPアプリを時間をかけずに構築できます。短期間で開発を終えることで、その分多くのユーザーを早いうちに獲得し、アプリの収益増大を早めることもできます。

ここで肝心なことは、Railsのいくつかの限界と折り合いをつけることができるならば、「SNS」から「オンラインショップ」「オークションサイト」「情報システム」に至るあらゆるアプリを、現在はもちろん将来に渡って開発できるようになるという点です。もちろんRubyやRailsは決してありとあらゆる仕事をこなすわけではなく、できる仕事はほんの一握りですが、その仕事を実に見事にやってのけます。


関連記事

Railsは2018年も現役か?: 前編(翻訳)

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好き。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ

BPSアドベントカレンダー