【本サイトではGoogleアドセンス、または、アフィリエイト広告を利用しています。】
フレームワークについて理解する
Webシステムの開発をしようと学習を進めていると、
突然出てくる言葉、それがフレームワークです。
フレームワークを使っていけば、、
フレームワークがあることで、、
まずはフレームワークを導入して、、
そもそもフレームワークってなんだということですね。
言葉も聞きなれないですし、イメージもわかないと思います。
そして、開発現場では、意外と説明を省いて、
とりあえず使いながら覚えていこう!みたいなノリが多いように思います。
ということで、ここでしっかり理解しておきましょう!
Webシステムにおけるフレームワークとは、
Webシステムを開発する上で必要となる部品や処理の流れの基礎的な部分を
骨組みとして準備したものです。
家で言うところの基礎工事の部分です。
ある程度の共通的な処理については、テンプレート化ができるので、
その共通の仕組みを一式用意したプログラムがフレームワークです。
実際にWebシステムの開発を行う際は、ゼロから作りあげるのではなく、
フレームワークという骨組みのプログラムを事前に入れたソースコードに対して、
開発者が画面や内部処理を肉付けしていく形になります。
フレームワークを使うメリット
メリットを理解する為に、まず、フレームワークを導入せずに
開発を進めようとした場合についてイメージしてみましょう。
MVCモデルのお話の中で、Webシステムでの処理の流れについて説明をしましたが、
この流れをゼロから作りあげるのはかなり大変です。
しかも、MVCモデルという考え方のおかげで、
ある程度の仕組みについては既に共通ルール化できているにも関わらず、
システムを新規に作る度に同じ仕組みを何度も作るというのは、
かなり効率が悪いです。
また、毎回作ることになると、開発者のスキルやその時の状況にあわせて
微妙にプログラムやルールの内容が違った骨組みが作られてしまいます。
システムごとに骨組みが違ってくると、改修や不具合の修正を行う時に、
MVCの動きをどのように組み上げているのかという
根本的な部分からプログラムの解析が必要となり、メンテナンス性も低くなります。
なので、共通化した骨組みとして、今から開発するWebシステムに
フレームワークを最初に導入しておくことで、生産性も上がり、
基礎的な構造が同じになるのでメンテナンス性も上がります。
また、骨組みがルール化されることで、開発者の個性が影響した
クセの強いプログラムの侵入を防ぐこともできます。
つまり、誰が作っても、ある程度近い構造で
プログラムが組まれるように強制できるわけです。
Webシステム開発で使う代表的なJavaフレームワーク
ここでは、Webシステム開発でよく使われる言語であるJavaに注目して、
MVCモデルの考え方に基づいた代表的なフレームワークをいくつかご紹介します。
細かい使い方はここでは説明しませんが、
Javaを使ったWebシステムの開発を学習する際は、
まずこのうちの1つから始めることをおすすめします。
Spring Framework(スプリング)
Springは、Webシステム開発を行う上で最も主流になりつつあるフレームワークです。
プログラムの拡張性や依存性、再利用性を考慮した設計になっていて、
システム開発の生産性を高めることに長けています。
Javaで開発をしている企業などは、Springを使っていることも多くあるので、
プログラマーとして利用経験は持っておきたいところです。
Apache Struts(ストラッツ)
Strutsは、Javaサーブレットと呼ばれるバックエンド向けの処理を
作る為のプログラムをベースに開発されたフレームワークです。
フレームワークの動きが追いやすく、初心者にもやさしい作りになっています。
習得のしやすさから、Strutsを使うことのできる技術者が多くいることもあり、
近年までWebシステム開発の主流として最も多く使われていましたが、
脆弱性の問題が見つかったことによって、
現在では別のフレームワークを採用する流れになってきています。
また、Strutsには1.0系と2.0系があり、同じStrutsでも使い方が少し違ってきます。
JSF(ジェイエスエフ)
JSFは、データベースで有名なOracle社が提供しているJavaフレームワークです。
Oracle社はJavaを提供している会社ということもあり、JavaEEと呼ばれる
Webシステム開発向けの機能が盛り込まれたJavaの中にJSFは入っています。
Javaを提供している会社が提供するJavaフレームワークということで、
Javaをインストールする流れで準備がすぐに整います。
まとめ
フレームワークの概念についてイメージできたでしょうか?
Excelで家計簿を作る時に、既に準備されているテンプレートを使うと、
罫線を引いたり、セルに色を付けたり、数式を入れる手間が省けます。
Webシステムにおけるフレームワークは、
Excelで家計簿を作る際のテンプレートのようなものです。
ご紹介したフレームワークの内、1つを習得することができれば、
他のものはルールが少し違うだけなので、比較的簡単に習得できるはずです。
次回は、HTTPについてお話をします!