東京都府中市、九段下のWEB制作会社Maromaroのブログです

2017.02.06

Sasaki

Webでよく聞くフレームワークって何だろう

こんにちは、Maromaro佐々木です。

早速ですが、フレームワークって聞いたことありませんか?

聞いたことがあるけど、なんだかふわふわしている方いませんか? きっといますよね。

今回はWeb業界で良く耳にする、フレームワークについてです。

まずフレームワークって何?

フレームワークといっても、「ソフトウェアフレームワーク」や「ビジネスフレームワーク」、といった意味合いが少し異なったものが存在します。
前者は経営や業務改善に使われる手法や枠組みで、後者は主にプログラミングにおいての手法や枠組みとなります。
どちらもフレームワークの意味的には手法や枠組み(骨組みなど)、といった所で、全体的な意味合いは同じです。

フレームワークを使うメリット・デメリット

メリット

適切なフレームワークを使うことで
・決められた手法・枠組みの中で進行していくため、業務の遂行が円滑になる。
・フレームワークが用意してくれる仕組みを利用することで、考えるコストが大幅に下がる。
・フレームワークの手法にのっとって作成するため、プログラムの保守や保全の観点からもメリットである。

デメリット

フレームワークというものは一種の決まりごとの中で作業することになりますので、
どうにもフレームワークの中だけでは解決がつかないことが起きる場合があります。
また、メリットに逆行しますが、不適切なフレームワークを使うと、思わぬセキュリティホールや逆に保守性等が下がる場合もあります。

Webでよく聞く代表的なフレームワーク

代表的なフレームワークの名前を覚えておいて、突然耳にしても全体像がわかるようにしておきましょう!

PHPのフレームワーク「CakePHP」

よく耳にするフレームワークのひとつがCakePHPです。

CakePHPはPHPの代表的フレームワークですので、利用者も多く実際のクライアントワークでの利用率も高いです。
MVC(モデル・ビュー・コントローラー)の概念で作られているため、デザイナ・HTMLコーダーとプログラマーの住み分けがしやすいのも特徴です。

モデル データ等を扱う部分の担当
ビュー ブラウザ等に表示される部分の担当
コントローラー モデルとビューへの命令を書き込む指示系統

以上のように役割が分かれているため、ビューの部分をテンプレートライクにデザインやHTMLコーダーが編集する事ができます。

学習コストも多少ありますが、Wordpressのテンプレート開発ができる程度の知識があれば
とっつきやすいかと思います。
デザイナやHTMLコーダーとの分業もし易いフレームワークだと思います。

> CakePHP 公式

Rubyのフレームワーク「Ruby on Rails」

代表的なRubyのフレームワークです。
最近のベンチャー企業のWebサイト等で導入実績が多いフレームワークです。

CakePHPよりは敷居が高いと思いますが、豊富なパッケージのおかげで機能追加などに強く
覚えてしまえばかなりの速度感でコンテンツを構築できます。

Ruby on RailsもMVCの概念で作られていますのでプログラマーとデザイナ・HTMLコーダーが共存しやすい環境です。
ただし、WordpressなどのPHPとは、記述の仕方が多少違いますので、注意が必要です。
ですが、難しいプログラミングが必要な部分はプログラマーに任せれば良いので恐れる事はないでしょう。

> Ruby on Rails 公式

Sass(スタイルシート言語)のフレームワーク「Compass」

Sassというスタイルシート言語のフレームワーク「Compass」というものがあります。
Sassというのはcssを生成するための言語で、ほぼCSSを書いているような感覚で、CSSを生成するためのプログラミングができます。

大規模開発になってくると通常のcssファイルだけでは管理が大変になってくるかと思いますが、そのような時の使用に向いています。

話は逸れましたが、SassのフレームワークであるCompassというものがあり、大規模サイト等ではCompassを利用することがあるかと思います。
CSSをプログラミングできるようになったのがSassで。
Sassの機能がさらに便利になったのがCompassと考えても良いかなと思います。

※CompassでCSSを生成していますといった場合には「.css」ファイルを直接いじらないように注意しましょう。
 こういった場合には、scssというファイルを修正すると頭にいれておきましょう。

> Compass 公式サイト

CSSのフレームワーク「Bootstrap」

もうやめてくれ! ごちゃごちゃになってきた・・・という感じですが
こちらはCSSのフレームワークであるBootstrapです。

元はTwitterが開発したフレームワークで一時期かなり流行っていました。(今も?)

フリーのテーマなどが多く存在しているため、社内コンテンツであったり、管理画面などとの相性が良いです。

※Bootstrapで作られたコンテンツをリニューアルしてくれと言われた場合には注意しましょう・・・辛い思いをします。
 もちろんBootstrapの枠組みの中でのリニューアルであればスムーズです。

> Bootstrap公式サイト

ソフトウェア開発手法のフレームワーク「スクラム」

実は私がMaromaroで推していきたいと密かに思っている開発手法のフレームワークです。
よくある、全体のスケジュールを全てを決めてから制作に取り掛かる手法ではなく、短いサイクルで成果を出していくフレームワークです。

フレームワークですので、もちろん手法があり、その決まりに沿って制作を進行していきます。

日本ではまだあまり普及していない手法のようですが、ベンチャー企業ではよく取り入れられている開発手法のようです。

スクラムはラグビーからきているらしいです。なんだかマッチョですね。

以上フレームワークについてです、いかがでしたでしょうか。

フレームワークと聞いただけで小難しい気がしてしまいますが、基本的には小難しくならないようにするための仕組みですので、名前と概要だけでも掴んでおくと話もスムーズになるかもしれません。