システム開発における「フレームワーク」は、プログラミングするときのひな型のことです。
フレームワークは、「開発FW」・「FW」・「開発フレームワーク」なんて書かれたりしますが、プログラミングをしているときに出てきた話であれば、どれも同じ。
「フレームワーク(framework)」を日本語にすると「枠組み」。
「プログラミングするときに、よく使われる処理の書き方のルール(枠組み)を決めて、その通りに実装しましょうね」というものです。
システム開発でのフレームワーク(FW)は、プログラミングするときのひな型のこと
システム開発でのフレームワーク(FW)は、プログラミングするときのひな型のこと。
「プログラミングするときに、よく使われる処理の書き方のルール(枠組み)を決めて、その通りに実装しましょうね」というものです。
よく使われる処理って具体的に何?
よく使われる処理って具体的に何?
- ボタンを押したときの処理
- データをとってくるために、データベースに接続するときの処理
- 画面遷移(画面の移動)をする処理
「ボタンを押した時の処理が書きたかったら、このひな型(書き方)に沿ってね」みたいなのが、フレームワークで決められています。
なんでフレームワークが必要?
なんでフレームワークが必要なの?
同じシステム内で、プログラムを作りやすくしたり、修正をしやすくするためです!
- ある人は、「登録ボタンの処理」を呼び出すのに、”torokuButton.click”
- 別の人が、「検索ボタンの処理」を呼び出すのに、onclick=”kensakuButton();”
みたいに書いていたとします(あくまでイメージ)。
もし、「何か検索機能に問題があって直したいな~」ってなったとき。
ありとあらゆるところで、ボタンが押されたときの処理の呼び出し方がバラバラだとすると、「どこで何をやってるのか?」プログラムを追うのが大変です。
フレームワークを使ってあげると、いろんな処理の枠組み・書き方が統一されます。
よくわからん図を見るよりも、ひとまず動かしてみるのが手っ取り早い
一つおせっかいですが・・・。
フレームワークは、ググれば「概要図」たるもの(これが全体像だよみたいなやつ)が出てきます。
■Springというフレームワークの概要図
・・・が、読んでもたぶん意味不明だと思います。
(概要図だけ見ていきなり理解できる人が、この記事を読んでるとは思えないので(*´ω`))
よくわからん図を見ながらあれこれ考えるよりも、ひとまず動かして理解するのがたぶん近道だし、手っ取り早いです。
全体を理解しに行くのは、「なんとなく、こうかも?」みたいに、フレームワークの使い方がある程度わかってからでも遅くないかと。
フレームワーク(FW)の例
システムエンジニア(SE)になれば、「たぶん、下のどれか1つは、いつか使うだろう」的な、有名なフレームワーク(FW)の例も挙げておきます。
- 【.NET Framework】windowsで動くexeファイルや、Webページを作るフレームワーク。プログラミング言語的には、VB.net/C#/ASP.NETあたり
- 【Spring】Javaでプログラミングするのに使われるフレームワーク
- 【mybatis】.NET Frameworkや、Javaからデータベースに接続するときに使うフレームワーク
「そんなのあるんだ~」くらいで全然よし。
実際に使うときになったら、くわしい人にざっくりとした内容と使い方を聞いてくださいね。
【余談】なぞのフレームワークに苦しめられるとプロジェクト炎上のはじまり
少し余談になります。
有名な、言いかえると、ネットに情報がたくさんあるフレームワークを使って開発するのであれば、調べればなんとかなります。
※今、苦しんでる人いたら、先輩に泣きつくなりググるなりがんばれ!
ただ、
- すでにあるフレームワークを謎改良(改悪ともいう)
- どっかの会社が勝手に作った独自のもの
「すごいフレームワーク作ったんだぜぇ。これを使って開発しろ! ドヤァ」
みたいになると、ネットに情報がありません(特に勝手に作ったやつだとなおのこと)。
※なんで、わざわざそんなことするのかは大人の事情(*´ω`*)
「独自FW」(その会社の業務名+FWみたいなのが多い 笑)が直感的であればいいけど。
「〇〇のとき、どうしたらいいんだ?」みたいに。
謎フレームワークに対応できないとなると、開発メンバーの誰も答えを持ってないので、長〜い苦しみの始まりになります(実話です)。
まとめ
フレームワークときたら、「プログラミングするときのひな型のこと」だと思ってください。
「ボタンを押した時の処理が書きたかったら、このひな型に沿ってね」みたいに、よく使う処理の枠組み・書き方をフレームワークで決めます。
実際のお仕事で、「〇〇というフレームワークを使います!」となれば、動かしてみて理解しつつ。
「そのひな型、書き方に従ってプログラミングしていくんだな〜」と思ってくださいまし(-_-;)。
コメント