SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Ruby/Perl/PHPユーザーのためのMVCフレームワーク入門

言語別フレームワークの比較
~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~

第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

開発環境に合わせたフレームワークの選定を

 これまでの比較から分かるように、どの言語においてもWeb開発における「必要十分な機能を内包しているもの」と、「必要最低限の機能を提供するもの」があるということが分かると思います。以下にそれぞれのメリット・デメリットを表します。

フレームワークの種類による比較
フレームワークの種類 メリット・デメリット
必要十分な機能を持つもの すべての処理が1つの仕組みを用いて完結できる反面、膨大なソースの理解とサーバー負荷といった問題に直面することがありうる
必要最低限の機能を持つもの 軽量なうえにソースコードの学習にそれほど時間を要さないが、単体でWebに必要な機能を実装するには外部ライブラリの使用を検討したり、自分達で機能の拡張を行う必要も発生する可能性がある

 RubyにおけるWaves、PHPにおけるCake PHP、PerlにおけるMojoなどは、上記のメリットとデメリットを解決するべく開発されたフレームワークで、豊富な機能を実装しつつも軽量で開発者が導入しやすいような仕組みを模索しています。

 いずれにせよ、フレームワークの選定は現状の開発工程を見直して「どんなフレームワークが必要なのか」を考えていく必要があります。既存のリソースを利用して効率を上げたいのであれば、できるだけシンプルなフレームワークを採用しカスタマイズしていくことができますし、標準装備された豊富な機能を使用して効率化を図りたいのであれば、学習時間を十分にとって流れるような開発を行うことも可能です。

 では、フレームワークの導入が難しい場合、開発効率を上げ、Web開発におけるスムーズなやり取りを行うにはどんな手段が考えられるでしょうか? ロジックとデザイン、HTMLの分離を行うことができれば、デザイン上の修正があった場合、開発者は改修を行う必要がなく負荷をかなり軽減できます。

 このような仕組みを実現するための方法の1つとして、「テンプレートエンジン」の採用があります。本稿で取り上げるテンプレートエンジンとは、HTMLなどで作成されたページの構成要素をテンプレートと呼ばれる雛形に記述することで、ロジック部分をデザイン部分から切り離して管理できる仕組みを提供するライブラリを指しています。

 次項では、PHP/Ruby/Perlの3言語で構築する際によく使われるテンプレートエンジンの比較を行っていきます。

次のページ
Rubyテンプレートエンジンの比較

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Ruby/Perl/PHPユーザーのためのMVCフレームワーク入門連載記事一覧

もっと読む

この記事の著者

伊藤 敦史(イトウ アツシ)

株式会社クリエイティブホープ システムエンジニア1978年生まれ 新潟県出身20代の早い段階から、インタラクティブアートに興味を持ち個人的に創作活動を行う。その後、プログラマーとして活動を始め大手ポータルサイト運営企業で設計、構築を経験後、現職へ。趣味は落語を見に行くこと。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3341 2008/12/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング