2019.09.13

Rubyの特徴・できることってなに?

この記事を書いた人

アクシス株式会社 代表取締役

末永雄大

Suenaga Yuta

Profile 新卒でリクルートキャリア入社。その後、サイバーエージェントにて集客支援を行う。
2012年転職エージェントとしてアクシス株式会社を設立。
Yahoo!ニュース(個人)・オールアバウトガイドなどのメディアに転職のプロとして記事を寄稿している

この記事では、プログラミング言語Rubyを使った仕事に関して解説します。

業界大手の転職サイト・マイナビが運営しているため、1万件と求人数も豊富!マイナビITだけが持つ独占企業も紹介してくれます。

Rubyって何?

Rubyとは、1995年に日本人のまつもとひろゆき氏によって開発されたオブジェクト指向のプログラミング言語です。

後からオブジェクト指向の仕組みを取り入れたPHPとは異なり、Rubyは最初からオブジェクト指向で記述できるよう開発された言語で、自然にその仕組みを利用したコードを書くことができます。 実行はインタプリタ方式で行います。クックパッドや食べログといったWebサービスの開発に利用されています。

PHPやPerlなど他の有名言語にも負けないくらい人気があり、他の言語と比べコードを短く書くことができるため、読みやすく書きやすい初心者でも学びやすい言語になっています。

短期間でもアプリ開発ができるのでスタートアップ企業やベンチャー企業で採用されることが多いです。

Ruby の特徴

Rubyは、低速で動作するものの短い記述で済むことが特徴のスクリプト言語です。記述が長いCやJavaのようなコンパイル言語と違い、プログラミングが手軽に行えます。

また、Rubyはデータや動作の集合体を用いてプログラミングするオブジェクト指向言語なので、コードの記述量が少なく、工数が削減できる点が優れています。

ですから、Rubyは開発にかかるストレスが少なく、開発者にとってコーディングしやすい言語だと言えます。 また、フレームワーク(Ruby on Rails)があるため、開発工程の大幅な短縮ができ、多くの企業に使われています。

Rubyエンジニアの求人の募集要項のほとんどに「Ruby on Railの開発経験」が記載されています。

Rubyエンジニアを目指すのであれば、Ruby on Railを習得していた方が応募できる求人がかなり多くなり採用される可能性も高まるのでおすすめです。Ruby on Railsについては、次の章で詳しく解説します。

Ruby on Rails とは

Rubyの概要はなんとなくお分かりいただけたと思います。

では、Rubyを調べていくと必ず出てくるRuby on rails(ルビー・オン・レイルズ)とは何でしょうか?

Ruby on Railsとは、RubyのWEBフレームワークのひとつです。

フレームワークとは、あらかじめプロのエンジニアが何千・何万行と書いたコードのことで、「アプリケーションの骨組み」となるもの。フレームワークを利用することで、自分で一からコードを書かなくても、さまざまな機能を簡単に追加できるようになります。

RubyとRuby on Railsは何が違うのかというと、Rubyはプログラミング言語そのものを指すのに対し、Ruby on RailsはRuby言語を利用してプロのエンジニアが書いたフレームワークという違いがあります。

Rubyには、MerbやSinatra、Waves、Ramazeといったフレームワークもありますが、最も開発に利用されているのはRuby on Railsです。

なぜなら、Ruby単独で書くよりも書き方のルールが細かく定められており、その書き方通りに書いていくだけで、簡単にアプリケーションが作れるから。また、クックパッドやRettyなど急成長した企業のWEBサービスに利用されていることも、人気の一因です。

これらの背景から、Rubyの案件のほとんどはruby on railsを使用した案件となっています。ですから、Rubyの案件を獲得したいエンジニアは、Ruby on Railsにふれておく必要があります。

Rubyのフレームワーク3選

Ruby on Rails以外にもRubyには優れたフレームワークが存在します。具体的には、「Sinatra」、「cuba microframework」、「HANAMI」、「Ramaze」、「Padrino」がありますが、今回はその中の3つを厳選して紹介したいと思います。

1.Sinatra

少ないコードで実装できることが特徴のフレームワークです。数行コードを書くだけで動的なウェブサイトを実装できます。また、Ruby on Railと比べると規約が少なく自由度も高いです。

