フレームワーク 職業訓練82日目

フレームワークとは?

フレームワークとは直訳すると「枠組み」です。プログラミングでいう枠組みというのはソフトウェアを形作る枠組みとして使われます。

もう少し説明をするとここでいうフレームワークはソフトウェアとして動く仕組みそのものを提供します。

そしてフレームワークが場合に応じでプログラムを呼び出すためのインターフェースも備えています。

したがって開発者は呼び出されるプログラムを作成すれば良いのです。

webアプリケーションにおけるフレームワーク

webアプリケーションの多くは見た目こそ違うものの、機能としては共通しているものが多いです。例えばユーザーからのリクエストを受け付ける。データベースと連携する。セキュリティ対策など。

これは新たにwebアプリケーションを開発するたびに、一から作るのではなく、使いまわすということです。

またフレームワークは個人が提供するのではなく、提供する団体が存在しています。したがって、データベースやセキュリティ対策ツールにアップデートがあったとしてもフレームワークを管理する団体が存在するので保守の観点からも効率的なのです。

Javaフレームワークについて

今回の講義はJavaフレームワークですが、PHPやPythonなど全ての言語にフレームワークは存在します。

そもそもなぜフレームワークという考えができたかというと、もちろん効率的というのが一番ですが、効率性でいうとJavaにはライブラリという機能があります。様々な機能をライブラリから引っ張って来て、アプリケーションを作成しました。

しかしライブラリで使える機能が多すぎるという問題も同時にあります。したがって、そもそもフレームワークのようにそれだけで動いてしまう部品を使ってしまおうという考えに基づいて使われるようになりました。

代表的なJavaフレームワーク

・Hibernate

Javaからデータベースに接続するフレームワーク。接続するデータベースに変更が生じてもJavaプログラムは書き換えず、XMLファイルを書き換えるだけでスムーズに変更できる。単体で使用されるよりも他のフレームワークに組み込まれることが多い。

・Spring Framework

Java EEアプリケーション開発に全体に関する機能を提供するフレームワーク。フレームワークを集めた、フレームワークのフレームワークです。これでなんでも作れる。

・SpringBoot

Spring Frameworkは機能が充実している分、初期設定が大変です。機能を限定して、手軽に使えるようにしたものです。

・Java EE

本家Oracleが開発、管理しているフレームワークこちらもオールインワン。シェアが多い分、セキュリティの脅威(攻撃ツール)も多い。

-------------------------------------------------------------------------

今日はざっくりこんな感じです。明日から本格的に入ります!

この記事が気に入ったらサポートをしてみませんか?