ScalatraはScalaに活用されるオープンソースのWebマイクロフレームワークです。Rubu向けフレームワーク「Sinatra」をモデルに開発されたことで知られております。この記事ではScalatraを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
Scalatraとはシンプルで簡単をテーマに開発されたWebマイクロフレームワークです。ScalatraはJVMのパワーとScalaの美しさと簡潔さを組み合わせ、高性能のWebサイトとAPIをすばやく構築が可能です。名称からも分かるようにRuby用のフレームワークであるSinatraをモデルに開発されました。
Scalaとはスイス連邦工科大学のマーティン・オーダスキー氏によって2001年に設計されたJavaに影響を受けたオブジェクト指向と関数型言語の特徴を統合したプログラミング言語です。世に公開がされたのは2004年始めの頃でJavaプラットフォームにリリースされました。ScalaはJVM上で動作するため、Javaのライブラリを不自由なく使えるという特徴があります。
他にも.NET Framework上でも動作するため、同様に.NETライブラリも使用することが出来ます。(※.NETサポートは2012年に中止)2003年に誕生した比較的新しいプログラミング言語ですが、2019年に『GitHubPullRequest』によって発表されたプログラミング言語使用率ランキングによると第12位を記録するほどの人気度が伺えました。日本国内でも様々な有名サービスがScalaを用いた開発を行っており、代表的なものとして『SmartNews』『Chatwork』などが挙げられます。
『Scalaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
ScalaフレームワークとはScalaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Scalaフレームワークの代表的な種類として『PlayFramework』『Finatra』『Skinny Framework』などが挙げられます。
Scalaフレームワーク人気どころ6選ついて解説された記事はこちら>>
Scalatraの読み方は『スカラトラ』です。名前の由来はRubyフレームワーク の「Sinatra(シナトラ)」をモデルに開発されたことから「Scala(スカラ)」×「Sinatra(シナトラ)」を組み合わせて『Scalatra(スカラトラ)』となったといわれております。
ScalatraはRubyフレームワーク 「Sinatra(シナトラ)」をモデルに開発され、シンプルでアクセスしやすいWebマイクロフレームワークとして2009年にリリースされました。公式サイトでは2012年よりバージョンアップリリース記録が詳細に記されております。
登場以来度重なるアップデートを繰り返し2020年10月現在の最新バージョンは『Scalatra2.7』となっております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2009年4月 | Scalatra 初版リリース |
2012年8月 | Scalatra 2.1.0リリース |
2013年2月月 | Scalatra 2.2.0リリース |
2014年6月 | Scalatra 2.3.0リリース |
2015年12月 | Scalatra 2.4.0リリース |
2016年11月 | Scalatra 2.5.0リリース |
2017年11月 | Scalatra 2.6.0リリース |
2019年2月 | Scalatra 2.6.5リリース |
2020年3月 | Scalatra 2.7.0リリース |
Scalatraの特徴を見ていきましょう。
Scalatraはマイクロフレームワークという特徴があります。軽量で機能を最小限に抑えていることから他のフレームワークに比べて動きがとても軽いです。
Scalatraは自由なカスタマイズが可能という特徴があります。データモデル、テンプレート、ユニットと統合のテスト、非同期リクエストの処理、サーバープッシュなど、必要なライブラリを簡単に追加することできます。
ScalatraはSinatraをモデルに開発されたという特徴があります。
Sinatraの歴史、特徴、基礎知識などについて解説された記事はこちら>>
Scalatra以外のScalaによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
FinatraとはTwitter社によって開発されたFinagleとTwitterServerの上にAPIサービスを簡単に構築するためのフレームワークです。Rubyのフレームワークである『Sinatra』をモデルに開発されており軽量Webフレームワークとなっております。高速でテスト可能であり、Twitter自社のサービスにも使われていることからScalaフレームワークとして高い注目を集めております。
Skinny FrameworkとはSkinny Micro上に構築されたフルスタックWebアプリフレームワークです。Skinny(スキニー)と略称して呼ばれることが一般的でScala on Railsがコンセプトとなっております。それからも分かる通り、Ruby on Railsに強く影響を受けておりサーブレットベースのWebアプリ開発の持続可能な生産性を実現するために最適化されています。
Skinny Frameworkの公式サイトはこちら>>
Skinny Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>
Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。
Play Frameworkの公式サイトはこちら>>
Play Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>
Scalatraを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Scalatraを一言で表すと『Sinatraをモデルに開発されたWebマイクロフレームワーク』です。Scalatraはマイクロフレームワーク以外にも「自由なカスタマイズが可能」などの特徴が挙げられます。Scalatraについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。