勉強しなければならないことは少なく、初心者におすすめのフレームワークになっています。逆にデメリットとしては、複雑なものや大規模なものの実装には向いていません。

2.cuba microframework

Rubyのフレームワークですが、「Ceci n'est pas un framework(Cubaはフレームワークではない)」と紹介されています。公式サイトでは「ウェブ開発用のマイクロフレームワーク」として発表されていて、機能の最小化、軽量化に重点を置いています。

3.HANAMI

以下の4つの方針をもとに開発されているフレームワークです。

  • Fast response times(レスポンスタイムが速い)
  • Full-featured, but lightweight(多くの機能が提供されている上に軽い)
  • Secure by default(最初からセキュリティ面にも配慮)
  • Simple and productive(簡単で生産性に優れる)

そして、MVCモデルを採用しています。JavaのSpringやPHPのLaravelなど利用する開発者が多いフレームワークと同じ仕組みを採用しており、MVCモデルを経験しているプログラマーにとっては学習コストが低いこともメリットの一つです。

Rubyによってできること

Rubyは以下のように様々なものを開発することができます。

  • Webアプリケーション
  • WebAPI
  • スクレイピング
  • スマホアプリ
  • 機械学習

1.Webアプリケーション

Rubyが最も使われているのは、WEBアプリの開発です。特にWebアプリケーションの開発分野で需要が高く、先述した通り、食べログやクックパッド、Wantedlyなどの人気サイトで利用されています。

SNS、マッチングサイト、ソーシャルゲームの開発に採用されることも多いです。これは先ほども述べた「Ruby on Rails」という優秀なフレームワークがあることが背景にあります。

Ruby on Railsの最大の魅力は「開発スピード」で低予算でWebアプリを簡単に作ることができることです。

パッケージを利用することで、管理画面、参照機能、認証など様々な機能を一からプログラムを書かなくても開発することができます。そのため、ビジネスをスモールスタートで始める必要があるスタートアップ・ベンチャー企業で採用されることが多くなっています。

2.WebAPI

RubyはWebアプリだけでなくWebAPIの開発にも利用されています。WebAPIを実装しておけば、他の言語で開発されたシステムから呼び出すことも可能です。

たとえば、Rubyで実装したWebAPIをJavascriptで実装したクライアントサイトのアプリから呼び出すことができます。WebAPIで実装しておけば様々なシステムで幅広く利用することができるので非常に便利です。

3.スクレイピング

スクレイピングとは、「ウェブサイトにアクセスして情報を収集し加工すること」です。Rubyはスクレイピングの実装に適した言語で、「nokogiri」というスクレイピングのためのライブラリが用意されています。

このnokogiriを使うとHTMLを読み込み特定の要素を抽出することができます。たとえば、ウェブページの特定のテキストボックスに入力されている値を取得したいとすると、コードの中でそのテキストボックスのidを指定して値を取得することができます。

4.スマホアプリ

Rubyはスマホアプリの開発でも利用されることがあります。スマホアプリ自体はAndroidアプリはJavaやKotlin、iOSアプリはSwiftで開発されることが一般的ですが、サーバーサイドはRubyで開発されることもあります。

5.機械学習

RubyはPythonなどと比べると機械学習のライブラリなどの開発は遅れをとっていますが、実装は一応可能です。

たとえば、「PyCall」というブリッジライブラリを使うことで機械学習を実装できます。PyCallを利用することでPythonのオブジェクトにアクセスすることができます。

Pythonは最も機械学習の実装に適したプログラミング言語であり、その言語のオブジェクトを呼び出せる仕組みを利用することで、Rubyで開発したシステムでも機械学習の仕組みを実装することが可能になります。

【高い内定率】レバテックによるキャリアアドバイザーと現役エンジニアによる企業別面接対策はこちら

初心者のためのRuby習得法

では、初心者がRubyを学習するには、どんな方法があるのでしょうか?

これからRubyを学ぶ方は、無料で学べる以下の学習サイトを利用することをおススメします。サイトを利用した学習方法であれば、時間や場所にとらわれず学ぶことができます。

