Railsも流行ってるらしいけどRubyとの違いがよくわからない……
こんにちは。
プログラミングを学び始めた方も、新しく言語を学んでみようと思っている方も。Web系の言語を学ぶなら、ぜひ押さえておきたいのがRubyとそのフレームワークであるRuby on Railsです。
特にRailsはそれ以降のWebフレームワークに多大な影響を与えたと言われており、Railsを一通り使えるようになれば、言語の異なるフレームワークもなんとなく使いこなせるぐらいです。このため、Railsの学習効果は非常に高いと言えるでしょう。
ですが、実際に学ぶなら、現実にどんなサービスで使えるかも知っておきたいですよね。実際に使われているサービスを見ることで、将来作ってみたいサービスも想像できるようになるかもしれません。
そこで、この記事ではRailsで作られたサービスを日本製のもの5点、海外のもの5点、合わせて10点紹介します。
さらに、RubyとRailsの違いがよくわからない方のために、3分程度でさっくりわかるフレームワークの解説も入れてあります。
そして最後に、Railsを使うことで、非エンジニアでも3ヶ月でここまでできる、という例を紹介します。Railsのパワフルさを感じていただけたら嬉しいです。
では、さっそくいってみましょう。
この記事の目次
Rubyで作られた日本の有名サービス5選
この章ではRuby on Railsで作られた日本の有名サービスを紹介していきます。どのサービスも名前くらいは聞いたことが有るはずの超有名どころをチョイスしてみました。
クックパッド
日本でRailsをつかったサービスで最も有名なのが、レシピ共有サイトのクックパッドでしょう。自炊している一人暮らしから、家庭の主婦まで、料理をするあらゆる人にとって、もはや必須のサービスです。
2015年に海外のイベントで、世界一大きなモノリシック(一枚岩の。この場合Railsのみを使ったサービスということ)Railsサービスとして紹介されたことで、すっかりRuby on Railsを代表する企業というイメージが定着しました。
参照:The Recipe for the World's Largest Rails Monolith
「技術は、課題解決の手段」を標榜しており、必要ならば利用言語を切り替えていく柔軟性もある企業です。最近ではGo言語やRustなどにも取り組んでいるようです。
Ruby on Railsを使う理由は「迅速な開発ができるから」とのこと。作って、壊してのサイクルを非常に高速に回せるのが魅力なようです。
参照:クックパッドがRailsを選ぶ理由はユーザー視点の追及にあり
食べログ
食べログもRailsを採用していることで有名なサービスです。最近テレビCMもよく見るようになった、レストラン検索・予約サイトですね。
もともとRuby on Railsで開発されていたものではなく、サービス開始後2年目の2007年にRailsを使ったフルリニューアルを行ったようです。
2007年というと、Ruby1.9.0がリリースされるかされないかの時期です。かなり先見の明があった決断だったんですね。
Ruby on Railsの採用理由は「コード量が格段に減ることやシステムとデザインの分業体制の効率化による、新規サービスの開発スピードの向上が見込める」とのこと。
参照:月間380万人が利用するグルメのNo1クチコミサイト『食べログ.com』 Ruby on Railsを採用し、フルリニューアル
グノシー
テレビCMでおなじみ、ニュースキュレーションサイトのグノシーもRuby on Railsを利用しています。
主に管理画面の採用のようで、細かいことはテックブログでも公開されています。興味の有る方はぜひどうぞ。
freee
全自動クラウド会計ソフトのfreeeもRuby on Railsを活用しています。
「プロトタイプを作るにあたり何よりもスピード感を重視して取り組んできた」という同社CTOの横路氏の発言に代表されるように、速度を重視した結果としての採用だったようです。
Qiita
エンジニアのためのブログサービスQiitaもRailsを活用しているサイトです。
コーポレート情報やニュースリリースなどで言及されているわけではないので、どのように運用されているかまではわかりませんが、以下の調査サイトによるとRailsのみフレームワークに表示されているので、システムの根幹部分に利用されていることが考えられます。
参照:built with
Rubyで作られた海外の有名サービス5選
つづいて、Ruby on Railsで作られた海外のサービスを見ていきましょう。
Airbnb
世界最大の民泊サイト、AirbnbはRuby on Railsを使っているサービスとしても有名です。
参照:stackshare
逆に、Airbnb風のWebサービスを作ることがRailsのいいトレーニングになるとして、作り方を紹介しているサイトもあります。
参照:Code4Startup
興味の有る方は力試しとして、是非挑戦してみてください。
Hulu
日本でも大人気、日テレ系の番組などの動画が月額で観放題になる動画配信サービスのHuluはRuby on Railsを使っている有名サービスの一つです。
参照:stackshare
上記サイトによると、使われているプログラミング言語がRubyしか見当たりませんので、RubyとRailsのみを使ったストイックなサイト構成と考えられます。(他サイトはJava系やGoなどでサービスをマイクロ化していることが多い)
GitHub
ソースコードホスティングサービスの雄、GitHubもRailsを利用したサービスです。
参照:stackshare
利用しているツールの構成を見ると最近のWebサービスと比べて段違いにシンプルでわかりやすい構成をしています。
ここまでシンプルな構成で、世界最大のコードホスティングサービスが回されていると考えると感慨深いですね。
Heroku
クラウド・アプリケーション・プラットフォームとして有名なHerokuもRuby on Railsで動いています。
参照:stackshare
Herokuがなんなのか知らない方向けに、ものすごくザックリ説明すると、Webアプリがものすごく簡単に構築できるレンタルサーバのスゴイ版です。
Railsで動いてるHerokuの上でRailsのサービスを展開しているのかと思うと、Railsの懐の深さを感じますね。
Kickstarter
世界最大のクラウドファンディングサイト、KickstarterもRailsを利用したサービスです。
参照:stackshare
クラウドファンディングはザックリいえば、ネット上で金銭の援助を募るサイトです。魅力的な提案ができれば、世界中の有志からお金を集めることができるわけですが、こういった世界規模の大きなサイトもRailsで構築されているわけです。
そもそもフレームワークって?
今までRailsとRubyについて深く説明せずに、利用サービスを紹介してきましたが、ここで改めてRailsとRubyの関係性を確認しておきましょう。
まず、Ruby(ルビー)はプログラミング言語です。インターネット上のサーバで動かすことを得意としており、同系列の言語にPHPやPythonが居ますね。
Rubyは他のプログラミング言語と違い、日本人のMatz氏が作ったことでも有名です。このため、日本のRubyコミュニティは非常に活発で、言語に関する情報を日本語で得やすいというメリットがあります。
一方のRailsは本文中でも何度か書きましたが、正式名称をRuby on Rails(ルビーオンレイルズ)といい、Rubyを代表するWebアプリケーションフレームワークです。
ここで、Webアプリケーションフレームワークという新しい用語が出てきましたので、こちらも解説していきます。
Webアプリケーションフレームワーク(略してフレームワーク)とは、Webアプリケーションの開発で作業の労力を低減するために、よく使われる定番の機能をまとめたものです。
プログラミングに馴染みの有る方は、Webでよく使う機能をまとめたライブラリ群と考えてOKです。
フレームワークを使うことで、たとえば、認証機能やユーザーのデータベース登録、セッション管理など、よく出てくる割に実装に手間がかかる部分を本当に簡単に実現することができます。
それこそ、以前は3ヶ月近くかかって作り上げていたブログ機能が、Railsを使うことで15分程度で実現できた、なんて話もあるくらいです。
フレームワークには設計思想に基づいていろいろなものが存在します。小さく柔軟なプログラミングを指向したSinatraや、軽量さに極限までこだわったcuba microframeworkなどが有名でしょう。
この中でも特にRailsが有名なのは、「設定よりも規約」に代表されるRails独自の価値観(The Rails Doctrine)が多くのエンジニアに受け容れられたためや、
DRY:Don't Rpeat Yourself(同じことを繰り返さない)の原則に忠実だったことなどがよく言われます。
いずれにせよ、RailsがRubyを代表するフレームワークである、という事実が揺らぐことはないでしょう。
フレームワークについて、Railsについてより理解を深めたい方は以下の記事をご覧ください。
フレームワークの解説
非エンジニアでもここまでできる!Railsをつかった魅力的なサービス
前章でフレームワークを使うことでWebアプリケーションを簡単に作れるようになる、という話を書きました。
この章ではその一例として素晴らしいものがあったので紹介します。
こちらの記事で書かれているのは、Ruby on Railsをつかって、本業のプログラマではない方が3ヶ月でテストツールを作成した、という内容です。
参照:Chibineko
UI/UXの触った感じも非常に良く、動作もスムーズでこれが3ヶ月で作られたとは、記事が無ければ信じがたいレベルです。
Railsを使えばこのようなことが実際にできるという実例として心に留めておかれると、学習のモチベーションも上がるはずです。
まとめ
いかがでしたか?
今回はRuby on Railsを使ったサービスと、フレームワークとはなにか?そして、最後に実際に個人でサービスを立ち上げた例を紹介しました。
プログラミングの学習では、あのサービスみたいなものを作りたい!というモチベーションが結構馬鹿にできない力をもっています。
この記事でみなさんの作りたいものリストの幅が広がること、そして実際にRailsに挑戦する方が増えることを願ってやみません。
ぜひ、RubyとRailsに挑戦してみてください!