Columnコラム

【入門編】Rubyとは?活用できる仕事は?

言語/入門編
作成日
更新日

目次

    はじめに

    Ruby(ルビー)とは、1995年に一般公開されたオブジェクト指向スクリプト言語です。

    このスクリプト言語とは、アプリケーションソフトウェアを作成するためのプログラミング言語のことです。

    Rubyの制作者は「まつもと ゆきひろ(通称:Matz)」さんで、製作者自身が好きな言語の一部(Perl、Smalltalk、Eiffel、Ada、Lisp)をブレンドして新しい言語としてRubyが作られました。

    また、Rubyは日本で開発されたプログラミング言語の中で、初めて国際規格である「国際電気標準会議(IEC)」で認定されたプログラミング言語です。

    今回はRubyエンジニアが活躍する仕事やRubyを使った仕事についてご紹介いたします。

    これからITエンジニアの需要が高まっていく中で、どのようなキャリアを形成していくのか、スキルを身に着けていくのかを見極めることが大切です。

    また自身のやりたい仕事や目指す仕事は何か、将来あるべき姿に近づくために何が必要なのかを明確にするために、Rubyの特長をご紹介します。

    Rubyでできること

    1. Rubyとは?
    2. Rubyを活用した仕事とは?
    1. Rubyとは?

      Rubyは日本人のまつもとひろゆき氏によって開発された純国産プログラミング言語であり、日本で開発されたプログラミング言語としては、初めて国際電気標準会議(IEC)で国際規格に認証されました。

      設計思想として「ストレスなくプログラミングを楽しむ」ことをもっとも重要視しており、可読性の高い構文構造と併せて習得しやすい言語として人気があります。

      Rubyの大きな特徴の一つとして、パッケージの豊富さによる「汎用性の高さ」や、英語圏がコミュニティのメインとなる他の言語と異なり、日本人にとっては「日本語での情報取集がしやすい」点が挙げられます。

    2. Rubyを活用した仕事とは?

      現在、よく知られているWebサービスのいくつかは、Rubyを利用して作られています。

      「クックパッド」、「食べログ」、「価格ドットコム」などが、代表的なWebサービスとして有名です。

      海外でRubyによって開発された有名なアプリケーションとしては、SNSサービスの「Twitter」、動画配信サービスの「Hulu」があげられます。

      幅広く活用されているRubyですが、Rubyを活用してできる仕事は下記の8つがあります。
       ①Webアプリケーション開発
       ②SNS開発
       ③ブログ開発
       ④オンラインショッピングサイト開発
       ⑤API開発
       ⑥スクレイビング
       ⑦スマホアプリ開発
       ⑧機械学習

      ①Webアプリケーション
      Rubyで一番使われているのはWEBアプリ開発です。

      CookPad、Wantedly、食べログなどの有名アプリケーションもRubyを用いて作成されています。

      Ruby on Railsを用いると、他のフレームワークより高速でwebアプリケーションを作ることができ、人気の理由の一つにもなっています。

      ②SNS
      Ruby on Railsを使うと、ユーザー機能やログイン機能を簡単に設定できるため、Railsを使って多くのSNSが作られています

      Wantedlyや、AirbnbなどもRailsで作られています。

      ③ブログ
      Rubyを使うことで、ブログを作成することもできます。

      ブログといえばWordPressを思い浮かべる方も多いと思うのですが、Rubyでも作成は可能です。

      作成までのスピードは圧倒的にWordPressの方が楽で早いのですが、ブログサイトが成長し大規模になってくると、Rubyの方が機能を追加がしやすくなるというメリット・デメリットがあります。

      企業が本格的なブログを作る際はRubyを使って作ることがあります。

      ④オンラインショッピングサイト
      Rubyを使うと、決済機能が必要なショッピングサイトも作る事ができます。

      spreeやsolidusというライブラリを使用することで、1から作成せずに決済機能を設定できるので、スキルが高くない方でも作成が可能となっています。

      ⑤API
      サーバサイドで処理するプログラムといえばAPI(Application Programming Interface)があります。

      APIはHTTPプロトコルを使用してネットワーク越しに呼び出すことができる、アプリケーション間、システム間のインターフェースのことを指します。

      APIを提供することで、WEBアプリケーションを異なるプログラムから操作できるようになります。

      現在はAPIを通じたデータ連携によって、多くのシステムが接続し、運用されています。

      たとえば大手ECサイトの最安値情報や、テレビの番組表なども、提供されているAPIをプログラムから呼び出すことで情報を取得、表示できます。

      このAPIも、Rubyで開発できます。

      ⑥スクレイピング
      サーバサイドプログラムとしてもう一つ、代表的なものがスクレイピングです。

      スクレイピングとはWEBサイトから取得した情報を、指定した形に加工、整理して新しい情報として生成することを指します。

      フルスクラッチからの構築は手間がかかりますが、Rubyの場合は「Nokogiri」という有名なパッケージを使用することで、簡単なスクレイピングであれば1時間程度で作成できます。

      ⑦スマホアプリ RubyMotionやRubotと呼ばれるライブラリを使用することで、スマートフォンのアプリを作成することが可能です。

      この辺りはまだ一般的に広まっていると言えないので、情報が少なく自力で勉強するには難しいポイントがあります。

      ただRubyでアプリをかけるというのは魅力的ですので、今後に期待されています。

      ⑧機械学習
      RubyとPythonをブリッジするPyCallを利用することで、RubyでPythonのライブラリを使用し、機械学習の開発ができます。

      現在、Rubyには機械学習や統計分析に使用できる実用的なライブラリや機能が存在しません。

      そこでPythonのライブラリを、PyCallを通じて使用して不足している機能を補います。

    おわりに

    Rubyは国内での活用実績が多数あり、新しい企業(ベンチャーやスタートアップ)でも活用されやすいといえます。

    そのため、今後も安定した需要が期待できるプログラミング言語です。

    また、日本だけでなく海外のベンチャー企業にもRubyが積極的に採用されています。

    ライブラリの豊富さや、コードがシンプルで管理しやすいことが人気の理由です。

    上述した通り、有名なWebサービスでも活用されており、これから機能が向上していくことも十分考えられます。

    自身の将来のエンジニア像、ありたい姿を描きながら、どのような仕事をしていきたいかやどのスキルを身に付けなくてはならないかを見極め、自分らしいキャリアを積んでいきましょう。

    アイグルーヴのサポート

    アイグルーヴではITエンジニアの皆様向けに、多様な働き方の実現をサポートしております。

    またフリーランスや副業を考えている方へ、案件のご紹介やキャリアアップ支援も行っております。

    本記事以外にも、スキルアップやキャリア支援、現役エンジニアのインタビュー記事など、多数掲載しておりますので、ぜひご覧くださいませ。