SinatraはRubyに活用されるオープンソースWebアプリケーションフレームワークです。
初心者でも簡単に扱える軽量なフレームワークとして人気を集めていることもさることながら、世界的にも名だたる企業や団体に採用されておりRubyフレームワークの中でも高い人気を集めております。この記事ではSinatraを理解するために初心者でも分かる歴史、メリット、基礎知識などを簡単に解説していきます。
SinatraとはRubyに活用されるブレイク・ミゼラニー(Blake Mizerany)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2007年に誕生し『最小限の労力でRubyでWebアプリケーションをすばやく作成するためのDSL』を掲げております。特徴として軽量フレームワークと言われており、提供している機能が必要最低限で小規模なウェブサイトの構築に向いております。またRuby on Railsとは対となる考え方で作成されているというのも特徴の一つです。Sinatraは世界的にも名だたる企業や団体に採用されており代表的なところではアップルBBC、LinkedeIn、スタンフォード大学、RedHatなどが挙げられます。
Rubyとはまつもとゆきひろ氏によって1995年に開発されたオープンソースでオブジェクト指向のプログラミング言語です。日本人プログラマーのよって開発された言語として初めて国際電気標準会議(IEC)で国際規格に認証されました。2018年には米国において最も稼げる言語はRubyと言われるほど国内外問わず世界的にも注目を集めております。
Rubyというその名称には『Perl(パール)に続ぐ』という意味が込められており6月宝石であるPerlの次月(7月)宝石のRuby(ルビー)という名称を採用することになりました。Rubyの特徴は記述量が少なく、自由度が高い、そして何より『書くことが楽しい』と多くのプログラマーの方が口を揃えております。RubyはWebアプリケーションの開発に最も向いており代表的な開発事例としてGunosy、食べログ、価格.comなどが挙げられます。
『Rubyにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
RubyフレームワークとはRubyにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Rubyフレームワークの代表的な種類としてRuby on Rails、Hanami、Sinatraなどが挙げられます。
Sinatraの読み方は『シナトラ』です。名前の由来は調査したところ出てきませんでしたが、Sinatraの公式Twitterアカウントで米国の映画俳優「フランク・シナトラ」の画像を使用されることが幾度かあり、彼の名前が由来している可能性があります。実際にロゴマークの「ハット」もフランク・シナトラ氏のトレードマークでもあることからこの説は有力ではないかと考えられます。
Sinatraは2007年にブレイク・ミゼラニー(Blake Mizerany)氏の開発によって誕生しました。バージョンアップについて簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2007年 | Sinatra 初版リリース |
2010年3月 | Sinatra 1.0 リリース |
2017年5月 | Sinatra 2.0 リリース |
2020年9月 | Sinatra 2.1.0 リリース |
Sinatraのメリットを見ていきましょう。
Sinatraは軽量で小規模アプリに向いているというメリットがあります。必要最低限で小規模なウェブサイトの構築でき、たった5行のコードで簡単なWebサービスを成立させることができます。
Sinatraは初心者でも簡単に扱えるというメリットがあります。その理由として直感的にプログラムが記述できるということが挙げられます。Rubyプログラミング初心者が最初にフレームワークとしてもおすすめです。
Sinatraはドキュメントが豊富というメリットがあります。公式サイトは日本語だけでなく他にも複数各国の翻訳対応が実施されております。またTwitterなどでも公式アカウントによって定期的に情報発信が行われているため、バージョンアップや仕様変更の予告・フィードバックなどタイムリーに情報を仕入れることができます。
Sinatra以外のRubyによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
Ruby on RailsとはRubyに活用されるデビッド・ハイネマイヤー・ハンソン(David Heinemeier Hansson)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2004年7月に誕生し、基本理念を『同じことを繰り返さない』と掲げております。特徴としては基本理念の名の下同じソースコードを何度も記述しなくて良い効率よく実装するための仕様となっております。さらにデータベースを直感的に操作ができる機能が提供されており好評を集めております。Ruby on Railsの概念を参考に誕生したその他言語のフレームワークも多く存在しCakePHPもその一つとなっております。
Ruby on Railsの公式サイトはこちら>>
Ruby on Railsの歴史やできること、基礎知識について解説された記事はこちら>>
HanamiとはRubyに活用されるルカ・ギティ(Luca Guidi)氏によって開発されたWebアプリケーションフレームワークです。2017年4月に誕生をしMVCモデルを採用しております。以前は『Lotus』という名称を使っておりましたが、IBM社のソフトウェアブランドと被ってしまったことが理由となり現在の『Hanami』へと変更されました。特徴としてはレスポンスの速さ、メモリの消費を最小限に抑えるなどが挙げられます。
RamazeとはRubyに活用されるマイケル・フェリンガー(Michael Felinger)氏によって開発されたオープンソースWebアプリケーションフレームワークです。Ramazeは非常にシンプルで分かりやすいフレームワークで特徴としてはRubyの文法を忠実に使用しているということが挙げられます。また『KISS』と『POLS』というそれぞれの原則の組み合わせを取り入れております。シンプルでかつ自由度が高いフレームワークとして親しまれております。
Sinatraを理解するために初心者でも分かる歴史、メリット、基礎知識などを簡単に解説させていただきました。Sinatraを一言で表すと『最小限の労力でRubyでWebアプリケーションをすばやく作成するためフレームワーク』です。Sinatraには「軽量で小規模アプリに向いている」「初心者でも簡単」「ドキュメントが豊富」といったメリットが挙げられます。Sinatraについてこの記事に記載されている最低限の内容は理解しておくようにしましょう。