案件評判
Finatra理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

Finatra理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

最終更新:2021/08/23 投稿:2020/12/23
Finatra理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

FinatraはScalaに活用されるFinagleとTwitterServerの上にAPIサービスを簡単に構築するためのマイクロフレームワークです。Twitter社によって開発されRubu向けフレームワーク「Sinatra」をモデルに開発されたことで知られております。この記事ではFinatraを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。

Finatra

FinatraとはTwitter社によって開発されたFinagleとTwitterServerの上にAPIサービスを簡単に構築するためのフレームワークです。Rubyのフレームワークである『Sinatra』をモデルに開発されており軽量Webフレームワークとなっております。高速でテスト可能であり、Twitter自社のサービスにも使われていることからScalaフレームワークとして高い注目を集めております。

『Finatraとは』
▼正式名称
Finatra(フィナトラ)
▼特徴
・Sinatraをモデルに誕生
・高速でテスト可能
・強力な機能と統合テストのサポート
▼開発元
Twitter社

Finatraの公式サイトはこちら>>

Scalaとは

Scalaとはスイス連邦工科大学のマーティン・オーダスキー氏によって2001年に設計されたJavaに影響を受けたオブジェクト指向と関数型言語の特徴を統合したプログラミング言語です。世に公開がされたのは2004年始めの頃でJavaプラットフォームにリリースされました。ScalaはJVM上で動作するため、Javaのライブラリを不自由なく使えるという特徴があります。
他にも.NET Framework上でも動作するため、同様に.NETライブラリも使用することが出来ます。(※.NETサポートは2012年に中止)2003年に誕生した比較的新しいプログラミング言語ですが、2019年に『GitHubPullRequest』によって発表されたプログラミング言語使用率ランキングによると第12位を記録するほどの人気度が伺えました。
日本国内でも様々な有名サービスがScalaを用いた開発を行っており、代表的なものとして『SmartNews』『Chatwork』などが挙げられます。

『Scalaの基本情報』
誕生時期:2003年
開発者:ロバート・グリーセマー氏等
特徴:①オブジェクト指向/②関数型言語

Scalaのメリット・基礎知識について解説された記事はこちら>>

Scalaフレームワークとは

『Scalaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
ScalaフレームワークとはScalaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Scalaフレームワークの代表的な種類として『PlayFramework』『Finatra』『Skinny Framework』などが挙げられます。

Scalaフレームワーク人気どころ6選ついて解説された記事はこちら>>

Finatraの読み方・名前の由来

Finatraの読み方は『フィナトラ』です。名前の由来はRubyフレームワーク の「Sinatra(シナトラ)」をモデルに開発されたことから「Finagle(フィナグレ)」×「Sinatra(シナトラ)」を組み合わせて『Finatra(フィナトラ)』となったといわれております。

『Finagleとは』
FinagleはTwitter社が開発したOSSのRPCシステム

Finatraの歴史

FinatraはTwitter社によってRubyフレームワーク 「Sinatra(シナトラ)」をモデルに開発され、FinagleとTwitterServerの上にAPIサービスを簡単に構築するためのフレームワークとして2013年にリリースされました。2013年よりバージョンアップリリース記録が詳細に記されております。登場以来度重なるアップデートを繰り返し2020年10月現在の最新バージョンは『Finatra20.10.0』となっております。簡単に以下の年表にまとめておりますのでご覧ください。

年代 内容
2013年 Finatra 初版リリース
2017年 Finatra 17.10.0リリース
2018年 Finatra 18.1.0リリース
2019年 Finatra 19.1.0リリース
2020年 Finatra 20.1.0リリース

Finatraの特徴

Finatraの特徴を見ていきましょう。

マイクロフレームワーク

Finatraはマイクロフレームワークという特徴があります。軽量で機能を最小限に抑えていることから他のフレームワークに比べて動きがとても軽いです。

『マイクロフレームワークとは』
マイクロフレームワークとはWebアプリケーションフレームワークの分類の一つで、中でも軽量で必要最低限の機能を取り揃えたものを指します。マイクロフレームワークのことを別名『軽量フレームワーク』と呼びます。

マイクロフレームワークの特徴、種類などについて解説された記事はこちら>>

テストに関する機能が豊富

Finatraはテストに関する機能が豊富という特徴があります。高速でテスト可能で統合テストのサポートも充実しております。

Sinatraをモデルに開発された

FinatraはSinatraをモデルに開発されたという特徴があります。

Sinatraの歴史、特徴、基礎知識などについて解説された記事はこちら>>

その他のScalaフレームワーク

Finatra以外のScalaによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。

Scalatra

Scalatraとはシンプルで簡単をテーマに開発されたWebマイクロフレームワークです。ScalatraはJVMのパワーとScalaの美しさと簡潔さを組み合わせ、高性能のWebサイトとAPIをすばやく構築が可能です。名称からも分かるようにRuby用のフレームワークであるSinatraをモデルに開発されました。

『Scalatraとは』
▼正式名称
Scalatra(スカラトラ)
▼特徴
・シンプルで簡単
・小規模な開発に向いている
・軽量で高いパフォーマンス
▼開発元
不明

Scalatraの公式サイトはこちら>>
Scalatraの歴史や特徴、基礎知識について解説された記事はこちら>>

Skinny Framework

Skinny FrameworkとはSkinny Micro上に構築されたフルスタックWebアプリフレームワークです。Skinny(スキニー)と略称して呼ばれることが一般的でScala on Railsがコンセプトとなっております。それからも分かる通り、Ruby on Railsに強く影響を受けておりサーブレットベースのWebアプリ開発の持続可能な生産性を実現するために最適化されています。

『Skinny Frameworkとは』
▼正式名称
Skinny Framework(スキニーフレームワーク)
▼特徴
・フルスタックなWebフレームワーク
・Ruby on Railsをモデルに誕生
・環境設定が手軽
▼開発元
不明

Skinny Frameworkの公式サイトはこちら>>
Skinny Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>

Play Framework

Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。

『PlayFrameworkとは』
▼正式名称
Play Framework(プレイ・フレームワーク)
▼起源
2007年
▼開発元
ギヨーム・ボルト(Guillaume Bort)氏
(Zenexity社)

Play Frameworkの公式サイトはこちら>>
Play Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>

まとめ

Finatraを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Finatraを一言で表すと『Sinatraをモデルに開発されたWebマイクロフレームワーク』です。Finatraはマイクロフレームワーク以外にも「テストに関する機能が豊富」などの特徴が挙げられます。Finatraについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。