今回は、Sinatraというソフトウェアについて解説します。

Webアプリケーションフレームワーク・Sinatra。

この記事で解説する内容は下記になります。

  • Sinatraの概要
  • Sinatraの持っている特徴
  • Sinatraを導入するメリット
  • Sinatraを使う際に注意するべきことやデメリット
  • SinatraとRailsとの比較
  • Sinatraのインストール・ダウンロード
  • Sinatraの詳しい使い方

Sinatraについて知りたいことが詰まった内容をお届けします。

  • Sinatraを使ったことがなく、今後使ってみたいと考えている
  • Sinatraはわかりやすいと聞いたが、真実を知りたい
  • 軽いという噂は本当か?

こういった思いを抱えている人に目を通して頂けますと幸いです。


Sinatraとは

Sinatraとは、Ruby製の軽量で動くオープンソースWebアプリケーションフレームワークです。


Rubyについて

Rubyとは、Matz(まつもとゆきひろ)氏が開発したオブジェクト指向スクリプト言語であり、1995年に一般公開されました。

柔軟性が高いという利点があります。


オープンソースについて

先に述べた「オープンソース」とは、ソースコードを公開しているソフトウェアで、改変も修正も自由におこなえるソフトウェアのことを指します。

無償であることもオープンソースの条件の1つです。

Sinatraはこのオープンソースに当てはまります。


フレームワークについて

フレームワークとは、アプリなどを開発するのに必要な機能が枠組みとして出来上がっているもののことです。


Rails以外の選択肢として登場

Rubyのフレームワークとしてかなり知名度が高いものとして「Rails」があります。

2004年に一般公開されたRailsの完成度はとても高いものでした。

JavaやPHP、Pythonなどの言語では様々なフレームワークが活躍しています。

しかしながら、Rubyの世界ではRailsに対抗できるフレームワークがない状態でした。

そこに出て来たのがSinatraです。

その他、Rubyのフレームワークには「Waves」や「Merb」、「Ramaze」などがあります。


Sinatraのテーマ

SinatraはDSLを使用して「簡単に記述できる」ことをテーマにしています。


使っている企業

Sinatraを自社のアプリケーション開発に使っている企業は多数あります。

その代表格が「Apple」や「BBC」、「Heroku」です。

他にも「イギリス政府」に「スタンフォード大学」、「LinkedIn」なども。

また、エンジニアにとって知名度が高い「GitHub」もSinatraを使ってアプリケーション開発をおこなっています。


Sinatraの仕組み

この項目では、Sinatraの基本要素や仕組みについてご紹介します。


開発者と開発元

開発者はBlake Mizerany。開発元はKonstantin Haaseです。


プログラミング言語

前述のとおり、SinatraはRuby言語です。


対応OS

クロスプラットフォーム(マルチプラットフォーム)を採用しています。

あらゆるプラットフォームに対応することが可能です。


ライセンス

MIT License

このライセンスを持つものは、制限なしに無償で扱えます。また、改変やコピー、頒布なども自由におこなえます。

ただし、著作権と本許諾(MTIライセンスの文書)の表示をソフトウェア全てのコピーや重要部分に記載すること。

そして著作権者や作者はソフトウェアについて何の責任も負わないという条件を受け入れることができれば使用可能というものです。


Sinatraの特徴

この項目では、Sinatraの特徴について見てみましょう。


とても軽い

これは開発側もSinatraを利用するユーザーにも言える特徴といえます。

Sinatraはとても軽量なフレームワークです。

開発時もSinatra製のアプリケーションを使用するユーザーも、Sinatraを使えばその軽さを実感することができるでしょう。


習得が容易

世の中には様々なプログラミング言語やフレームワークがあります。

その中で、小規模なアプリケーションを作成するならSinatraはおすすめです。

Sinatraについて学ぶことは比較的少ないので、直感的な記述が可能。

よって、習得までにかかる時間も短いと思っておいて良いでしょう(もちろん、個人差はあります)。


記述が簡単

Sinatraの書き方を知っている人なら、どれくらいSinatraの記述が簡単なのかはわかるはず。

Sinatraの詳しい記述方法については後の項目でご紹介します。


Sinatra導入のメリット

Sinatraの特徴がわかったところで、次はSinatraを導入するとどんなメリットがあるかについて見てみましょう。


小さな構築がしやすい

Sinatraは少ないボリュームのアプリケーションに向いているフレームワークです。


簡潔な記述でアプリケーションを作成可能

「Sinatraの特徴」でご紹介しているとおり、コードの記述がとても少なく済みます。

数ファイルで完結するコードなどにおすすめのフレームワークです。


Sinatraのデメリット・注意点

軽量で直感的に使えるSinatra

良いことばかりに思えますが、デメリットや注意点ももちろんあります。

Sinatraの使い方を検索したことがあるならご存じかもしれません。

SinatraにはRailsや他言語のフレームワークと違ってマニュアル・使い方が豊富とはいいがたいです。

そのため、何か困ったことがあった時に行き詰まってしまう恐れがあります。


SinatraとRailsの違い

同じRuby製のフレームワークであるSinatraとRails

両者の違いについてご説明します。


考え方が違う

Sinatraは軽く臨機応変なプログラミングができるように意識して設計されています。

