フレームワーク導入のメリット・デメリットについて


フレームワークとは、アプリケーションを開発する際に土台として導入し、決められた枠組みに沿って記述していけば、そのフレームワークに備わった機能が実現できる、と言うものだ。

プログラミングやWeb制作に置いてフレームワークを導入したいと思った時、共同で作業する仕事の場合、同僚や上司、あるいは顧客などの関係者を説得する必要がある。その場合に以下のようなことを言えば納得してもらえるかもしれない。例としてcssのフレームワークbootstrapを導入する場合のメリット・デメリットを考えてみる。

メリット1. 自分で1から作らなくて良い

フレームワーク導入する一番の目的と言える。フレームワーク内にすでに備わっている機能であれば、自分で用意する必要がない。

例えば、bootstrapはcssのフレームワークで、導入すればウェブアプリケーションでよく使われるボタンやアラートなどのデザインは用意されており、それを使えば自分でcssを書く必要がない。または改変する必要があっても一部だけで済む。

アプリケーションの開発をしている時に、ここにちょっとアラートが欲しいんだけど、と言う場面はよくある。しかしそういう要素か出てくる度にcssを記載していたら大変だ。フォントのサイズはどれくらいにするか?色は?余白は?いちいち考えて記載しなければならない。

bootstrapには最初から、「一般的に視認しやすいとされている大きさ、色、余白」で用意されている。HTML要素にクラスを適用するだけでそれが適用できるわけだ。

顧客や上司にアプリケーションのデモを行うと「ここのアラート、少し見にくいんじゃない?」と言う非常に主観的な指摘が入ることがある。そのような場合に、自分の感覚でcssを書いていると反論できないが、「bootstrapでは一般的に見やすいとされているサイズや色になっています」と答えれば納得してくれることも多い。

メリット2. 共同作業がしやすい

フレームワークを導入する場合、そのフレームワークで決められている作法や手順に従って開発していくことになる。共同で開発する場合、他に人も同じようにルールに沿って記載してくれるので、他の人のコードを見た時に理解が早い。

例えば、bootstrapを使っていない場合、他の人書いたコードを見た時に、謎のクラスが当たっていて、そのクラスにはどのようなcssが書かれているのか、いちいち調べなければ分からない。そこでbootstrapを導入し、例えば<button class=“btn btn-sm btn-primary”>と記載されていればスモールサイズのボタンであることがすぐにわかる。

なんだかbootstrapの宣伝のようになってしまった。ここまでメリットばかり見てきたが、フレームワークの導入は良いことばかりではなく、デメリットももちろんある。次回はそちらについて考えたいと思う。


Programming Blog