>>No1エンジニア養成プログラム テックキャンプ
数ある言語の中でも多くのエンジニアに人気のRubyは、日本で生まれ世界中のエンジニアが活用しています。シンプルな記述で拡張性があり柔軟性に優れた言語で、世界中で便利なWebサービスを沢山生み出してきました。使いやすく素早く開発ができることから、スタートアップ企業でも使われることの多いRuby。Rubyで開発された人気のWebサービスをご紹介します。
この記事は現役エンジニアによって監修済みです。
この記事の目次
Rubyの誕生と歴史
Rubyは1993年に日本人開発者のMatzこと、まつもとゆきひろ氏によって開発が始まり、1995年に公開された25年の歴史をもつプログラミング言語です。新しいイメージですが、Javaと同じくらいの歴史があります。
余談ですが、2018年時点でアメリカで最も稼げるプログラミング言語はRuby/Ruby on Railsであるといわれています。
Rubyの由来
Matz氏は好みの言語、Perl、Smalltalk、Eiffel、Ada、Lispのよさを活かした関数型と命令型の絶妙なバランスのプログラミング言語Rubyを生み出しました。名前の由来はPearl(パール)に対してのRuby(ルビー)、宝石のRubyから来ています。
Rubyは直感的で生産性の高い言語であるにも関わらず、シンプルな表記や文法ルールが特徴。知識の少ないプログラミング初心者にも分かりやすく楽しく快適に記述することができるように作られています。
Rubyはストレスなくプログラミングを楽しむことができる言語を目指して作られたのです。Matz氏は「Rubyをシンプルなものではなく、自然なものにしようとしている」のです。また以下のようにも語っています。
Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 それはちょうど私たちの身体と同じようなものです。
出典:Ruby
人気の高いプログラミング言語
日本で開発されたプログラミング言語では初めてIECで国際規格として認められた言語で、その特徴から世界中で使用されるプログラミング言語になりました。
日本工業規格(JIS)にも認定されており、MacPCには最初からRubyがインストールされています。
2018年3月にはオランダの言語人気ランキングTIOBE Indexで世界中の150ものプログラミング言語の中で見事9位を獲得しています。
出典:TIOBE Index
自由度の高さが魅力のRubyは複数のエンジニアでサービスを開発する際に文法を統一する必要があるなど、ちょっとした注意点はあります。
しかし、日本人が開発した言語ということもあり、コミュニティやライブラリなど日本語の情報も沢山見ることができる点は魅力と言えるでしょう。

RubyとRuby on Railsの違い
プログラミング初心者の方にはRubyとRuby on Railsを混同している場合があります。
1995年に公開されたRubyですが、広く知られるようになったのは2004年に登場したRuby on Railsによるものが大きいです。
RubyはRuby on Railsという、短時間・少人員でWebアプリケーションを迅速に開発できるという便利なフレームワークによって人気が高まりました。ここではRubyとRuby on Railsについて説明します。
Ruby
Rubyは先に紹介したとおりコンピュータにプログラムを実行させるための言語で、オブジェクト指向型のスクリプト言語です。
PerlやPython、その他多くの言語と同じく、Webアプリ以外の分野でも使われています。
他の言語と比べてRubyのソースコードの特徴は、短い表記で直感的な、まるで英語でコードを書いているような自然言語のように書けることです。
Ruby on Rails
Ruby on RailsはWebアプリケーションフレームワークというもので、Rubyを使ってWebアプリケーションを効率よく作成するための機能をもったツールです。
アプリケーション開発のデザインパターンなど使いやすくて理解しやすいひな型も提供しています。
通常、サイトを作成するにあたり白紙の状態から言語を記述していかなければならならいところ、フレームワークを使うことによって作業を短縮することができます。
Rubyを使って作られたWebサービスの多くにRuby on Railsのフレームワークが活用されており、ライブラリから機能を追加することによって更に使いやすく簡単にサービスを開発することができるようになります。
Ruby on Railsのフレームワークの活用にはそれぞれルールがあります。それに従ってすすめていくことで、Webアプリケーションを迅速に作ることができる、一貫性があるコードなのでメンテナンスがしやすい、品質の維持ができるといった大きなメリットがあります。
Ruby on Railsでは「rails new」というコードだけで、Webアプリケーション開発に必要なファイルがすぐに生成されます。
関連記事:Ruby on Railsでできることとは?ライブラリの例や特徴を解説
RubyとRuby on Railsの違い
Ruby on Rails も Ruby で書かれており、Rubyを1から書くには手間がかかりすぎる部分を、Ruby on Rails がフレームワークとして抽象化してくれています
テックキャンプが新年のチャレンジを応援
エンジニアなら、
✔一生モノのスキルが身について将来の不安がない
✔副業やフリーランスなど選択肢が広がる
✔年収が上がりやすい
日本最大級のプログラミングスクール・テックキャンプは今から行動すれば、10週間後にエンジニアに!
期間限定で受講料5万円OFFのキャンペーンも実施中。迷っている方は、まずは無料オンラインカウンセリングで不安なことを相談してみてください。

