appjet

昨日聞いた。
tumblrのさいきんの50こを時系列でグラフにするの書いてみた。
ku0522

コードはローカルで書いたほうが楽だけどクロスドメインでXHR出したりしたいとそこがネックになる。

clone this app

懐かしい。ningのclone this appボタンどうなったのかと思ってこないだ調べたら、古いningアプリはデフォルトでボタンが出るけど、新しく作られたやつは出ないって書かれてた。

dispatch

AppJet JavaScript Library Reference: dispatching
URLを自分でdispatchできる。パラメータで動作を変えたかったらこれか。

データ

ningみたいにアプリケーション間でpostされたデータを共有はできないっぽい。データに対する考え方はningのほうがとがってる。
appjetのstorageはアプリケーションごとに別になってる。
でもなんかreference保ったまま入れられるよみたいな記述が。なんだこれ!

よくわかんないけどこうして入れて

var t = new Date();
storage.count = {a: 10, b: 20, c: 100, d: t}

出すと

S{ id: obj-L6UOuClmw, c: 100, d: Thu Dec 27 2007 02:22:50 GMT-0800 (PST), a: 10, b: 20 }

idがついてる。
ちょっとさわったかんじstorageまわりはよくわかんない挙動をしたりするかも。難しそう。

p = {}; q = {};
p.next = q;
q.prev = p;
storage.list = p;

Internal Error: An internal error occurred (java.lang.StackOverflowError)

っていわれた。

firefoxだと

p = {}; q = {};
p.next = q;
q.prev = p;
p.toSource();

"#1={next:{prev:#1#}}"

だって。こんな書き方できるんだ...
#のあとは数字じゃないとNGでした。#ifdefとかいけるかと思ったのに。

データの読み出し

SQLみたいなのはないので総当たりでjsで読み出すことになるみたい。でもsqliteサポートとかはそのうちしてくれたりしないんだろうか。

cron

cronみたいなのはない。擬似cronで呼ぶしかない。sleepのようなbusy loopじゃなくて実行を遅らせられるような何かがあればappjet上で疑似cronを作れそうだけどsleepみたいなのはない。

かんそう

jsで書けるのはすごくたのしくていいんだけどDOMをいじりたいときは大変。DOMをつくってくれるライブラリはどこかからもってくればいいけど作ったやつにXPath使えないのでちょっと不便。amachangのやついじったらなんとかなるかな。

保存するデータにパスワードと書くとそのまま見えちゃうしcloneされるとそのままcloneされるのでそういう使い方はできない。ningはxn_privateなるディレクトリがあってそこの下はcloneされないことになってた。ディレクトリがあるっていうのはぜんぜんスマートじゃないけど。あ、単にstorageにいれとけばいいのかな。

アタマが堅くて何も出てこないけど怒られそうなこと考えてやる。