近況とWAF[Catalyst]を使用したWeb開発課題につきまして
久しぶりの更新です。最近の生活やライフスタイルの変化として、昨年に「合同会社」の法人から「個人事業主」に変更して開設して、これまで進めずに残してしまっていたプログラム改良やWebサイトのコンテンツ拡張など法人と異なり利益目的だけではなく、自分の考えや研究の側面からこれからの営業方針を定めることができるようになり、肩の荷がおりたように気持ちで事業を進めることができるようになりました。
さて最近の個人事業主としての営業方針として、プログラミングスキル向上は勿論、より実用的に、開発手法を可視化できるように「フレームワーク」を使用したWebコンテンツ開発に着目して、より体系的で実用的に開発手法を可視化していこうと考え、MVCモデルパターンのPerl言語での代表的なフレームワークである「Catalyst」を使用したモジュール開発を進めています。今回はこのフレームワークをご紹介して書かせて頂きます。
PerlとはPractical Extracition and Report Languageの頭文字をとったプログラミング言語で当初はレポート作成言語として開発されており、文字の処理能力に優れた開発言語です。Perlはインタプリタ言語で1986年にLarry WAll氏によって生まれたUNIX文化に色濃く移す言語であり、UNIXはもちろんWindows、マッキントッシュなど様々なOS上で動かすことができ、実用性と多様性を重視しており、CGI言語としての使用は勿論、ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられています。
さてここでご紹介するフレームワークとは基本テンプレートコードを呼びます。フレームワークを使った開発では開発方針や基本的なコードはフレームワーク部分によって事前に組まれているため、開発時間の短縮、開発生産性の向上につながります。またフレームワークによって構造の統一化が図られ、リリース後のカスタマイズも容易にできます。
今回、ご紹介するCatalystはWebアプリケーションを開発するためのWebアプリケーションフレームワーク(WAF)と呼ばれperl言語を使用したWebアプリケーション開発で代表的なフレームワークの一つとして知られています。このCatalystを選択した理由として比較的ドキュメントが豊富で解析が容易であったためこのフレームワークを選択しています。
なぜPerlのプログラミングスキルを伸ばしていこうと考えたのか。それは個人的な趣向です。情報業界の現況として現在AI開発などが主流となってきて、Python言語でGoogleライブラリを使用した開発が着目されているようで、興味はあるのですが、Perlの読みかけの書籍などが数書籍手元にあり今回はPerl言語開発をマスターしていきたいと思います。
以下、私が制作中のPerl言語やフレームワーク解析を進めて書かせていただいているドキュメントサイトです。参考程度。
▶ドキュメント制作サイト:Object Oriented Perl DocumentWorkSpace
このフレームワークは10年前から存在しておりますが度その利便性を考えると現在でもMVCパターンを使用したフレームワークは使用されています。今、解析を進めているのは[Catalyst]ですが、後々[dancers]など他の代表的なフレームワークの解析も進めていきたいと考えています。
実際このテンプレートコードを使用してみた感想は、前述のとおり基本的なコードが組まれていることで非常に使いやすく効率的にプログラミングを進めていけることができることは当然ですが、構造の単一化がしやすいことが特徴的だと感じました。このフレームワーク解析を進め更にドキュメントサイトの制作を進めていきながら、将来的な開発事業の課題として「可視化した開発手法」をテーマに解析を進めていきたいと考えています。
さて最後に余談ですが、先日母校の埼玉大学卒業生が経済和会の懇親会に出席してきました。そこで「ニュートリノ」で研究を進めノーベル物理学賞を受賞した梶田栄誉教授と出会い、ご一緒に記念撮影を撮らせていただきました。その分野で世界的にその実績と功績を認められた権威のある方にお会いし、「握手を取り交わして記念撮影」という人生で得ることがあるかどうかの機会を頂戴し、誠に感謝感激でした。
私もこの機会を糧にして更に自分なりにテーマをもって営利目的だけではなく、研究的な側面からも考慮して事業方針を定めていこうと決意した機会となりました。