最新2019年版!Perlフレームワークまとめ集

19/02/13 12:47:29     19/02/17 16:12:36

Perlのフレームワーク

Perlとよく似た文法構造で比較されることも多い言語にPythonとRubyがありますが、新規開発案件だけ見るとこれらの言語には差が出ていると言えます。具体的な案件数や求人数は各求人サイト等を見れば明白なのですが、3つのなかでPerlは縮小傾向にあります。

そのため、PythonやRubyは学習価値が高いが、Perlはそうではない、といったイメージを持っている方も多いでしょう。事実Perlで新規開発案件を探すのは難しいのです。

それでも既存のシステムはPerlで動いているものもあるため学習価値はあります。また他の言語との類似点も多いため、Perlで学んだことは無駄にはならないでしょう。

Perlで開発を進める際にも重要になるのがフレームワークです。既存のシステムを改修する場合フレームワークを新たに導入する必要はないかと思いますが、新規で開発する場合フレームワークは導入した方が良いです。

そこでこのページでは、Perl開発でおすすめのフレームワークを紹介します。

おすすめのPerlフレームワーク

Mojolicios

Mojoliciosは現在主流のWebアプリケーション開発で使われるフレームワークです。ステップ数の小さいものから大きいものまで対応しているため、個人開発でも複数人でのプロジェクト開発でも重宝されるフレームワークです。

フレームワーク自体もPerlで作られているため、Perlが使えるオペレーティングシステムで実行することが可能です。これに関しては、よくわからない場合スルーして問題ありません。

またフレームワークの機能でテスト実行することが可能で、たとえば総合開発環境を使用している場合どちらの機能を使ってテストしても問題ありません。インストールから実装までスムーズに作業しやすいので、Perl未経験の方から別のフレームワークで経験済みの方まで幅広い層におすすめできるフレームワークです。

Dancer

DancerはもともとRubyのフレームワークであるSinatraから移植して作られたものです。しかし現在はそこから独自の成長を遂げているため、Sinatraとは完全に別物です。Rubyの場合Ruby on Rails一強のため、あまり聞き馴染みのないSinatraからの移植だと微妙だな、と思われる方もいるかもしれませんが、独自成長を遂げているので利便性も高くなっているということです。

Dancerの強みはシンプルさで、どちらかというと小規模な開発に向いています。モジュールに依存せず最小限の構文で済むよう心掛けて設計されており、修正箇所がわかりやすくメンテナンスしやすいという特徴もあります。

Catalyst

Catalystはモジュールが特定されており、CPANに登録されたものとの連携が前提とされています。影響を受けているフレームワークとしてはRuby on Rails 、Maypole、 Springなどで、それぞれの言語で代表的なフレームワークになります。

なかでも特にRuby on Railsの影響は色濃く、そのためRuby経験者にとっては扱いやすいフレームワークと言えるでしょう。データベース層に関するコードが不要、MVCパターンを利用しているため役割に応じて実装するコンポーネントを分離し、効率良い開発が可能、といった特徴があります。

Amon2

Amon2は土台がシンプルで、そこから開発状況に合わせて拡張していけるという性質を持ちます。PSGI/Plackベースのフレームワークですが、これについてはよくわからない場合スルーで問題ありません。

小規模な開発ではなるべく拡張せずにシンプルなフレームワークとして利用する、大規模な開発では拡張機能をフル活用して利便性を高めていく、といった切り分けができます。またフレームワークのなかにJavaScriptのライブラリも豊富に含まれているため、フロントエンドの開発に特に便利です。

TripletaiL

TripletaiLは「安全性」「生産性」「保守性」の3つを重要視する設計です。3つの尾という意味の名前ですが、この3つの尾が上記3つになります。特徴としては、日本製フレームワークであるため日本語のマニュアルが多いという点が挙げられるでしょう。

拡張性等では取り立てて特徴はありませんが、3つの尾で挙げられている通り安心して使いやすいフレームワークなので、フレームワークに何か特別なものを求めているわけではなく、なるべく手書きで実装していきたい、もしくはライブラリを中心に活用していきたい、といった方におすすめのフレームワークです。

Ark

Arkは「面白法人カヤック」の元社員が在籍中に開発したWebフレームワークです。面白法人カヤックは新しいものに目を向けている企業であるため、技術的にもトレンドを押さえています。

そういった企業の元社員がPerlのフレームワークに目を向けたという点は意外なのではないでしょうか。Perlは終わった、もう需要はない、と言われることも多いのですが、Perlの将来性を感じるフレームワークでもあります。

また日本人が作ったフレームワークなので、日本語ドキュメントが充実している点も魅力です。ArkはCGIでも実用的に動作するCatalystを開発することを目標として設計されているため、Catalystの影響を強く受けています。開発効率化のために組み込みWebサーバが持たされています。

欠点としては、ドキュメントが前提となっており、直感的にモジュールやプラグインを追加拡張できる仕様ではありません。

Perlの魅力

以上、Perlのフレームワークについて紹介しました。Rubyのように特定のフレームワークが市場を牛耳っているわけではなく、複数のフレームワークが活用されています。Perlには需要がない、今後は伸びないと言われますが、Perlには言語的な魅力だけでなく、市場動向的にも魅力があります。

Perlは既存のシステムも多いため一定数の需要があり、なおかつエンジニア自体は減っている状況です。世代交代がうまくいっていない、人が足りない、といった状況が起こっています。

また、Perlを別の言語に書き換える案件も多いです。私の知っている事例だと、自社システムのPerlをJavaに書き換えてパッケージ販売しているそうです。そしてPerlを学習すれば他の言語に応用が利くため、仮にPerlの案件がなくなっても無駄になるわけではないのです。

Perlをプラスαと考える

Perlは自分の希少価値を高めるスキルになるので、Perlの学習メリットはむしろ大きいと言えるでしょう。もちろんPerlだけを学習するのは案件が減った際のリスクが大きいのですが、他のプログラミング言語と合わせてPerlを学習するのであれば、おすすめできるスキルセットです。

ちなみにPerlをJavaに書き換える案件というのは小売り用のシステムで、人工知能技術を利用して最適な受注量を自動で決定し、在庫の無駄をなくすようなシステムです。最新技術を業務に活かしていますが、ここでPerlが活躍しています。

Javaに書き換えられているのでPerlではなくなっているのですが、PerlもJavaも書けないと書き換えることはできません。

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する