SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

フレームワーク導入に備え身に着けておきたい4つの習慣
~Ruby/Perl/PHPユーザーのためのMVCフレームワーク入門~

第4回

3.個人で学習する

さまざまなフレームワークを使ってみる

 これまで紹介してきたフレームワークは、どれもインストールが簡単です。また、動作の確認や検証が可能な、個人レベルのレンタルサーバーなども多数あります。それぞれのフレームワークの公式サイトで公開されているチュートリアルなどを参考にして、初歩的な機能からチェックしていきましょう。まずは、いじり倒してみるのがフレームワーク理解への近道です。

 技術力の高い方はそうでもないと思いますが、私は新しい言語を学習する場合、お決まりのhello worldプログラムを作成したあとに毎回、『で? なに?』という腑に落ちない気持ちになります。この仕組みを利用して一体何ができるのか、全然イメージできないことが多々あります。皆さんはどうでしょうか?

 上から下へソースコードを追って行くだけでは、なかなか全体像が掴めません。私は実際にどんな動きをするのか、具体的なイメージとしてプログラムを捉えられないと、納得しながら進んでいけない性格のため、記述されている内容を図形と記号を使用して鉛筆で書き出し整理することで、全体の仕組みを理解していくことが多いです。

 最近のフレームワークの多くは全体像を掴めるように、サンドボックスと呼ばれる練習用のページが準備されています。とりあえず機能全体をいじってみて、[全体→詳細]へと理解する内容を絞りこんでいくことをおすすめします。

Webサービスのトレンドをチェックする

 さまざまなWebサービスを利用してみることも重要です。『今後どのような要求がプログラマに発生するのか』を想定し、現状の構築方法の見直しを行うことができます。

 Webサービスから垣間見える変化の1つに、UI技術の変化が挙げられます。現状、さまざまなWebサービスを眺めてみると、本稿で触れてきたように、RIAの技術が各所で採用されています。自ずと、それらの開発も担う可能性があることも見えてくるでしょう。また、マッシュアップサービスでは柔軟な設計が要求されることが分かります。

 GoogleReaderはてなブックマークdeliciousなど気軽に必要な情報を収集できるサービスが多くあります。また、さまざまなフォーラムに参加し、コンシューマ系・エンタープライズ系のベンダーや、デザイナーなどさまざまな立場からの意見を聴講することで、Webサービスの今後の方向性を肌で感じることもお勧めです。日常的にアンテナを張り巡らすように心がけることで、Web全体の方向性を分析できます。技術情報を収集し、積極的にトレンドをチェックしましょう。

4.使い勝手を向上させる

 フレームワークのベースとなる機能に、今までの開発で既に使用してきたライブラリや汎用クラス・関数部分を利用することで、効率化につながることもあります。また、作業工数を減らすため、部分的に既存の案件で使用実績のあるライブラリなどを組み込むという手法も考えられるでしょう。

 ただ、気をつけなくてはいけないのは、近年のWebフレームワークは「設定よりも規約」という基本理念が示すとおり、さまざまな規約によってソースコードの整合性や保守性を管理している点です。

 選択したフレームワークへの理解が中途半端な状態でカスタマイズを試みると、思わぬトラブルにぶつかる場合もあります。フレームワークは、実装規模の差はあれども、大量のソースコードを使用しています。十分に調査・分析ができていない状態で構築を進めることは危険です。「急がば回れ」で多少時間をかけてもきちんと技術情報を調べ、事例のある拡張方法を探すことをお勧めします。

 各言語においてポピュラーなフレームワークを選定したのであれば、該当のフレームをベースとしたオープンソースのCMSプロジェクトも多く存在しています。それらのソースコードを解析して、カスタマイズの参考にするのも良いでしょう。

 例えば、PHPのフレームワーク「Mojavi」とオープンソースのSNSエンジン「OpenPNE」はよく似た記述方法になっています。OpenPNEの場合、実際にサーバーにインストールし、ブラウザ上の操作や管理方法を見れるため、それらと比較しながらソースコードを追うことができます。実際の動作を見ながらフレームワークの構造理解を進め、拡張性について見当することは有効な手段の1つです。

最後に

 フレームワークを使用したWebアプリケーション開発は、もはや当たり前になってきています。どのフレームワークが優れているとは一概には言えませんが、自身の開発状況とトレンドに対して総合的な分析を行い、最適なフレームワークを導入しましょう。

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Ruby/Perl/PHPユーザーのためのMVCフレームワーク入門連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3639 2009/04/16 14:00

イベント

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

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

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

メールバックナンバー