「プログラミング言語のRubyだと何ができるのか知りたい、あと、実際にどんなところで使われているのかも気になるなぁ」
と思っている方へ。この記事では、プログラミング言語の1つであるRuby(ルビー)で一体どんなことができるのか、実際にRubyが使われているサービスと共に解説します。
プログラミング言語は種類も多くすぎるくらいで、特徴やメリットが分かりづらいですよね。Rubyの特徴が分かると、他の言語との良し悪しなども見えきます。初心者の方もぜひ目を通すべし!
プログラミング言語Rubyでできることは何?
結論から言うと、Rubyでできることは非常に多いです。ただ、これだと話にならないので、実際にRubyがよく使われるシーンを見てましょう。
Rubyが多く使われる場面は次の3つ。
この3つには、Rubyが非常に適しており、よくRubyが使われます。僕もこの3つは、いつもRubyで済ませています。直感的かつシンプルなので。
実際にどういった形でRubyが使われており、何ができるのかを詳しく紹介します、
WEBサービス
Rubyでできることの代表例が、WEBサービスの開発。WEBサービスというのは、ツイッターやYouTube、Googleのようなもの。
Rubyには、Ruby on RailsというWEBサービスの開発に特化したライブラリがあります。WEBフレームワークと呼ばれるもので、シェアは世界一。
他のフレームワークであるLaravel(PHP)やDjango(Python)と比べても、人気度はかなり高いです。絶対Railsは使いやすいと断言できる。
Ruby on Railsで開発したことがある僕としては、WEBサービスに必要な機能(ユーザー管理、データベース連携)などの機能を簡単に実装し、楽に開発することができました。
実際にRuby(Ruby on Rails)で開発されたWEBサービスを3つ知るべし!
実例①:Cookpad(クックパッド)
料理のレシピの共有サイトであるCookpad(クックパッド)は、Ruby on Railsを用いて開発されています。
もともとはRuby on Railsではなかったものの、途中から切り替えたようです。開発の効率を重視したためとのことなので、RubyがいかにWEBサービスに適しているかが分かりますね。
参考文献:https://codezine.jp/article/detail/10988
実例②:GitHub
GitHubは、世界最大のコードのバーション管理サイトです。プログラミングに馴染みがない方は知らないと思いますが、大丈夫。
ユーザー数は3000万人弱いるので、かなり大きいサービス。規模を問わずWEBサービスを作れるRubyの大きなポイントですね。
実例③:Twitter
なんと驚いことに、TwitterもRubyで作られていました。現在は、Javaで書かれていますが、開設当初はRubyで動いていたようです。
ちなみに、先程紹介したフレームワークのRuby on Railsのチュートリアルでは、ツイッターに似たアプリの作成がテーマとして扱われています。
ただ、Ruby on Railsは規模が大きくなると処理速度が低下するというデメリットを持っており、それでTwitterは、Javaに移行したようです。
ここまで、RubyでできたWEBサービスを紹介してきました。どれも有名なサービスなので、RubyでWEBサービスの開発ができると分かりますよね。
サーバーなどの管理
Rubyでは、サーバーの管理もすることができます。
特に、多くのサーバーでは、Rubyが初期でインストールされていることも多く簡単に使うことができます。
実例①:バックアップの自動化
例えば、僕はレンタルサーバーのバックアップの自動化をRubyで行っています。毎日自動で、Rubyのプログラムが実行される仕組みです。
そのおかげで、自動バックアップ機能のないサーバーにも関わらず簡単にバックアップができています。
実例②:macOSのRuby
また、AppleのmacOSにもRubyが標準搭載されており、brewやVargrantなどあらゆるところでRubyが使われています。
brewとVargrantは、パッケージ管理、仮想マシンの構築自動化アプリです。Rubyでは、管理用のプログラムを作りやすい特徴がありますね。
C言語やJavaなどのコンパイルが必要な言語では向かないことなので、Rubyならではできることだと思います。
スクレイピング
最後にRubyでは、スクレイピングが簡単にできます。
Rubyには、スクレイピング向けのライブラリが多く用意されています。代表的なものには、Nokogiri(鋸)やMechanizeがあります。
Ruby on Railsのおかげで、スクレイピングをしたデータをもとに、Webサービスを作ることもRubyなら簡単にできます。
スクレイピングは、あくまでもデータ取得のための技術であるため、あまり公開されていません。なので、実例を1つだけ紹介。
実例:最安ドメイン比較
これは僕が作ったサービスなのですが、Rubyで作られています。NokogiriやMechanizeといったライブラリでスクレイピングをすることで、自動的に価格を取得しています。
最安ドメイン比較(※廃止しました)
Webの部分は、Ruby on Railsで作っています。同じRubyなので、スクレイピング+Webサービスの組み合わせも簡単にできてしまいます。
まとめ
Rubyでできることをざっくりと紹介しました。
見てもらったとおり、RubyはWEBに向いており、WEBサービスなどの作成が簡単にできる言語です。なので、WEBサービスを自分で作りたいととか、自動化をしてみたいという方には適してます。実際にそういう人は、Rubyにドハマリするのは確実。
Rubyでは、ゲーム作成などもできますが、あまり適していません。ゲームを作りたいのであれば、JavaやC++などの他の言語について調べてみると、面白いですよ〜。
コメント