【IT用語】「フレームワーク」とは?
Web制作初心者にはたまに聞くけどイマイチ意味が分からない「フレームワーク」。その言葉から何となく意味は感じ取れるのですが、、実際に制作に活かす際に誤解なく進めれるようしっかり理解しておきたいですね。
フレームワークとは
フレームワークとは、英語では「枠組み」とか「骨組み」「構造」などといった意味で、
「プログラミングにおいて一般的な機能をもつ共通コードをユーザーが選択的に上書きしたり特化させたりすることで、ある特定の機能をもたせようとする抽象概念」
という言葉がwikiに乗っています。プログラミングとありますが、Web制作の場でも同じです。
少々堅苦しく書かれていますが、要は「さまざまなシステム開発を効率化してくれる機能群」、と表現できます。
例えば簡単な画像ですが、下の様な形のブログがあったとします。
一番上にヘッダー、グローバルメニューなどがあって、ブログ記事があって、その横にサイドバーがあって、一番下にフッターがあるというよく見る形ですね。
このブログ形式の制作を毎回、手書きのコーディングで作ろうと思うと少々面倒ですよね。同じ形をのものを何度も作らないといけないのですから。
このようなテンプレート的な形のデザイン、及び機能を用意してくれるのがフレームワークです。
機能群だけではなく、ソフトウェアの骨組みまでを用意してくれているため、少ないコードで意図する機能やデザインが実現できます。
ただソフトウェアによって操作を覚える必要があるのは大変なところだと思います。Web制作の初心者である私も、まだまだ全然使いこなせません><
フレームワークにもさまざまなものがあるようです。例えば、Webアプリケーションなどのフロントエンドを実装するためのWebアプリケーションフレームワークや、プログラムのテストに特化したテスティングフレームワークなどです。具体的には
- Ruby on Rails
- React
- Bootstrap
といったものが代表的です。私も用語だけなら知っているものばかりです。
フレームワークを使うメリットを考えてみる
Web制作、プログラム共に人それぞれにやり方はあります。同じデザイン、プログラムでも人によっては書き方が違いますが、どちらも不正解ではなく、正解といえるでしょう。
自分なりのやり方をテンプレート化しておけば、フレームワークを使うかのような、生産性向上が実現するかもしれません。
自分のやり方があるからフレームワークは必要ないや…って思うかもしれませんが、フレームワークを使用するメリットは確実にあります。
例えば同じフレームワークを使用することによる共通作業効率ですね。共同制作時に独自のやり方で制作をしていると、他人のコードを見た時にどのようなつくりになっているか分からないことがあります。
フレームワークを使用することで毎回共通の作りが再現でき、初めて共同制作する人とも初期段階で作りを相談するという工程も省略することができるでしょう。
まとめ
- 「フレームワーク」とは「さまざまなプログラムを効率よく制作するための機能群」である
- フレームワークを使えばテンプレート的なデザイン、プログラムの実装の効率化を図ることができる
- フレームワークを使用すれば、書き方が統一されるため、クリエイター間の運用がやり易くなる
