webフレームワークがなぜ必要なのか分からない
最近、flaskを触っていて思うのですが、(技術に疎いからこそ)
なぜフレームワークが必要なのか分からないという人の気持ちが分かりました。
技術に疎くない人には分からないと思うので、
エンジニアでない身から説明しようと思います。
理由:どうやってサイトが表示されているか理解していない
これは結構盲点なのですが、普通の人は
htmlとCSSかけば、サイトが表示できる
と思っています。
これは初学者用の本には、だいたい
「HTMLでファイルを保存して、ブラウザで開いてみましょう!」
というのを最初にやるからだと思います。
なので、なぜわざわざ仮想環境構築して、サーバーを立てて、
ブラウザにIPアドレスを打ち込まなくちゃ表示できないような
ことをするのか、訳がわからないのです。
こういう人には、
「君が書いたHTMLファイルは、どうやったら世界中の皆んながアクセスできるようになるかな」
「webページを表示するにはね、インターネットを通じしてサーバーにサイトを見してくださいって言わなくちゃいけないんだよ」
と優しく説明してあげる必要があります。
「それでね、サーバーをこのPCの中で立ててみて、実際のwebサイトと同じ原理で表示しようとしているんだよ」
と教えてあげてください。
そう考えると、
- サーバーを立てなくちゃいけないとか、
- IPアドレス普通打たないよな、検索できるようにドメインを取得しなくちゃなとか、
- HTTPのリクエストを受け付けるためのポート番号を設定しなくちゃいけないとか、
- そう言えば、私一人だけで開発するならまだいいけど、多くの人で開発するにはこの方法では大変だなとか、
色々な気づきを普通の人は得るでしょう。
まとめ:起きている事象は同じだが、方法が違うと人は混乱する
人は起きている事象を理解しようとして、繰り返し再現性のある方法で仕組みを理解します。
ブラックボックスの中はよく分からないが、inputとoutputを揃えていく作業です。
最初はこれで良いでしょう。
なぜhtmlファイルをブラウザで開けば表示されるのか、理解せずとも最初は良いのです。
しかし、そこから一歩踏み込んで考える、この一歩が恐ろしく普通の人には難しいです。。。
以上の流れから、フレームワークがなぜ必要なのかというのを、普通の人に説明する際には、
web技術を一応おさらいしておく
ということが重要であるというのが分かりました。