Ruby on Railsの原則
Ruby on Railsの開発思想や様々な原則が、Rubyの人気が高まり、プログラミング言語としての地位を維持した大きな理由です。
Ruby on Railsのアーキテクチャや原則を紹介します。
MVCアーキテクチャ
Ruby on Railsではアプリケーションを「Model(データを扱う箇所)」「View(ユーザーが直接目にする箇所)」「Controller(ModelとViewの連携を行う箇所)」の3要素に分解して、開発を行います。
MVCアーキテクチャを採用していることから、Ruby on Railsではアプリの構造を見通し良く、直感的に管理できます。
DRYの原則
「Don’t Repeat Yourself」の頭文字をとった、「DRY」という開発思想がRuby on Railsにはあります。
Don’t Repeat Yourselfとはすなわち、一度自分でやった作業を繰り返さないということです。
同じようなソースコードを繰り返し書かなくてはいけないような開発は、非常に非効率です。Ruby on Railsではコーディングの効率化に向けた工夫がたくさんされている他、エンジニア自身にも「DRY」を意識することを推奨しています。
設定よりも規約を重視(Convention over Configuration、CoC)
Ruby on Railsの登場で、一躍有名となったのがこの「設定よりも規約」という開発思想です。
設定よりも規約というのは、開発者が決定しなくてはいけない事項を最低限にすることを指します。
例えば「Person」というモデルの中のクラスがあるとします。この場合、デフォルトで「Person」は「Persons」という表の名前に紐づけられ、データベースで管理されます。
このデフォルトの管理は「規約」です。規約から外れる時だけ「設定」を行う必要があります。こうした規約が用意されていない場合、開発者は全行程で細かい設定をしなくてはいけません。
デフォルトとは違う設定をしたい場合だけ、別途設定をするのが「設定よりも規約」という思想です。
この他にもRuby on Railsには様々な開発思想が息づいています。それらは全て「プログラマの幸福度を最適化する」と言う目標を達成することを目指し、形作られてきたものです。
Ruby on Railsでサービス開発を行うメリット
Rubyには、Ruby on Rails以外にも様々なWebアプリケーションフレームワークがあります。代表的なのはSinatraです。ただ実際には多くのWebサービスがRuby on Railsで作られています。
Ruby on Railsの開発についてのメリットをご紹介します。
初心者でも習得しやすい
Ruby自体が直感的な文法を持つ言語であり、とくに初心者向きであると言えます。日本発祥の言語のため、日本語で書かれた解説や資料も多く日本人のエンジニアにとっては特に学習しやすい言語です。
開発者が多く、世界中にあるコミュニティも活発な動きを見せています。開発者が多くコミュニティが活発であるということは、その言語自体が進化し成長していくということです。
初心者向けのサイトや勉強会も多く、たくさんの学べる環境があります。
サービスの成長や変化、仕様変更に柔軟に対応できる
gemと呼ばれるパッケージ管理ツールを活用することで、機能の追加をする際に、その機能のコードをゼロから書かずともすでに用意されているライブラリを簡単に追加するだけで実現します。初心者でも素早く本格的なアプリ開発が可能となります。
機能追加、削除にかかる時間やコストが非常に小さいため、Webサービス自体の成長や変化、仕様変更に対応しやすいのです。
こうしたRuby on Railsの特徴は、短い開発期間で次々サービスを生み出す必要があるスタートアップとの親和性が高いのです。Ruby on Railsは実際に多くのスタートアップで採用されています。
コードが短くて簡単にできる
Ruby on Railsの原則でご紹介しましたが短く簡単なコードの実現は以下の2点によるものが大きいです。
DRY(Don’t Repeat Yourself)、一度自分でやった作業を繰り返さないという原則に基づき、Ruby on Railsでは同じようなコードを繰り返し書くことは避けるのが鉄則です。結果的にRuby on Railsで開発されたコードは、他の言語より短く効率的なものであることが確認できます。
またCoC(Convention over Configuration)の思想がRuby on Railsでは強く意識されているため、全工程で細かな設定を行うためにコードが無駄に長くなるという事態は起きづらいです。
Webアプリケーション開発の需要が多い
大きなビジネスに結びつくWebサービスは今後も大きな需要が見込まれます。既存のシステムをRubyに置き換えるといった案件も増えています。
人気の技術であるRuby on Railsで開発されているWebサービスが多いということは、Ruby開発者も多く求められているということです。
Rubyで作られたWebサービス10選
Rubyは、「Webサービス」「業務システム」などのWebアプリケーションをサーバーサイドと連携する時に活躍する言語です。ブログサイトやショッピングサイト、SNSサイト、チャットボットなど様々なWebサービスで活用されています。
もちろんPHPやPerlなどでも作ることはできるのですが、他の言語よりも短いコードで作成できるのです。
国内外を問わず世界中にRuby で開発された人気のサービスがたくさんありますので代表的なWebサービスをご紹介します。
クックパッド
画像出典:cookpad
クックパッドは国内で最大級のお料理レシピサイトです。Ruby on Railsのフレームワークを活用した有名なWebサイトで、様々な料理のレシピを見ることができます。
クックパッドでは、ユーザーからアップロードされるレシピ情報やアカウント情報の管理など、ストレスなく楽しめるサービスにするためにRuby on Railsが活かされています。
膨大な情報をどのように管理しているのか。
より快適なサービスにするための日々の検証を、クックパッド開発者ブログからも見ることができるようになっています。ブログの更新頻度は高く、大手企業のエンジニアの仕事内容を垣間見ることができます。
1998年から続く便利なWebサービスで、開発に関する勉強会なども開催されています。
参考:クックパッド開発者ブログ
Airbnb
画像出典:Airbnb
Airbnbは、民泊情報をシェアするサイトとして世界的に普及している人気Webサービスです。
利用者はなんと190か国超2億人以上と言われています。
通常のホテルではなく一般人が所有する部屋を旅行者に安価に提供できるサービスで格安航空券であるLCCの普及と共に注目を集めるようになりました。
サービスを迅速に開発することがポイントになるスタートアップ企業ならではのRubyの使い方はAirbnbがスタイルガイドとして資料を公開しており、誰でも無料で見ることができます。
世界中の旅行者と部屋を貸したいユーザーをマッチングさせることができる素晴らしいサービスで、現在はレストランの情報や周辺のアクティビティ情報なども検索することができるようになり、更に便利な旅行サービスに進化しています。
Gunosy
画像出典:Gunosy
Gunosyは、国内外の様々な情報を分かりやすい形でユーザーに提供するキュレーションサイトです。
ユーザーの希望に応えるように新しい機能を開発し続けるシーンではRuby on Railsのフレームワークを活用してWebアプリなどを素早く開発しています。人工知能によるアルゴリズムでユーザの興味に合わせた情報を提供しています。
現在はAPIの実装をRuby on RailsからGoというプログラミング言語に変更したようですが、Ruby on Railsによって開発される部分も沢山あり用途によって使い分けています。
スマートフォン向けのアプリなどもユーザーのリクエストが順次反映されており、それぞれのユーザーにとって最適な情報が提供されるようになっています。
GunosyでのRubyの活用事例は同社のテックブログからも見ることができます。大量のアクセスがある大手キュレーションサイトの開発に関する詳細な情報は参考になります。
参考:Gunosyテックブログ
クラウドワークス
クラウドワークスは、国内最大手のクラウドソーシングサービスです。
フリーランスから副業として仕事をしたい人と人材を探しているクライアントを繋ぐサービスとして会員数を伸ばしています。
ITの様々なジャンルの仕事を受注、発注することができるWebサービスで、1つの場所に囚われることなく仕事をすることができる新しい働き方や生き方を提案しています。
スタートアップらしい開発スピードにはRuby on Railsのフレームワークが役立っています。
より使いやすいサービスにするために仕様変更されることも多くRubyによるシンプルな記述方法もメリットに働いています。
RubyやRuby on Railsへの言及も多いクラウドワークスのエンジニアによるブログはサービスを開発する上で大切な考え方を参考にすることができます。
Kickstarter
画像出典:Kickstarter
Kickstarterは、スタートアップの資金調達の場として個人でも参加することのできるクラウドファンディングサービスです。
インターネットを活用して世界中のユーザーから資金を募ることができ、自己資本では不可能だった製品の開発やプロジェクトを実現するキッカケにすることができます。
資金が目標金額に達するとプロジェクトを進めることができ完成した製品やサービスなどは資金を出資してくれたユーザーに届けることでお礼をすることもできます。
Kickstarter自体がスタートアップだったこともありRubyやRuby on Railsを活用した瞬発力のある開発が進められてきました。世界中の新しいサービスや製品が生まれる場所として使われている素晴らしいWebサービスになっています。
食べログ
画像出典:食べログ
レストラン検索や口コミ情報が大人気の食べログは月間閲覧数が1億人超(2017年12月)を誇ります。
開発者と企画者が密に連携し様々な企画を実現しています。全国の市区町村別の飲食店情報やユーザレビューなど膨大な情報量を管理し、サービスを提供しています。
ユーザ向けのB2Cサービスだけではなく飲食店向けのB2Bサービス支援「レストラン予約システム」プロジェクトなど20~30のプロジェクトが進行中です。
価格.com
画像出典:価格.com
だれでも一度は利用したことがあるのではないでしょうか。食べログと同じ株式会社カカクコムが運営する価格.comもRuby on Railsで開発されています。
膨大なサービスや商品情報の管理とユーザが利用しやすい環境を提供することを目指しています。
価格.comでは、O2O(Online to offline)サービスとして実店舗情報の掲載や電力自由化にも対応したりなど時代のトレンドにも対応するべく様々な開発が続けられています。
言わずと知れたtwitterもRubyで開発された海外の有名なWebアプリケーションです。
当初twitter のWebアプリケーションフレームワークは、Ruby on Railsで開発されていましたが、その後世界中に需要が伸び、JavaVM上で動作するScalaに移行しました。
hulu
画像出典:Hulu
CMでもご存知のhuluは、2008年アメリカで誕生しました。定額で映画やドラマ・アニメが見放題の動画配信サービスの先駆けです。
日本では2011年にサービスを開始しています。オリジナル作品も充実しており、現在は国内で155万人のユーザー数(2017/9日本テレビホールディングス)を誇ります。
huluは初めからRuby on Railsで開発されており、バックエンドでは今も使われていますが、フロントエンドでは他のフレームワークも活用されています。2012年RailsConfではhuluはスポンサーとなっています。
GitHub
画像出典:Github
GitHubとはソフトウェア開発プロジェクトのためのプラットフォームでサンフランシスコに拠点を置いています。
Git とはソースコードのバージョン管理を行うためのツールで、Gitを中継(hub)して世界中にソースコードを公開しています。8000件以上のプロジェクトがあり2700万人以上の開発者が利用しています。
ホストされたプロジェクトは、SNS機能によって世界中のエンジニアとシェアできるのです。Githubの特徴は、このソーシャル・コーディングです。ソーシャル・コーディングとは造語で、通常のオープンソースとは違ってSNS仕立てでオンラインの開発が進められていきます。そこで今もなお成長が続いているのです。
プログラミングとコミュニケーションを融合させたGithubの功績はとても大きいです。
まとめ
シンプルな記述ながら自由度と柔軟性を持ち合わせたRubyを活用したWebサービスをご紹介しました。
「プログラミングを楽しむ」という発想は多くのエンジニアを魅了しています。迅速な開発を求められるスタートアップにもぴったりのプログラミング言語がRuby。
Ruby on Railsを活用することで更にスピーディーな開発をすることも可能です。
初心者が短時間で取得することも無理ではありません。進化を続けるRubyとRuby on Railsで開発をしてみたいと思いませんか。Rubyを使いこなして新しいサービスを作ってみてはいかがでしょうか。