scaffoldがあるから何秒でwebアプリケーションができました風の自慢はやめた方がいいと思う

This entry was posted by on Saturday, 20 December, 2008

http://www.reddit.com/r/ja/comments/7k1x3/big_sky_google_app_engine_oil%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A61%E5%88%86%E3%81%A7%E5%87%BA%E6%9D%A5%E3%82%8B%E6%8E%B2%E7%A4%BA%E6%9D%BF/c06vbyn

掲題のようなことを書いたら、

>

newerにはscaffoldって良いと思うんですよね。30分掛かっても結果の出せないフレームワークはユーザが飽きてしまうので…。苦笑

と返答されたのだが、redditに長文を書きたくないのでこちらで詳しく書くことにする。

まず、scaffoldで何秒でアプリができました、ということを誇ることで、興味をもってもらえるということは確かにある。ただ、30秒でwebアプリケーションを作るデモをいくら見ても、そこからあとで何をどうするとどうなるのか、ということはnewbieにはさっぱりわからないと思う。あのデモは、まさしくデモンストレーションでしかなく、その先が見えづらい。

この観点からいうと、scaffoldというのはつまりHQ9+である。

HQ9+を使えば、たいていの人間は何の迷いもなくquineを1秒で書ける。でもだからといってHQ9+が凄い言語だということにはならない。確かにデモと同じことを一字一句マネすれば、デモのなかで動いてるのと同じものが手元でもなんとなく動く。でもふつうこういうのに興味を持つっていうのは、もともと自分でやりたいことがあって、フレームワークというのはそのための道具でしかない。けど、やりたいこととフレームワークを使ってできる(あるいはやりやすい)ことのあいだの橋を渡すことになる。

そんで、その橋をわたすためには、フレームワークがどういう風に出来上がっているかとか、たとえばモデルはどう定義され、それをどうコントロールし、どのようにユーザに返すか、っていうところの考え方を知らないといけない。そこまで行くとけっきょく労力は大差ないというか、つまらないscaffoldデモは惑わされるだけ時間の無駄だ。

 

ただ、そういうのがわかっている状態では、scaffoldはboilerplateを書く手間を省いてくれるので楽になるという面はある。たいていのIDEでアプリケーションをスタートするときは、「起動すると空のウィンドウが開いて何にもしないアプリ」みたいなつまんないやつは最初から出来上がっていって、そこから拡充していくということになる。この観点からいうと、「scaffoldコマンド」というのはつまりIDEの代替だ。大元のGoogle AppEngine Oilというのは、そういうタイプのもののようにぼくは感じられた。

でも、そういう場合に何秒で出来るから素晴しい、とかいうのって自慢になってるのかなあ。

Comments are closed.