システム開発において用いられるプログラミング言語の中でも長い歴史を持つPerlには数多くのフレームワークが存在しております。代表的な『Mojolicios』や『Catalyst』は有名ですが、それ以外にも優秀なフレームワークが存在することをご存知でしょうか。中には日本製のフレームワークも存在しており、興味を惹くものも多々あります。Perlのプログラマーとして活動するには人気を集める代表的なフレームワークついては把握をしておきたいものです。この記事ではPerlにおけるフレームワーク人気どころ6選をそれぞれの特徴を踏まえてご紹介させて頂きます。
『Perlにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
PerlフレームワークとはPerlにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Perlフレームワークの代表的な種類としてMojolicios、Catalyst、Dancerなどが挙げられます。
フレームワークの特徴について解説された記事はこちら>>
Perlとはラリー・ウォール氏によって1987年に開発された主にサーバサイド言語として使用されるプログラミング言語です。Perlはプログラミング言語の中でも汎用スクリプト言語に分類されます。Perlという名称には「Practical Extraction and Report Language」翻訳すると”実用的な抽出とレポート言語”という意味が込められております。特徴として『歴史あるスクリプト言語』『テキスト処理が優れている』などが挙げられます。
JavaやPHPなど数々の人気のスクリプト言語が登場しておりますがPerlはこの中でも長い歴史を持ちます。またテキスト処理(文字列処理機能)が優れており、組み合わせるだけで簡単に効率よく実装をすることが出来ます。Perlは機能性、拡張性、記述など総合な観点で高い評価をされておりバランスの取れた言語として人気を集めております。
Perlの特徴・メリットについて解説された記事はこちら>>
Perlによるシステム開発に用いられる代表的なフレームワークを6つ紹介させていただきます。
Mojolicios(モジョリス)とはPerlに活用されるセバスチャン・リーデル氏によって開発されたリアルタイムWebアプリケーションフレームワークです。2008年9月に誕生し、2020年6月時点で最新版はバージョン8まで更新されております。MojoliciousはリアルタイムWebフレームワークであり、WebSocketを使用する新しいクラスのWebアプリケーションを可能にし、ブロックせずに長時間のリクエストを実行できます。またMojoliciousはPerlの標準モジュール以外に依存するモジュールは基本的にありません。そのためMojolicious自身のインストールにつまずくことなく簡単にインストールできます。
Catalyst(カタリスト)とはPerlに活用されるセバスチャン・リーデル氏によって開発されたWebアプリケーションフレームワークです。セバスチャン・リーデル氏はCatalyst以外にもPerl向けのリアルタイムWebアプリケーションフレームワークである『Mojolicios』の生みの親でもあります。
Catalystは2012年に誕生して以降、度重なるアップデートを繰り返し常に最新の環境で使いやすいと親しまれております。MVCモデルを採用しており、役割に応じて実装することで効率的に開発を行うことが出来ます。またCatalystでは開発やテストのためにCatalystは、組み込みの簡易HTTPサーバがあります。
『Ruby on Rails』『Spring』など人気のフレームワークの影響を受けております。Ruby on Railsと同等の機能を用意していることから「Perl on Rails」と呼ばれることもあるようです。
Dancer(ダンサー)とはPerlに活用されるアレクシス・スクリー氏によって開発されたWebアプリケーションフレームワークです。2009年7月にRuby向けのフレームワークである『Sinatra』から移植して作成されました。Dancerという名の通り、そのキャッチコピーは「簡単に直感的に、そして踊りましょう」です。
特徴として『シンプル』で直感的かつミニマリストで非常に表現力豊かな構文を描けることや『高い柔軟性』でPSGIサポート、プラグイン、モジュール設計により、強力なスケーラビリティを実現します。モジュールへの依存性が低く、構文をシンプルに実現出来るように設計されているためメンテナンスが行いやすいです。また豊富な選択肢を用意するテンプレート・エンジンも好評の理由の一つです。
Ark(アーク)とはPerlに活用される面白法人カヤックの村瀬 大輔氏によって開発されたWebアプリケーションフレームワークです。Perlの標準フレームワークとして重宝されているCatalystの影響を強く受けて開発されました。そのためCatalystの機能をそのまま引き継いでいる点も多々見られます。
Arkの特徴として『Catalystに似たインターフェース/機能』『CGI/FCGI/mod_perlなどさまざまな環境で実用的に動作』などが挙げられます。また日本人プログラマーによって作成されたため、日本語ドキュメントが充実していることもあり非常に使いやすいです。Catalystを用いた開発経験の有る方は戸惑うこと無く使用できるでしょう。
TripletaiL(トリプルテイル)とはPerlに活用される日本製のWebアプリケーションフレームワークです。TripletaiLというその名の由来は『安全性』『生産性』『保守性』の三つの要素を重視していることから、三つの尾を意味しており名付けられました。Ark(アーク)と同様に日本製のフレームワークであることから、日本語ドキュメントが充実していることもあり非常に使いやすいです。日本語文字コードへの自動対応も兼ね備えております。
フォーム・メール・テンプレートなどの文字コード判別・変換を自動で行ってくれるのは助かりますよね。その他の特徴として『流儀を憶えるのが簡単』『継承が不要』『ファイルをたくさん作らなくて良い』などが挙げられます。
Amon2(アモンツー)とはPerlに活用される徳永広夢氏を中心に開発されたWebアプリケーションフレームワークです。Amon2の特徴として超軽量級であることからページが少ない簡単なアプリケーションを開発することに向いております。またとてもシンプルな構造で初心者の方にも使いやすいという特徴があります。
Perlにおけるフレームワーク人気どころ6選をそれぞれの特徴を踏まえてご紹介させて頂きました。Perlフレームワークを一言で表すと『Perlにおけるシステム開発を簡単に行えるように用意された枠組みのこと』です。皆さんの既にご存知のフレームワークや新たな発見は有りましたでしょうか。こちらでご紹介させて頂いた代表的なフレームワークの理解を深めて置くことで関わることの出来るシステム開発の幅も広がることでしょう。