Webアプリケーション開発を簡単に、効率的におこなうための骨組みである、フレームワークの知識を身につけると業務の幅が広がります。今回の記事では、Ruby言語の特徴にはじまり、有名なRuby on Rails以外のフレームワークも紹介しています。ぜひともご確認ください。
Contents
Ruby言語の特徴
まつもとゆきひろ氏が1995年に開発、リリースしたオブジェクト指向のスクリプト言語で、オープンソースになっています。Ruby言語の特徴を説明するためにも、まずはオブジェクト指向やスクリプト言語からご紹介します。
・オブジェクト指向とは
JavaやPHP、Pythonなどでも採用しているシステム構成の概念で、特定の役割を持ったモノ(オブジェクト)で区分けをし、区分けしたモノに役割を持たせ、モノ同士を関連づけることによって開発をしていくスタイルのことをいいます。オブジェクト指向のメリットとしては、オブジェクトごとの管理が可能なためカスタマイズや管理がしやすく柔軟性がある、コードの再利用や開発の分担などが可能なため開発効率を上げることができる、などを挙げることができます。
・スクリプト言語とは
プログラム言語の種類のひとつで文法が簡単でわかりやすく、記述したコードを機械語に変換するコンパイルが不要なものが多くなっています。なぜ『多くなっている』のかというと、スクリプト言語は明確に定義されているわけではなく、あくまでスクリプト言語と呼ばれているものの特徴として、文法が簡単で、コンパイル不要なものが多数を占めているからです。
コンパイルとは、記述したコードを実行するために機械語への翻訳をする方法で、JavaやC言語などのコンパイラ言語ではコンパイルの実行ファイルを作成しなければ、機械がコードを理解してくれません。それに対してスクリプト言語では、コンパイル不要でコードを実行できる言語が多くなっています。
また、コンパイル不要の言語のことをインタプリタ言語といい、スクリプト言語のほとんどはインタプリタ言語の特徴を持っています。しかしながら、スクリプト言語=インタプリタ言語にはならないので注意しましょう。
・その他の特徴
Rubyは国際規格である国際電気標準会議(IEC)に、日本人が開発したプログラム言語として初めて登録されました。また、日本人が作ったプログラム言語のため日本語ドキュメントが充実しており、関連書籍やインターネット上の情報などが多数あることも大きな特徴といえるでしょう。
加えて、コードがシンプルで分かりやすく、学習コストも低いためスピーディーな開発に向いており、スタートアップ企業などでも頻繁に利用されています。
・Rubyで開発できるもの
RubyはWebアプリケーション開発で主に利用され、世界的に有名な宿泊サービスのAirbnbや、国内では食べログやクックパッドなどでも利用されてます。また、過去にはSNSサービスのTwitterでも利用されていました。これらのようなWebサービスに加え、Rubyではクローリングやスクレイピングといったプログラムを開発し、インターネット上のデータ収集をすることも可能になっています。
知っておきたいRubyフレームワーク5選
有名なRuby on Rails以外のフレームワークも紹介しています。確認していきましょう。
Ruby on Rails
出典:Ruby on Rails — A web-app framework that includes everything
デイヴィッド・ハイネマイヤー・ハンソン氏によって、2004年にリリースされた、Ruby言語のディファクトスタンダード(業界標準)といえるフレームワークです。Ruby on Railsは『設定より規約』という思想を大切にしているため、規約に則った開発が必要になります。しかしながら、その規約によりコードが簡潔になり、同じことを繰り返さずに効率的な作業をすることができるようになっています。
また、Ruby on RailsはMVCモデルという概念を採用していて、Model(モデル)、View(ビュー)、Controller(コントローラー)と役割を分け、それぞれが独立して開発できるようになっています。MVCモデルはコード記述が分かりやすいため整理しやすく、機能の追加や修正も簡単にできるため、Webアプリケーションのフレームワークで多く採用されている概念のひとつです。加えて、先にお伝えしたAirbnb、食べログ、クックパッドはRuby on Railsで開発されています。
Padrino
出典:Padrino – The Elegant Ruby Web Framework
次に紹介するSinatraをベースにして、より高度なWebアプリケーションフレームワークを目指して作成されました。Ruby on Railsと同じようにMVCモデルを採用し、Sinatraでは搭載されていなかった、メール配信の基本テンプレートや各国の言語に対応させる国際化、テストツールなどの機能があります。Sinatraのように軽量なのにも関わらずRuby on Railsのような開発ができるため、両者の中間ともいえるフレームワークです。
Sinatra
出典:Sinatra
Ruby on RailsやPadrinoと違い、MVCモデルを採用していないフレームワークです。
非常に軽量で学習コストも低くなっているため、小規模開発に向いています。Ruby on Railsが規約重視なのに対し、Sinatraは簡単に記述できることをテーマにしているところが特徴です。また、AppleやGitHub、LinkedInなどでは、自社のアプリケーション開発でSinatraを利用しています。
HANAMI
出典:Hanami | The web, with simplicity
ルカ・ギティ氏によって2017年にリリースされた、比較的新しいフレームワークで、Ruby on Railsなどと同じようにMVCモデルを採用しています。HANAMIの特徴は高速に動くことで、公式サイトによると他のフル機能のフレームワークに比べ、メモリ消費量を60%抑えることができると宣言しています。
Cuba
出典:Cuba | Microframework for web development
公式画面の『Ceci n’est pas un framework.』とはフランス語で『これはフレームワークではない』という意味で、開発者のマイケル・マーティン氏の哲学が反映されています。しかし、実際にはマイクロフレームワークに分類され、機能が最小限に留められているため軽量で実行速度が速く、小規模でシンプルな開発に向いているフレームワークです。
その他のRubyフレームワーク
ここでは、上記以外に3つのフレームワークをピックアップしています。
・Ramaze
MVCモデルを採用しているフレームワークで自由度が高くなっています。RamazeにはKISS (Keep It Super Simple)『シンプルに徹する』、POLS (Principle of Least Surprise)『驚き、最小の法則』の二つの哲学を組み合わせ、単純なものは単純に、複雑なものはできるだけ楽しく開発できるよう設計されています。細かい規約があるわけではなく、素のRubyに近い感覚で開発をすることが可能です。
・Camping
MVCモデルを採用しているマイクロフレームワークです。ソースコードが4KB以下で軽量でありながらMVCモデルでのコード記述ができ、ひとつのファイルに格納することができます。また、Campingで開発したWebアプリケーションの土台を格納し、Ruby on Railsに簡単に移動できるようになっています。
・Scorched
公式サイトによると、ScorchedはSinatraから進化し強力になったもので、Sinatraを利用したことがある人は簡単に開発ができると宣言しています。
また、Scorchedの哲学としては、Webアプリケーション開発の設計、構成についてフレームワーク側から規制を与えず、開発規模の大小に関わらず無駄を排し、素早く構築できることを掲げています。そのため、Scorchedをしっかりと理解すれば、どのような規模のWebアプリケーションでも開発が可能な、汎用性のあるフレームワークといえます。
RubyのフレームワークはRuby on Railsの学習がおすすめ
Ruby言語での案件は、Ruby on Railsのスキルを求めるものが大多数を占めます。そのため、RubyエンジニアにとってRuby on Railsは押さえるべき必須スキルといえるでしょう。それに加えて、Ruby on RailsのMVCモデルの概念は他のフレームワークでも多く採用されているため、こちらもしっかりと理解することをおすすめします。
Ruby on Rails以外のフレームワークを挙げるのであれば、Sinatraもおすすめです。弊社TechReachではRuby on Railsが141件、Sinatraは2件の求人となっており、インターネット上の求人でも少なからず募集がある状態です。(2022年7月現在)
また、Sinatraは学習コストがRuby on Railsよりも低いため、Sinatraを学んでからRuby on Railsを習得する。といった学習プランを立てることもできるでしょう。Ruby on RailsとSinatraは書籍やインターネットを問わず学習教材がたくさんありますので、ご自身に合ったプランを作成し、習得するように行動していきましょう。
まとめ
2022年4月にRuby 3.1.2がリリースされるなど、プログラム言語としてもRubyはバージョンアップが続いています。また、ディファクトスタンダードであるRuby on RailsもRails 7.0.3.1 が2022年7月にリリースされました。
インターネット検索のサジェストキーワードでは、RubyやRuby on Railsが廃れた言語•フレームワークであると出てくることもあります。しかしながらそのような実態はなく、まだまだ現役で利用されている状態です。この記事を通してRubyに興味を持っていただき、Ruby on Railsをはじめ、フレームワークについての学習に役立てば幸いです。
関連リンク:Rubyエンジニアの業務内容・年収や将来性について解説
フリーランスの案件をお探しの方はTechReachにご相談ください。
TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。
そのため、高単価・高品質な数多くの案件紹介が可能です。
また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。
TechReachを活用して、理想の案件を見つけましょう!