RubyのフレームワークではRuby on Railsが特に有名なものになっています。しかし、他のRubyフレームワークとしてはSinatraもよく知られており、大企業で利用された情報なども見受けられます。この記事では、Sinatraについて簡単に解説をしています。ぜひともご確認ください。
出典:Sinatra
Contents
Sinatraとは?
Sinatraはプログラミング言語のRubyで作成された、オープンソースのフレームワークです。プログラミング初学者の人でもわかりやすいように、オープンソースとは何か?といったところから説明をしていきます。
オープンソースとは
現代では、「オープンソース」と呼ばれる場面が多いですが、元来は「Open Source Software(OSS|オープンソースソフトウェア)」を意味します。
OSSは特定のソフトウェアのソース(プログラムを構成するコード)を無料で公開しており、誰でも自由に利用、改変、頒布できるものが多くなっています。そのため、OSSで公開されたソースをもとにエンジニアたちが開発をしていき、OSS自体が進化・改善されてきた歴史を持ちます。また、OSSによっては利用のみが許可されており、改変や頒布ができないものもあります。
フレームワークとは
IT業界でのフレームワークとは、システム開発で必要になる機能をあらかじめ搭載した雛形や土台のことをいいます。例えばECサイトを作る際は、顧客情報入力や商品の表示、在庫管理など、開発者が違っても必要になる機能は大体同じものになリます。フレームワークには誰が作っても必要になる機能があらかじめパッケージ化されているため、利用することで効率的な開発が可能になります。
また、フレームワークにはプログラミング言語によってたくさんの種類があり、ECサイトなどのWebアプリケーション作りに必要な機能を豊富に搭載しているものや、必要最低限の機能だけしか搭載していないものもあります。加えて、現在では「フレームワーク」と呼ばれることが一般的ですが、フレームワークもソフトウェア(ある特定の目的を持って作られたプログラムのまとまり)の一種であり、「ソフトウェアフレームワーク」などと呼称される場合もあります。
SinatraはRuby製のオープンソースフレームワーク
SinatraはRubyのオープンソースフレームワークです。ここまで説明したように、オープンソースのため無料で利用することができ、フレームワークなので開発をするための土台として活用することができます。また、SinatraはMIT Licens(エムアイティーライセンス)という自由度の高いライセンスになっているため、それぞれが改変や頒布をしても問題ありません。
Sinatraの特徴について
RubyのフレームワークといえばRuby on Railsがとても有名なものですが、Ruby on Railsは「設定より規約」という考え方に基づいてるため、効率的な開発をするには数多くの規約を守らなくてはなりません。そのような理由から開発をするために覚えることが多く、使いこなせるようになるまでは勉強を続ける必要があります。
それに対してSinatraは、
「最小限の労力でRubyでWebアプリケーションをすばやく作成する」
という考え方のため、規約も少なく、簡単かつシンプルに開発できるようになっています。
フレームワークを活用する
Rubyについて簡単に触れ、Sinatraのインストール方法をお伝えします。
Rubyとは
Rubyとは、日本人のまつもとゆきひろ氏が1995年にリリースしたオブジェクト指向のスクリプト言語で、2004年に登場したRuby on Railsの広がりによって世界中で利用されるようになったプログラミング言語です。まつもとゆきひろ氏いわく、
「プログラミングがラクで楽しくなる言語」
を目指して作成され、Perlというプログラミング言語にちなんでRubyと名付けられたそうです。
下記出典リンクから、エン転職のWebメディアである『ぼくらの履歴書』にRuby誕生のインタビューが記載されています。また、Rubyエンジニアの業務内容などについてまとめた弊社の関連記事もありますので、よろしければご確認ください。
出典:まつもとゆきひろの履歴書|仕事中にこっそり作ったRubyが世界を驚かせるまで
関連記事:Rubyエンジニアの業務内容・年収や将来性について解説
Sinatraのインストール
Sinatraを利用するためにはRuby自体のインストールと、gemと呼ばれる『RubyGems』というパッケージ管理システムが必要になります。実行環境として両者を揃え、gem install sinatraコマンドを実行するとSinatraのインストールができます。また、公式サイトではgemを利用していますが、bundlerからインストールすることも可能です。
出典:README – Sinatraを日本語に翻訳
SinatraとRuby on Railsの特徴を比較
Ruby on Railsと比較して、Sinatraについて説明をします。
習得難易度について
Sinatraは少ない労力で開発できるように設計されているため、覚えることも少なくなっています。実際に、Ruby on Railsと比べても公式ドキュメントの量が少なく、初心者でも簡単にWebアプリケーション開発に取りかかれるでしょう。それに対してRuby on Railsは、覚えるべき規約が多岐に渡ります。そのため、Sinatraに比べると習得難易度は高くなり、プログラムを動かすまでにある程度の学習が必要です。
また、Ruby on RailsはMVCモデルという設計概念を持っており、役割ごとにコード記述を分けなければいけません。MVCモデルを初めて利用する場合、MVCモデル自体への理解も必要になるため、その点においてもSinatraより習得難易度が高くなっているといえます。
導入企業例
GitHub、Shopify、Soundcloudなどといった世界中で利用されているWebサービスや、日本国内ではクックパッド、グノシー、食べログなど、Ruby on Railsで開発されているサービスはたくさんあります。Ruby on Railsはフルスタックフレームワークといって、Webアプリケーション開発に必要な機能が揃っているため、作業効率をよくすることができるからです。
それに対してSinatraは、AppleやLinkedIn、GitHubなどで利用されているといった情報が見受けられます。しかし、GitHubはRuby on Railsを主に利用して開発されているため、メイン部分以外でSinatraを利用している、と推測することができます。また、Sinatraは大規模開発にはあまり向いていないため、他の企業においても部分的に利用されているケースが多いと考えられます。
Rubyで出来ることや開発されたサービスについてまとめている記事もありますので、こちらもよろしければご確認ください。
関連記事:Rubyで出来ることとは?特徴やRubyで作られたサービスをご紹介
Sinatra導入のメリットとデメリット
Sinatraを導入するメリットとデメリットについてお伝えします。
Sinatraを導入するメリット
Sinatraは軽量で素早く開発ができるようになっているため、小規模な開発に向いているフレームワークです。そのため、機能の少ないWebアプリケーションを開発する際にそのメリットを最大限に活かすことができるでしょう。
また、規約が少ないため機能追加もしやすくなっており、Webアプリケーションが完成したあとでもプログラムの再構築がしやすい点、初心者でも簡単に導入できる点もメリットになリます。
Sinatraを導入するデメリット
小規模開発に向いているフレームワークになっているため、大規模開発ではあまりおすすめできません。大規模開発時は機能面を充実させることが多くなっているので、最初から必要な機能が搭載されているフレームワークを選んだほうがよいでしょう。
また、SinatraはRuby on Railsと違って規約が少ないため、開発者によってコードにばらつきが出る可能性を否めません。コードの統一性がなくなると管理が大変になり、コード記述の位置も確認しづらくなってしまうため、その点においても大規模開発にはあまり向いていないと判断できます。
Sinatraは初心者におすすめのフレームワーク
覚えることが多いRuby on Railsに苦手意識を持っている方や、簡単なWebアプリケーションをまずは作ってみたい方にSinatraはおすすめのフレームワークです。まずはSinatraから開発をしてみて、ルーティングやテンプレートエンジンといったWebアプリケーションの基本について知識を深めていきましょう。
また、Ruby on RailsはWebアプリケーションについての知識が浅くとも、規約さえ守ればシステム開発ができてしまう可能性があります。しかし、Sinatraは開発過程にWebアプケーションの知識が必要になりますので、ひとつずつ理解を深めていく際にもおすすめのフレームワークといえるでしょう。
まとめ
RubyのフレームワークはRuby on RailsとSinatraが特に有名なものとなっており、弊社TechReachのフリーランス案件で、Sinatraのスキルを求めているものも存在しています。その点も踏まえ、Webアプリケーションの仕組みを覚えるためにもまずはSinatraに触れてみる、といった選択をすることもよいのではないでしょうか。
また、RubyやRuby on Rails案件の特徴や他のRubyフレームワークについてまとめている記事もありますので、よろしければこちらもご確認ください。
関連記事:RubyやRuby on Railsの案件数・特徴・単価相場について
Ruby言語のフレームワークはこの5つを押さえよう【2022年版】
フリーランスの案件をお探しの方はTechReachにご相談ください。
TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。
そのため、高単価・高品質な数多くの案件紹介が可能です。
また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。
TechReachを活用して、理想の案件を見つけましょう!