なぜ開発にフレームワークを使うのか MVCモデルとは
近年のWebアプリケーション開発では、何らかの特別な理由が無い限りフレームワークを使って開発を行う。
フレームワークとは、Webアプリケーションを簡単に開発できるようにする骨組みの事である。
フレームワークが提供する基盤に沿ってコードを加えていく事で、自然と一定の品質を持ったアプリを作り上げる事ができる。
フレームワークが、アプリの根幹となる設計方針や、基盤部分のコードを用意してくれているため、開発にかかる時間を大幅に削減する事ができる。
開発において、なぜフレームワークを使用するのか、導入の利点を紹介する。
開発生産性の向上
開発の基盤をフレームワークに委ねる事ができるため、生産性は大幅に向上する。
また、全ての開発者が、同じ枠組み(ルール)の中でコードを実装していく事を強制されるため、コードの一貫性が維持できる。
そのため、誰が書いても一定のルールに基づいた書き方となっているため、わかりやすい。
これは品質の均質化にも繋がる。
開発プロジェクトはチーム単位で進める事が多いため、大人数での開発には非常にメリットがある。
メンテナンス性に優れる
コードに一貫性があるという事は、可読性が高まるという事。問題が生じた場合や、仕様変更があった場合に該当箇所を特定しやすい。
また、同一のフレームワークが採用されていれば、アプリの統合があった際にも容易になるという利点もある。
技術トレンドに対応しやすい
技術の変動は凄まじいスピードで目まぐるしい。開発者にとってその全てをキャッチアップする事は困難だ。
しかし、フレームワークはそういった技術のトレンドを日夜取り入れており、フレームワークの活用によって先端技術に即応しやすくなる。
一定以上の品質が期待できる
フレームワークで作ったアプリは、自作のものと比べ信頼性が高い。
オープンソースで公開されているフレームワークは、様々な利用実績もあり、内部のコードも多くの人々の目に晒され、テストされている。
自分や周りの人々しか見ていないコードに比べると、その差は歴然。相対的に高い信頼性を期待できる。
フレームワーク導入のデメリット
フレームワークの導入にはデメリットもある。
フレームワークとは、言うなれば規約(ルール)の集合体。そのルールを理解するのはそれなりの学習コストがかかる。
プログラミング言語の学習を終えたとしても、フレームワークで開発するには、そのフレームワークでのプログラミング言語の使い方を学ばなければならない。
慣れるまでは、フレームワークの制約が窮屈に感じ、スピードが落ちる事もあるかもしれない。
そのため、短期間のプロジェクトで、フレームワーク経験が無い場合等は、フレームワークの導入をしない方がメリットが大きい場合もあるだろう。
多くのフレームワークが採用するMVCモデル
多くのフレームワークは「MVCモデル」というアーキテクチャを採用している。
「MVC」とは「Model」、「View」、「Controller」の略である。
Webの世界では、言語問わず「MVCモデル」を前提とした開発が一般的。
「MVCモデル」とは、アプリをModel(ビジネスロジック)、View(ユーザーインターフェイス)、Controller(ModelとViewの制御)という役割で明確に分割するという設計モデルの事だ。
それぞれの要素が分離されているため、下記のようなメリットが挙げられる。
プログラマーとデザイナーとが並行して作業をしやすい。
デザインとロジックのそれぞれの修正が相互に影響しない。
機能単位のテストを独立して実施できる。
フレームワークなしの開発は考えられない
フレームワークを導入する事によって受ける恩恵は大きく、今日のアプリ開発ではもはやフレームワークなしの開発は考えにくい。
学習コストの高さ故に、初めは苦労するが、どんな言語のどんなフレームワークを勉強したとしても、MVCモデルが基本理念であるため、考え方は応用が効く。
Javaは「spring」、PHPは「Laravel」、Rubyは「Ruby on Rails」など代表的なものがあるため、積極的にフレームワークを使用していって欲しい。
この記事へのコメントはありません。