独学で学ぶのが難しい方は、オンラインのプログラミングスクールといったもありますので、自分に合ったやり方を探しましょう。

まとめ

ここまで、プログラミング言語Rubyを使った仕事について解説しましたが、いかがでしょうか?

改めておさらいすると以下のとおりです。

  • Rubyは初心者でも学びやすいプログラミング言語で、主にWEBアプリ開発に使われている
  • Rubyを基に作られたフレームワークruby on railsを使った案件が多い
  • Rubyを学習するには、無料で学べるサイトを利用するのがおすすめ

将来性の高いRubyエンジニアは、初心者でも学びやすいことが特徴です。未経験でRubyエンジニアへの転職を検討している方は、ぜひ時間を取って学習することをおススメします。

エンジニア・デザイナーの転職に特化した転職エージェント

エンジニアのフリーランス支援サービスも展開。
IT/WEB業界に特化しているからこその豊富な情報量×きめ細やかなサービス

※登録完了後、「これまでのご経験、ご希望の入力」も記入することで非公開求人を優先的に提案してもらえます。【2分程度で完了】

ポイント

  1. 業界トップクラスの求人数とサポート実績。Webエンジニア向けの求人も多数
  2. 現役エキスパートエンジニアから応募書類の添削を受けられる
  3. 正社員とフリーランス、両方を想定したキャリア相談が可能

レバテックキャリアに
相談する

大手上場企業から人気ベンチャー企業、隠れた優良企業の求人が多数!
エンジニアからPM、コンサルタントまで幅広い求人提案が可能!

ポイント

  1. 実務未経験からでも挑戦できる求人を保有
  2. 大手からベンチャー企業まで、コンサル、SIer、WEB系の幅広い求人を保有
  3. 人気の社内SE求人も多数!働き方に合わせた多彩な求人アリ

マイナビITに
相談する

スクール受講後の就職率は98%を誇り、エンジニア未経験からの就職・転職にオススメのプログラミングスクール。
独学で挫折してしまう人が多い中、受講者の96%がカリキュラムを完了し、卒業できている。

ポイント

  1. 独学で挫折する方が多い中、TechCampの修了率は96%
  2. カリキュラムの修了後の就職率は98%という安心感

こんな人がおすすめ!

  • プログラミングを1から教えて欲しい方
  • 未経験からエンジニアとして就職したい方
  • プログラミング学習から就職活動まで一貫してサポートして欲しい方

TechCampに
相談する

大手や人気企業の求人を多数保有!大手エージェント

大手エージェントには、全業界・職種の求人が集まっています。さらに、大手企業や人気企業の求人を独占で持っていることも。
幅広い選択肢の中から求人を提案してもらいたい、大手企業や人気企業への転職を検討しているという方は必ず登録しておきましょう。

CMでおなじみ!転職者満足度No1!
豊富な求人数に加えて、専任アドバイザーの手厚いサポートが強み

ポイント

  1. リクルートと並ぶ、実績豊富な国内最大級の転職エージェント
  2. 10万件を超える求人から、厳選して紹介を紹介してくれる数少ないエージェント
  3. リクルートが保有していない有名企業の求人に出会える可能性が高い

dodaに
相談する

業界No.1!転職者の8割が利用している
国内最大の定番エージェント

ポイント

  1. 求人数が業界No.1!人気企業・大手企業の非公開求人を多数保有
  2. 数の強みを活かした幅広い業界・職種の提案が可能
  3. たくさんの求人の中から比較検討できる

リクルートエージェントに
相談する

20代の登録者数No.1!
20代・第二新卒向けの非公開求人を多数保有

ポイント

  1. 新卒サイトの掲載社数No.1!若手層を採用したい企業とのコネクションが豊富
  2. 20代向けの全業界・職種の求人を網羅
  3. 若手層の転職サポート・アドバイスに強い!転職サポートの手厚さに定評あり!

マイナビエージェントに
相談する

この記事とあわせて読まれている記事 Related

おすすめ人気記事 Popular

運営会社

Axxis(アクシス)株式会社は「ヒトとITのチカラで働くすべての人を幸せにする。」という理念に基づきキャリア領域で複数のプロダクト・サービスを提供するHRテックカンパニーです。