非エンジニアの人たちにフレームワークやRails2.0などのことについて、説明する機会があったので、ちょっとまとめてみました。プログラムのことを知らない人向けに書いているつもりです。。
意外と長くなってしまったので、分割して書きます。
- フレームワークの話(今回)
- Rails自体の話(非エンジニアにRails2.0を説明する -2)
- Rails2.0の話
はじめに:フレームワークとはなんだろう
日常生活のフレームワーク
フレームワークとは枠組み、ひな形というような意味です。
作文の授業などでよく「起承転結を意識して書きなさい」ということを小さい頃から言われてきましたが、「起承転結」も立派なフレームワークですね。なにか作るときにこのような枠組みがあると、綺麗にまとまったり、はやく完成したりといったメリットがあります。またこの枠組みを共有できていればその構造を理解しやすいので、他の人はさらに理解しやすいでしょう。
ウェブ開発のフレームワーク
ウェブ開発で使われているフレームワークも、日常生活におけるそれとまったく同様の意味です。
アプリケーションソフトを開発する際に頻繁に必要とされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのこと(ewords)
プログラムも文章と同様、これを使って表現することに無限の可能性があります(たぶん有限だけど、無限に感じる)。無限だからちょっと迷ったりしてしまうのであって、フレームワークというよい制約をあえて用いることによって、迷わずに完成へと向かえるんですね。
よく耳にするRailsやCakePHP、Catalystなどは、ウェブアプリを「素早く」完成させるための制約です。Ruby(日本語)でいろいろ書くことも出来るけど、Rails(起承転結)を用いることでウェブアプリ(文章)を完成させることが出来るということなんですね。
次回はフレームワークとしてのRuby on Railsについて。

