【Rubyで作られたWevサービス・アプリケーション一覧】
「Ruby on Railsとは何?」
「Rubyとはどう違うの?」
「Rubyで作られたサービスを知りたい」
こう考えていませんか?
本記事では日本で生まれたプログラミング言語Rubyと、Rubyによる開発で使われるWebアプリケーションフレームワーク「Ruby on Rails」について解説。
Rubyで作られたWebサービス・アプリケーションの実例も紹介しますので、これからRubyを勉強する方は必見です。
この記事は現役エンジニアによって監修済みです。
この記事の目次
Ruby on Railsとは?Rubyとの違いを解説
プログラミング初心者の方には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の歴史など基礎知識を解説していますので、あわせて参考にしてください。
この記事もオススメ
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はプログラミング言語ですが、Ruby on Railsはプログラミング言語ではなく、Webアプリケーションフレームワークです。
Ruby on Rails も Ruby で書かれており、Rubyを1から書くには手間がかかりすぎる部分を、Ruby on Rails がフレームワークとして抽象化してくれています。
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 on Railsの3つの原則
Ruby on Railsのアーキテクチャや原則を紹介します。
MVCアーキテクチャ
Ruby on Railsではアプリケーションを「Model(データを扱う箇所)」「View(ユーザーが直接目にする箇所)」「Controller(ModelとViewの連携を行う箇所)」の3要素に分解して、開発を行います。
MVCアーキテクチャを採用していることから、Ruby on Railsではアプリの構造を見通し良く、直感的に管理できます。
DRYの原則
Don’t Repeat Yourselfとはすなわち、一度自分でやった作業を繰り返さないということです。
同じようなソースコードを繰り返し書かなくてはいけないような開発は、非常に非効率です。Ruby on Railsではコーディングの効率化に向けた工夫がたくさんされている他、エンジニア自身にも「DRY」を意識することを推奨しています。
設定よりも規約を重視(Convention over Configuration、CoC)
Ruby on Railsの登場で、一躍有名となったのがこの「設定よりも規約」という開発思想です。
設定よりも規約というのは、開発者が決定しなくてはいけない事項を最低限にすることを指します。
例えば「Person」というモデルの中のクラスがあるとします。この場合、デフォルトで「Person」は「Persons」という表の名前に紐づけられ、データベースで管理されます。
このデフォルトの管理は「規約」です。規約から外れる時だけ「設定」を行う必要があります。こうした規約が用意されていない場合、開発者は全行程で細かい設定をしなくてはいけません。
デフォルトとは違う設定をしたい場合だけ、別途設定をするのが「設定よりも規約」という思想です。
この他にもRuby on Railsには様々な開発思想が息づいています。それらは全て「プログラマの幸福度を最適化する」と言う目標を達成することを目指し、形作られてきたものです。
この記事もオススメ
この記事のハッシュタグ
Ruby on Railsで何ができる?開発を行うメリット4つ
代表的なのは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 on Railsを活用することでスピーディーな開発が実現
シンプルな記述ながら自由度と柔軟性を持ち合わせたRubyを活用したWebサービスをご紹介しました。
「プログラミングを楽しむ」という発想は多くのエンジニアを魅了しています。迅速な開発を求められるスタートアップにもぴったりのプログラミング言語がRuby。
Ruby on Railsを活用することで更にスピーディーな開発をすることも可能です。
初心者が短時間で取得することも無理ではありません。進化を続けるRubyとRuby on Railsで開発をしてみたいと思いませんか。Rubyを使いこなして新しいサービスを作ってみてはいかがでしょうか。
この記事もオススメ
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。