angular.jsを触って一人用ぴっぐテンみたいなのつくった

昨日酔っ払って「明日飲みに行きましょう」とか言ってたら何故かハッカソンをやることになっていたので、Bombermineで使われてたし他にも話を聞いて気になってたangular.jsとかいうライブラリをビール飲みながら触って時間を潰していた。

以前からぴっぐテンをブラウザとかから遊べるようにしたいと思っていて、せっかくなのでそれを良い感じに書けないかと思って適当にやってた。

結果として、結構簡単にそれらしいものを書けた。それらしいというのは、ルールは多分完璧だけど1人でしか遊べないのでゲームとしては全く成立していない。

shimobayashi/angular-study-pig10 · GitHub 一応ここに書いたコードは公開した(index.htmlしか無い)。

これだけだと動くもの見づらいだろうから、 適当に設置したけどその内消えてると思う。

ネットワーク対応させて画像とかのリソースあてれば多分普通に遊べるものになるだろうから、これくらいのものを適当に書けてしまえるのは便利だなと思った。


angular.jsを眺めたり触ってみた感想としては、結構風呂敷の大きなフレームワークだなあということと、それはさておきとりあえず使って適当なものを書いてみる分には便利なものだなあという感じだった。 この規模のしょぼいものを書くくらいならさわりの部分だけ知ってればとりあえず書けるのは良い。

多分いちばんうれしいのは双方向データバインディングだと思うので、データの入出力に合わせてViewが変化するようなものをつくるにはすごくよさそうな気がする。 逆に、データの入出力以外の契機によって変化していくようなアプリケーションはあんまりありがたみ無いんじゃないかという気がした。 DIがどうとかそういうのが役に立つのはもっと規模の大きな話になってからだと思うんだけど、angular.js知らない人がいきなりそういう大きなことやるわけないのであんまり気にしていない。

以前話題になったBombermineがチャット部分とかにangular.jsを利用していたと思うんだけど、ああいう使い方が賢いのだと思う。

触る前はなんとなくもっと小さなライブラリを想像していたんだけど、触ってみるとこれはangular.jsを使うならangular.jsの世界観の中でコードが完結してないとわけのわからないことになりそうだなと感じた。 なので、多分既存の仕事でのプロダクトに突っ込んでみるとかそういう使い方は難しくて、個人プロダクトやプロトタイピング、もしくは完成形が最初から見えているものに対して活用するのが良さそうな気がしている。

正直広大なangular.jsの世界観をほとんど理解してないので、その辺りちゃんと理解してくるとまた意見は変わってくるのかもしれない。 JavaScript周辺については現状いろんなフレームワーク(と高級言語)が乱立して今後シェアがどうなるか分からない状態なので、先行者利益がコストに見合っているかどうかはよく分からない。 とりあえずこれ以上ちゃんと調べようとするなら適当な参考書が出版されてからが楽でいいかなあと個人的には思った。

まあ、気が向いた時にnodejsあたりでネットワーク部分書いて、身内でぴっぐテンを遊べるくらいにはしてみたいと思う。