皆さん、あたりまえのようにWebアプリケーションを作ってると思いますが、
実は、それってそんなに簡単なことじゃないなって、よく思います。
前提知識が多すぎるんですよね。
言語だけをとっても、少なくとも
- JavaScript
- HTML
- JavaかPerlかPHPかRubyかPythonかC#かその他の汎用言語
- SQL
の4つをマスターしていなくてはなりません。
これらは、1つ1つをとってみてもとても奥が深く、極めることの難しい言語です。
さらに、JavaScriptとHTMLについては、ブラウザ毎に挙動が違います。
SQLはDBMSごとに方言がありますし、チューニングとかいい始めるとそれだけで一つの専門分野です。
通信プロトコルについては、HTTPはもちろん、メールを送るシステムであれば、SMTPについても
知っていなければなりません。
実装を楽にするフレームワークも無数にあって、どれを使ったモノやら、
楽になってんだか苦しくなってんだかいまいち不明です。
フレームワークやアーキテクチャの流行りもころころ変わります。
利点といえば、フレームワーク作りたい病の人(=私)が混乱に乗じてまた新たな
フレームワークを作りやすい、ということぐらいです。
そして、これらの複雑さを隠蔽しようとしても、まず、ろくなことになりません。
多分、ユーザは、みんな作ってるという理由で、Webアプリケーション作るのは簡単だと
思っているのではないでしょうか?
確かに、ちゃんとしてないWebアプリケーション作るなら簡単ですが、
ちゃんとした Webアプリケーション作るのは、結構大変なことだってことを、
ちゃんとした Webアプリケーション作りたい人たちは、もう、堂々と主張した方が
良いんじゃないかと思います。
実は、それってそんなに簡単なことじゃないなって、よく思います。
前提知識が多すぎるんですよね。
言語だけをとっても、少なくとも
- JavaScript
- HTML
- JavaかPerlかPHPかRubyかPythonかC#かその他の汎用言語
- SQL
の4つをマスターしていなくてはなりません。
これらは、1つ1つをとってみてもとても奥が深く、極めることの難しい言語です。
さらに、JavaScriptとHTMLについては、ブラウザ毎に挙動が違います。
SQLはDBMSごとに方言がありますし、チューニングとかいい始めるとそれだけで一つの専門分野です。
通信プロトコルについては、HTTPはもちろん、メールを送るシステムであれば、SMTPについても
知っていなければなりません。
実装を楽にするフレームワークも無数にあって、どれを使ったモノやら、
楽になってんだか苦しくなってんだかいまいち不明です。
フレームワークやアーキテクチャの流行りもころころ変わります。
利点といえば、フレームワーク作りたい病の人(=私)が混乱に乗じてまた新たな
フレームワークを作りやすい、ということぐらいです。
そして、これらの複雑さを隠蔽しようとしても、まず、ろくなことになりません。
多分、ユーザは、みんな作ってるという理由で、Webアプリケーション作るのは簡単だと
思っているのではないでしょうか?
確かに、ちゃんとしてないWebアプリケーション作るなら簡単ですが、
ちゃんとした Webアプリケーション作るのは、結構大変なことだってことを、
ちゃんとした Webアプリケーション作りたい人たちは、もう、堂々と主張した方が
良いんじゃないかと思います。