対するRuby on Railsは「Model View Controller(MVC)」という考えを基にした設計です。

SinatraMVCに基づいて作成されていません


軽さ

軽さは断然Sinatraに軍配が上がります。

RailsはMVCベースなので軽さはあまり感じないでしょう。


コード記述のボリューム

SinatraはRailsと比較してコードの記述量が少なく済みます。

そのため、Rubyを初めて扱う人はRailsではなくSinatraから入るのがおすすめです。


コードが自動作成されるか否か

Sinatraはコードの自動作成機能は付属していません

Sinatraは必要最低限の機能がついたフレームワーク。

そして、対するRailsはコードの自動作成などができるフレームワークです。

先述のとおり、Sinatraはコードの記述がRailsより少なく済みます。

しかし、コードの記述が少ない=どんな時でもSinatraのほうがコード記述がラクになるとは限りません。

大きなアプリケーションを開発する際は、コードの自動作成ができるRailsを使ったほうが作業効率が上がります


Sinatraは初心者におすすめ

Sinatraは初心者におすすめできるフレームワークです。

その理由については、ここまでご説明してきたことから察することができるはず。

Sinatraが「コードの記述が簡単」で「軽い」からです。

この2点は初心者にとって非常に有り難い特徴といえるでしょう。

「ちょっとしたアプリを作ってみたい」と思った時、Sinatraならすぐに小規模なアプリを生み出すことが可能です。


Sinatraのインストール手順

この項目では、Sinatraのインストール方法について順を追ってご説明していきます。


Rubyをインストールする

まずはRubyをインストールしましょう(既にRubyをインストールしている人は次の項目に進みます)。

まず、「RubyInstaller」にアクセスしてRubyをインストールしてください。

インストールが完了したら、次に「homebrew」を最新状態にするため、下記の記述をします。

  1. brew update
  2. brew upgrade

次に下記を入力してください。

  1. brew install rbenv
  2. brew install ruby-build

これで「rbenv」と「ruby-build」がインストールされました。

  1. echo ‘eval “$(rbenv init -)”‘ >> .bash_profile
  2. source ~/.bash_profile
  3. rbenv rehash

上の記述をして「bash_profile」に「rbenv」を登録しましょう。

続いて「readline」「openssl」のインストールです。

ここまで来てようやく、Rubyをインストールしましょう。

  1. CONFIGURE_OPTS=”–with-readline-dir=/usr/local –with-openssl-dir=/usr/local” rbenv install {バージョン}.0p247

インストールができたら、「rbenv versions」と入力してRubyのバージョンを確認します。

そして、使用するRubyを指定しましょう。

  1. rbenv global {バージョン}.0p247
  2. rbenv rehash

最後に、もう一度インストールしたRubyのバージョンの確認です。

  1. rbenv versions

ここまでできて、ようやくRubyのインストールは完了しました。

つづいてSinatraのインストールです。


Sinatraをインストールする

Windowsユーザーはコマンドプロントを起動、Macユーザーはターミナルを起動します。

そして、下記の記述をおこなってください。

  1. gem install sinatra
  2. gem install sinatra-reloader
  3. rbenv rehash

これでSinatraのインストールは完了です。


Sinatraの基本的な使い方①ファイルを作成する

Sinatraを使うためにまずしなければならないのは、「ファイル」作成です。

Windowsユーザーはメモ帳などに、MacユーザーはXcodeなどを使ってファイルを作成しましょう。

ファイル名は「●●(好きな英数字).rb」で作成します。

拡張子が「.rb」になっていれば、どんな名前のファイルにしても構いません。


Sinatraの基本的な使い方②Webページに文字を表示

「Sinatraの基本的な使い方①ファイルを作成する」で作ったファイルを使い、Webページに文字を表示させてみましょう。

  1. require ‘sinatra’
  2. require ‘sinatra/reloader’
  3. get ‘/’ do #命令
  4. “toiro” #テキストを記述
  5. end

これを入力したら、コマンドプロントもしくはターミナルで「●●.rb」が存在する場所にChange Directoryをします。

なお、上記で記述した「/」は、「/」というURLにアクセスした場合、入力した文字列(上記なら「toiro」)を表示しますという意味があります。

次に、プログラムを動作させるためのコマンドを記述しましょう。

  1. ruby ●●.rb

これはローカルサーバーを起動させるための記述です。

自動的にインストール済みのWebアプリケーションサーバーが立ち上がります。

もしWebアプリケーションサーバーをインストールしていない場合は、「WEBBrick」が開きます。

実際にブラウザで先ほど記述したコードがどのように表示されるのか見てみましょう。

確認するためのURLは「http://localhost:4567/」です。


まとめ

以上、Sinatraについてご紹介しました。

小規模Webアプリケーション開発に着手したい人にはうってつけのフレームワークだということがおわかり頂けたでしょうか。

良い意味で、Ruby=Railsという方程式を崩してくれるSinatra

Ruby初心者は、まずSinatraから触ってみることをおすすめします。

軽快な動きとコード記述の簡単さは見逃せません。

当記事を読んで少しでも「Sinatraを触ってみたい」という気持ちが芽生えた(強くなった)人はぜひ、Sinatraをインストールしてみてください。