質問: Ruby on Railsでプログラミングを始めた者です。 フレームワークって何?って言われることがあったのですが、すぐに返答することが出来ませんでした。 言葉通り枠組み、というイメージでしか捉えていなかったのですが、簡単に説明するとしたらどういう返答がベストでしょうか? RailsみたいなWebアプリケーション開発のフレームワーク、と言うと 開発を便利にしてくれる枠組み、 つまりRailsで使われる「メソッド」を予めたくさん準備してくれたもの。というイメージなのですが間違っているでしょうか?
回答: 建築で例えれば基礎工事を省いてくれるものです。他の人には見えにくいけどしっかり作り込まないといけない場所、建築の土台となる場所です。自分が作りたい建物の「見栄え」や「利便性」や「機能」の部分だけに注力するために、基礎工事を他人の作ったもので一気に済ませてしまう、それがフレームワークだと思います。 ビル(大型なシステム)を建てたいならビル用のフレームワークを選びますし、住宅(こじんまりした個人用のシステム)を建てたいなら住宅用のフレームワークを選びます。 Ruby on Railsは例えるなら「ビルから犬小屋まで対応できるフレームワーク」でしょうか。