フレームワークとは
プログラミングにおけるフレームワークとは何か?
まずは他サイトから、定義の引用です。
プログラミングの「フレームワーク」とは、簡単に説明すると「Webアプリケーションやシステムを開発するために必要な機能があらかじめ用意された枠組み」のことです。
WEBCAMP
その通りですが、複数のフレームワークを触ったことがある人にとっては理解できると思いますが、初心者にはイメージがつかないと思います。
ここでは私が6年前にjava開発者スキルチェンジして経験した範囲になりますが。
- フレームワークの特徴
- 1つのフレームワークを例に説明
- 実際、開発の現場ではどのように有利になるのか?
などを説明したいと思います。
フレームワークの特徴
私が実際フレームワークを使用してみた特徴としては以下の通りです。
- 役割に応じてソースコードを書く場所が決まっている
- 既にその言語で全体を制御する部分は作成されている
- お作法どうりにすれば動く
です。
ここではjavaのフレームワーク
『struts』
を例に説明していきます。
フレームワーク『struts』を例にとると・・・
javaのsturusというフレームワークを例にとると
- 役割に応じてソースコードを書く場所が決まっている
- 既にその言語で全体を制御する部分は作成されている
- お作法どうりにすれば動く
を例に一つ一つ解説していきます。
役割に応じてソースコードを書く場所が決まっている
例えば『strus』では
『アクションクラス』
と呼ぶ場所にソースコードを書くことが決まっています。
そこには
『演算やデータベースの取得処理』
を書くように決まっています。
既にその言語で全体を制御する部分は作成されている
「struts』では既にjava言語で全体の制御する部分が作成されています。
strutsでは全体を制御する機能として
『アクションサーブレット』
と呼ばれるものが存在しています。
アクションサーブレットが全体の制御を行っており、先ほど紹介した『アクションクラス』を呼び出すようになっています。
ちなみにこの『アクションサーブレット』は開発者は一切コードを書かないという決まりになっています。
お作法どうりにすれば動く
例えばstrutsには
- struts-config.xml
- web.xml
のような設定ファイルがあります。
そこにお決まりの記載をすれば動くようになっています。
イメージ図
先ほど紹介した3点を
strutsの本家サイトの画像を引用すると以下のような感じです。
フレームワーク実際の現場では
実際、『フレームワーク』は現場の開発者にとって何の役に立つのか?
開発者にとっては、フレームワークを知っている数が多いほど
案件に参画できる母数が増えます。
例えば先ほど紹介した『struts』について知っていれば、
strutsで構築する案件があった場合、
当然、strutsを知っている技術者を探します。
strutsを知らなくても最低限javaさえ知っていれば良いのですが、やはりstrutsのコードの書き方、お作法などを最初から知っている人の方が教える手間が省けます。
フレームワークを知っているか知っていないで、技術者面談の際のアドバンテージが高いです。
補足
複数のフレームワークを習得している上級の技術者はフレームワークの理解も早いです。
なので、知らない『フレームワーク』でも現場で驚異の理解スピードで習得してしまうことが多いです。
フレームワークの知識は必要不可欠なものではないですが、
1言語につき1フレームワーク
は理解しておくと、後で役に立つと思います。
フレームワークの種類
今回はjavaの『sturs』というフレームワークを紹介しました。
他にも言語ごとに多種類のフレームワークが存在します。
ここでは紹介しませんが、以下サイトなどを参考にしてみてください。