こんにちは!
今回は「プログラミング全般におけるフレームワークが誕生した経緯」についてお伝えしたいと思います。
小森裕介さんの『プロになるためのWeb技術入門』を読んだので参考にさせていただきます。
こちらの本は本当におすすめです!
https://gihyo.jp/book/2010/978-4-7741-4235-7
フレームワークはどのように生まれたのか?
ポイント
①CGIの誕生
②サーブレットの誕生
③JSPの誕生
④フレームワークの誕生
CGIの誕生
初期のwebサイトは(誰がアクセスしても同じ結果を返す)静的なコンテンツしか表示できませんでした。
アクセスした時間や人によって表示するコンテンツを変えたいといった要望があり、
それを叶えるために生まれたのがCGI(Common Gateway Interface)という仕組みです。
CGIはwebクライアント(ユーザー)がwebサーバーにリクエストを送ると、CGIを通してプログラムを呼び出し、プログラムがブラウザに表示するコンテンツを生成し、webクライアントに返却します。
CGIには
・Perlという開発言語のためオブジェクト指向プログラミングがなく、大規模開発には向かない
・CGIを通すときに毎回新しいプロセスを起動するため処理に時間がかかる
という2つの問題がありました。
サーブレットの誕生
CGIの問題を解決するために生まれたのがサーブレットです。
サーブレットには
・オブジェクト指向プログラミングの機能をサポートしているため大規模開発にも適用できる
・webサーバーと同じプロセス内でコンテンツを生成できるため、比較的高速
というメリットがありました。
しかし、サーブレットにも問題があり、out.printIn("<p>年齢:" + (15 * 2) + "歳"</p>")
のように書くため、
・プログラマとデザイナーの分業がしにくく、デザイナーにもプログラミング知識が要求される
・コードが読みにくく、出力されるHTMLが想像しづらい
といった問題です。
JSPの誕生
JSP(Java Server Pages)はサーブレットから書き方が改善されています。
<p>年齢:<% out.printIn( %> 歳</p>
と書けるようになったため、動的に変わる部分(プログラミングが必要)と変わらない部分で分けることができます。
フレームワークの誕生
大規模アプリケーションを複数人で効率よく開発するためには「再利用」という考え方が有効です。
以前からライブラリと呼ばれているプログラム部品は使用されていましたが、さらに向上させてアプリケーションの基盤とさせたものがフレームワークになります。
以上、お疲れさまでした〜🍵