言語を学び始めるときには、「この言語でなにができるのだろう?」「どんなサービスで使われているのだろう?」など、その言語でできることが気になると思います。
そんなときは、実際にその言語で開発されているサービスを使ってみることで、どんなことができるのか、どこまでの規模のサービスに対応できるのか、といったことがつかめるでしょう。Rubyについても同様のことが言えます。
この記事では、
- これからRubyをはじめようと思っている初心者・エンジニアの方
- Rubyでどんなサービスが開発できるのか知りたい方
のために、Rubyで開発されている有名サービスの事例について紹介していきます。国内外のサービスを6サイト選んでみました。基本的に、すべてRuby on Rails(RoR)というウェブアプリケーションフレームワークで作られているサイトになります。フレームワークを使うことで、開発作業の手間を削減できるため、現在の開発にはほぼ必須になっています。RoRは、Rubyで非常に高いシェアを持っており、「Rubyを使う=RoRを使う」と言っても過言ではありません。
それでは、Ruby+RoRでどんなことができるのか見ていきましょう。
1:クックパッド
クックパッドは、1998年に開始した、国内最大手のレシピコミュニティサービス。自分で考えたレシピを公開・共有することができ、他のユーザーからのコメントを受け取れるようになっています。2014年11月時点で月間ユーザー数5,000万人を超えており、2017年1月時点でレシピ数257万件を超えている巨大サイト。パソコン向けサービスだけでなく、Android向け、iOS向けのアプリとしても提供されています。
クックパッドの開発者ブログはエンジニア界隈で有名で、Rubyやデータベース、アプリなどの開発ノウハウが公開されています。大手企業の開発事情を知ることができるので、なかなか参考になります。興味がある方はチェックしてみましょう。
2:Kickstarter
Kickstarterは、2009年に開始した、大手クラウドファンディングサービス。ちょっと前に、クラウドファンディングが大流行し、スタートアップがこぞってプロジェクトを立ち上げていましたね。今は落ち着いていますが、まだまだスタートアップの資金調達源として役立っています。このサービスでは、スタートアップがプロジェクトを立ち上げ、一般の方から資金を募ることで資金を調達します。無事資金が調達できれば、晴れてプロジェクト開始となり、プロジェクトが完了した暁には資金を提供した方に製品など、お礼の品が届けられる、という流れです。
もちろん、Kickstarter自体も当初はスタートアップでした。Ruby(とRuby on Rails)は、スタートアップに好まれる傾向にあります。理由としては、Rubyが無償で使えること、Ruby on Railsによって、スピード感のある開発ができることが挙げられます。資金が限られるスタートアップにとって、時間は重要な要素です。スピーディーに開発し、成果を出せるRubyは、スタートアップにうってつけの言語と言えます。
3:マネーフォワード
マネーフォワードは、同名の企業が提供しているオンライン家計簿サービス。紙の家計簿では面倒な、銀行の口座残高やクレジットカードの履歴などを自動的に取得してくれたり、レシートの画像から明細を作成してくれたりと、多くの手作業を自動化できることが特徴のひとつです。こういった金融系のサービスは、非常に高いセキュリティが求められます。Ruby on Railsが高いセキュリティが求められる場面でも活躍できる、という好例ですね。
また、マネーフォワード社は、Ruby兼、Ruby on Railsコミッタの松田明氏を技術顧問に採用しています。RubyおよびRuby on Railsはオープンソースで開発されているため、世界中のコミッタが開発に参加しています。日本有数のコミッタを自社に取り込むということは、それだけRubyに力を入れているということですね。
4:Airbnb
Airbnbは、2008年に開始した、民泊情報共有サービス。民泊サービスの先駆けで、テレビでもよく取り上げられていたことは記憶に新しいと思います。サービス内容としては、部屋を貸し出したい一般の方と、部屋を借りたい一般の方をマッチングさせるというものです。一般の住宅を活用することで、ホテルなどよりも安価に部屋を借りることができます。サービスは世界192カ国以上で提供されており、海外からの旅行客にも人気のサービスとなっています。
また、同社が公開している、Rubyスタイルガイド(コードの書き方)もRubyプログラマーに役立つ資料のひとつです。Rubyをはじめるなら一度読んでみましょう。英語ですが、サンプルコードがあるため、コードを見るだけでもどうすればいいのか分かるでしょう。
5:GitHub
GitHubは、言わずと知れたGitリポジトリホスティングサービス。エンジニアの方なら、利用している方も多いでしょう。Gitは、ソースコードを管理するシステムで、国内でも活発に利用されています。Gitを使う時に問題となるのは、リポジトリ(ソースコードを保存する場所)で、信頼性が高く、アクセスしやすい場所である必要があります。
GitHubであれば、信頼性もあり、インターネットからアクセスできるため、この条件を満たします。GitHubが成長した理由は、ホスティング以外の部分にあります。IssueやFork、Pull Requestなど、コミュニケーション機能が豊富で、他のエンジニアとのやり取りがスムーズに行なえます。一種のSNSのような側面を持っているからこそ急成長したといえますね。一方で、有料でプライベートリポジトリ作成プランも提供しています。
GitHubでは、Ruby on Railsの他に、同じくRubyのフレームワークであるSinatraが使われています。SinatraのほうがRuby on Railsよりシンプルで、柔軟性があります。しかし、シンプルな分、機能は少ないため、どちらが優れているというわけではありません。使用用途や規模によって使い分ける必要があります。
6:freee
freeeは、法人・個人事業主向けのクラウド会計サービス。近年注目を集めている、Fintech(金融サービスとIT技術の融合)関連のサービスになります。会計手続きは煩雑な作業が多く、間違いが起こりやすいと言えます。freeeでは、会計処理を可能な限り自動化することで間違いを防ぎ、会計処理の手間を削減します。法人だけでなく、個人事業主からの人気も集めており、記帳や確定申告に手間を掛けたくないフリーランスの方にうってつけのサービスと言えます。
freee代表取締役の佐々木大輔氏は、Googleを退社し、Ruby on Railsの勉強を始め、freeeを立ち上げました。なんともRubyの可能性を感じさせる話ですね。まさにスタートアップ。もしあなたが起業を考えているとするなら、開発言語の選択肢としてRubyを検討してみましょう。もちろん、開発対象によっては、他の言語が望ましい場合もあります。しかし、ウェブサービスであれば、Ruby on Railsのスピード感が力になるでしょう。
まとめ
いかがでしたか?あなたがいつも使っているサービスも含まれていたかもしれませんね。普段何気なく使っているサービスでも、背後でRubyが動いていると考えると、また違った見方ができるでしょう。使ったことがないサービスがあったら、試しに使ってみましょう。
また、多くのウェブサービスは、Rubyだけでなく、他のさまざまな技術を使って構成されています。RubyとRuby on Railsが中核を担ってはいますが、それだけではダメで、他の技術の力が必要です。余裕があれば、Rubyと関連する他の技術についても勉強してみましょう。stackshareを使えば、そのサービスがどのような技術で構成されているのか知ることができます。これを参考に興味のある技術を学んでいくと良いでしょう。
あなたはRubyが使われている、どのサービスがいちばん好きですか?
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)