• ベストアンサー

perlでのWEBアプリ開発について

勉強のためにperlでWEBアプリを開発しようと試みてます。 作成するWEBアプリは、DB(mysql)と連携し使用して家計簿アプリを作ろうと考えています。(10画面程度を想定) ざっくりとした仕様としてはメインにカレンダーを置き(日にち毎に収支を出力)、日毎のページで家計簿の項目の登録等を行う動作を考えています。多分外部には公開しませんが、ユーザ登録を行い、ユーザ管理についても実装したいです。 現状、サーバはlinuxにapacheを載せてper-CGIが動作する環境は作成でき、HTMLについてもページ毎に最低枠は作成済みの状態です。 使用するperlのモジュールについては、現状以下を考えています。 CGI(パラメータの譲与等) Templete-Toolkit(CGIと画面ソースの分離) DBI(DB接続用) Calendar(カレンダー作成用) Jcode(文字コード操作) Aapache::Session(ページのセッション管理) 以上を踏まえて質問なのですが、 (1)家計簿のアプリを想定して上記のモジュール以外に必要、または有ると便利と思われるモジュール等を教えて頂けないでしょうか。 (2)また、perlのフレームワーク(Catalyst、CGI::Application等)を使用するかも検討したのですが、個々のモジュールの役割だったりモジュールの勉強にもなるかと思い選びませんでした。使うべきかどうかについて(使えばここがこう簡単に出来る等)の意見を頂けますでしょうか。 よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Class::DBI は開発がほぼ止まっていますので、ORマッパーを利用するのでしたらDBIx::Classを使うべきです。 セッションに関しては、CGI::Session と言うモジュールもあります。こちらの方が伝統的なモジュールでメンテナンス状況もよさそうです。 フレームワークに関しては、CGI::ApplicationはCGIプログラムに求められるインタフェースだけを定義した程度のとても薄いフレームワークですので、使っても差し支えないと思います。Catalystに関してはCatalyst独自の知識を多く要求されますので、Perlそのものの勉強として使うのには向いてないかもしれません。

turubeelll
質問者

お礼

開発が止まっているというのであれば、CGI::Sessionを使用することにしました。 CGI::Applicationについては薄いフレームワークなのですね。 現状使用しない方向でやっていますので機会があれば触ってみたいと思います。 ありがとうございます。

その他の回答 (1)

回答No.1

DB接続には DBIx::Class http://search.cpan.org/~ribasushi/DBIx-Class-0.08012/lib/DBIx/Class.pm もしくは、 Class::DBI::mysql http://search.cpan.org/~tmtm/Class-DBI-mysql-1.00/lib/Class/DBI/mysql.pm を使った方が楽ですね。 perlのバージョンが分かりませんが、 現在は、Jcode -> Encode を使った方がよろしいかもしれません

turubeelll
質問者

お礼

早々な返信ありがとうございます。 Perlのバージョンは5.8.9です。 DBIモジュールについては見当させて頂きます。 Class::DBI::mysqlのモジュールは調べてみるとメジャーであるようですし、検討させて頂きます。Class::DBI系のモジュールが複数あるようなので検討してみます。 文字コードの変換についてはEncode.pmが標準で入っているようですし、そちらを使おうと思います。 参考になりました。ありがとうございました。

関連するQ&A