Closure Libraryはイントラのアプリ作るのにはいいかもと思った

jQueryで色々プラグインを入れると管理が大変だし、イントラになんか作るときにはclosureみたいにしっかり管理できるライブラリがいいのかなと。ちなみに一昨年の年末に購入した本だった。

ProductName Google API Expertが解説する Closure Libraryプログラミングガイド
伊藤 千光
インプレスジャパン / 3570円 ( 2010-12-10 )


Closure Libraryが得意とするのは、もちろんインタラクティブなWebアプリケーションの開発です。Googleのアプリケーションほど大規模でなくても、GUIを中心とするデスクトップライクなWebアプリケーションには効果的です。

そう思うが、ライブラリ特有のお作法を学ぶコストがかかるのかなぁと感じたのであった。

本書は全体を通してTiny WordっていうWebアプリを作ってGAE/Pにデプロイするところまでカバーしている。一通り写経してみたんだけど、理解しながら読み進めたというよりは欠かされている感があったかも。javaなヒトのほうがすんなりと理解しやすいのかなぁと。

個人的にはClosure LibraryのツールバーがWAI-AREA規格に対応していてキーボードショートカットがさくっと実装できるあたりや、特に企業のイントラアプリに必要そうなウィジェットが揃っているのが気に入った。職場でwebアプリを作るときには第一選択肢にしようっと。

写経してたときに気になったのはコードが断片すぎてコードを追いにくかった。メソッドも断片だったのでgogle cpdeのレポジトリの参照は欠かせなかった。

おまけ

Closure Libraryを利用したwebアプリがなかなか見つからないんだけどchemoinformatics関連ではちょくちょく見かける。というのは化学構造エディタをweb上に実装したいっていうニーズがあるからかなぁと。

ケミストだったらタブレットでさくっと書けるエディタとELNのセットが欲しいだろうしね。

これなどおもしろそうですね。 そもそもGoogle Closure - Building Complex Applications with JavaScriptで興味を持ったので買った本なんだけどね。製薬企業とかケミカルな会社のコミュニケーションツールの構築にはいいライブラリなんじゃないかなぁと。

実際に使っている製薬企業あるのかなぁ?

closure libraryはクラシカルな継承を実装してた

closure libraryを試している。

inheritsメソッドってクラス指向だよなぁと思いながらソースコード読んだら(1442行目)、javascpriptパターンでいうところのクラシカルパターンそのものだった。

goog.inherits = function(childCtor, parentCtor) {
  /** @constructor */
  function tempCtor() {};
  tempCtor.prototype = parentCtor.prototype;
  childCtor.superClass_ = parentCtor.prototype;
  childCtor.prototype = new tempCtor();
  childCtor.prototype.constructor = childCtor;
};

テンポラリのオブジェクトをかましていて継承関係はこんな感じになっているんだが、javascriptパターンの6章を読むとクラシカルなパターンの導出過程がわかりやすく書かれているのでオススメです。

classical

ちなみに図はblockdiagで書いてみたのだけど、クラス図っぽくないですね(あとでちゃんと書き方を調べる)。

ProductName JavaScriptパターン ―優れたアプリケーションのための作法
Stoyan Stefanov
オライリージャパン / 2940円 ( 2011-02-16 )


「Google API Expertが解説する Closure Libraryプログラミングガイド」を注文した

amazonのwishlistには入っていたのだけど、いまいちどういう本かわからなかったので、保留中であったが、著者のblogに本の内容のエントリがでてたので読んだら欲しくなった。

ProductName Google API Expertが解説する Closure Libraryプログラミングガイド
伊藤 千光
インプレスジャパン / 3570円 ( 2010-12-10 )


サーバー側がGAE for Pythonってのもなんだかいい。