Ruby on Railsは、Rubyのためのフレームワークです。Rubyのために開発されたフレームワークで、初心者でも扱いやすく、汎用性も高いため人気があります。
ライブラリも豊富で、開発スピードも速く、仕事の効率化を図るうえでもとても便利なフレームワークです。そのため、多くのサイトで使用されています。
では、Ruby on Railsでできることとは、具体的にどんなことなのでしょうか。Ruby on Railsのライブラリや、使用されているサイトをご紹介します。
Ruby on Railsでできること
Ruby on Railsでできることを、簡単に挙げてみましょう。Ruby on Railsを学ぶと、どんなことができるようになるのでしょうか。
ECサイトが作れる
Ruby on Railsは、Rubyを使って作られた、WEBアプリケーションフレームワークです。Ruby自体は日本人によって開発されましたが、それを使いこなすための必須機能を使いやすく枠組みにしたものが、フレームワークのRuby on Railsです。
Ruby on Railsでできることの代表としては、ECサイト、つまりショッピングサイトを作る事ができます。ショッピングサイトとは、ただ物を売るだけでなく、決済機能がついたサイトのことです。Rubyだけでも実装できる機能ですが、非常に高度になります。
しかしRuby on Railsを使用することで、簡単に決済機能が実装できるようになります。実際に活用しているサイトもいろいろあります。
WEBアプリが作れる
WEBに強いRuby on Railsでは、WEBアプリケーションを作る事ができます。実際に、Ruby on Rails自体が、Rubyを使用して作られているWEBアプリケーションです。一般のスマホアプリを作ることに適しているのは、iOSならSwiftという専用プログラミング言語、AndroidアプリではJavaなどになります。
しかしRubyでも特殊なソフトを使う事で、スマホアプリの開発ができるようになります。
SNSサイトが作れる
Ruby on Railsでは、SNSも作る事ができます。SNSを作る場合、ログイン機能やユーザー登録といった機能も実装できます。またデータベースと連携させることも可能です。Facebookなどのログイン機能といった便利な機能も追加できます。
ブログサイトを構築できる
ブログを作成する場合、最近ではWordPressを使う人が多くなっていますが、Ruby on Railsを使って構築することもできます。WordPressや他の老舗ブログサービスを使う人が多いからこそ、逆に自分好みのデザインやセンスで作る事ができ、一歩抜きんでたブログに仕上がります。しかも無料で使用可能です。
Ruby on Railsのライブラリでできることとは?
Ruby on Railsのライブラリには、どんなものがあるのでしょうか。また、それらは具体的にどんなことができるのでしょう。ライブラリは、Ruby on Railsのアプリケーション内にある「Gemファイル」に記述して、インストールすればOKです。
Paperclip
Paperclipは、画像ファイルなどをアップロードさせる機能を実装するためのライブラリです。すでに構築されたブログなどで画像ファイルをアップロードすることはとても簡単ですが、それを自分で構築することは難しい作業のように思えますよね。
でも、ライブラリのPaperclipというGemを使う事で、画像ファイルのアップデートはもちろん、削除や保存なども簡単に設定できるようになります。
kaminari
kaminariは、ページネーションを実装するためのGemです。ページネーションとは、Google検索ページの下に出るような、「ページ割」機能のことです。Googleで検索をすると、数えきれないほどのサイトがピックアップされます。しかし、それをただタテに並べただけだと、非常に重く、見づらくなります。
そこで、検索結果を何ページかに分割し、それぞれのページをめくるようにクリックすることで見ることができるようになる機能です。Google検索のような検索サイトだけでなく、情報サイトでも、まとめ記事などをアップする際はページ割をすることもあるため、便利な機能ですね。
Active Admin
Active Adminは、導入するだけで管理画面が作れるGemです。基本的に導入すれば管理画面が作成されます。もちろん自分の好みに合わせてカスタマイズをすることも可能ですが、初心者でも簡単に設置できる機能です。
Devise
Deviseは、ログイン機能やアカウント機能、FacebookやLINE、Twitterといったアカウントの認証機能を付け加えたりできます。よく見るメールアドレスとパスワードを組み合わせたサインアップ機能も、DeviseGemを使えば実装できますよ。
Ruby on Railsでできないことってある?
ここまでRuby on Railsができることについて調べてきました。ライブラリを活用することで、実にさまざまな機能を実装することができますね。WEBサイトを充実させるためには、とても役立つフレームワークと言えます。では逆に、Ruby on Railsが苦手とすることは、どんなことなのでしょうか。
機械学習は苦手!
コンピュータの世界では、現在人工知能が注目されています。人工知能は最近になって研究が始まったものではなく、実はもう70年近くもの間、研究され続けています。その中で、大きな転換期を迎えたのが1980年代のことです。このころ、【機械学習】という機能が搭載されるようになったのです。
それまでは、機械に人間がひとつひとつ知識を与えていました。機械が複雑化するほど、アルゴリズムが変容するほど、その手間は大きな負担となっていきます。しかし機械学習という機能は、機械が自ら判断して、学習するという機能なのです。そのため、人間のように自分で学ぶことが可能になってきました。
最初はルールを与えれば判断して学ぶといった形でしたが、2000年代に入るとさらに発展を遂げ、深層学習と言って機会が何を学習するか判断するようになってきたのです。【深層学習】(ディープラーニング)は、機械学習をより深く、人間の知能に近いものへと昇華させ、さらに人間による手間を省くことにつながっています。
しかし、Ruby on Railsはこうした機械学習についてオススメではありません。ライブラリにPyCallというGemがあるのですが、実用性が低くあまり使われていません。ITの世界では、使う人が多いほど開発が進み、使い勝手もよくなっていくため、使われていないということは、あまり使い勝手は良くないと言えるでしょう。
ネイティブアプリを作る事が苦手
ネイティブアプリを作成することも、得意ではありません。ネイティブアプリとは、プラットフォーム上で直接作動することができるアプリです。WEBアプリはブラウザの中で動作しているため、ネイティブアプリではありません。WEBアプリに強いRuby on Railsも、ネイティブアプリを苦手としています。
Ruby on Railsを使った有名サイト6選
それでは、実際にRuby on Railsを使って作られた、超有名サイトを6種類ご紹介します。こんなものまで作れるの?と驚くのではないでしょうか。
代表的なのが『cookpad』
公式サイト:cookpad
多くの日本人に愛され、よく使用されているのがCOOKPADです。テレビやレシピ本でもにぎやかに紹介されていますね。おうちにある食材を入力してささっと作れるメニューを検索できるCOOKPADは、Ruby on Railsで作られていたのです。
意外や意外!『CrowdWorks』
公式サイト:CrowdWorks
Rubyなどプログラミング言語のエンジニアを空いた時間にやっている人や、家庭内でライターなどの仕事をしている人のための仕事マッチングサイト「CroudWorks」も、Ruby on Railsで作られています。この技術を開発することで、仕事内容が変化してきても柔軟に対応できるようなサイトに仕上がっています。
会計ソフトの『freee』
公式サイト:freee
経理の手間が5割も減ると話題になっている、会計ソフトfreeeも、Ruby on Railsによって構築されています。スピード感あふれるサイトで、個人事業主やフリーランスの人々には、確定申告のときになくてはならない存在になっています。
動画サイト『Hulu』
公式サイト:Hulu
定額を支払えばいつでも好きなドラマや映画、人気のアニメなどがみられる定額制見放題里です。ここにも低額をRuby on Railsは使用されています。
プログラミング学習サイト『Progate』
公式サイト:Progate
初心者に向けたプログラミング学習で人気をあつめている、プログラミング学習Progateにも活用されています。
みんなが知ってる!『食べログ』
公式サイト:食べログ
多くの人がレストラン探しに一度は使ったことがある食べログも、実はRuby on Railsで作られていました。
【まとめ】Ruby on Railsができる幅は広い
Ruby on Railsは、できることの間口が広く、誰でもしたことのあるサイト構築にすでに使われています。みなさんも、自分のオリジナリティあふれるサイト構築などにチャレンジしてみませんか。