Posted by nanki
Thu, 05 Feb 2009 14:03:00 GMT

しばらくはprototype.js や jQuery、時々はExt JS で楽しく遊んでいたけども、デスクトップアプリケーションのような物を作るのには力が不足していると感じていた。(機能が、ではなく、抽象化の程度が)
年初めくらいに cappuccinoというプロジェクトを見つけてきて、しばらくソースを眺めていたりしたのだけど、これはいい。
久々にピリピリ来るプロジェクト。
最近、iPhone SDK などでObjective-Cに触れて、Cocoa APIに慣れ親しんだせいもあるけど、それを差し引いても、よくできている。
興味と暇のある人は是非、調べてみて欲しい。
実際に、Keynote にしか見えないアプリケーション なんかもこれで作られている。
ちょっとソースを見ると、こんな調子だ。
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
</script>
<script src="Frameworks/Objective-J/Objective-J.js" type="text/javascript"></script>
main.j というのが、Objective-J 言語で書かれていて、Objective-J.js を読み込むと、その場でJavaScriptにコンパイルされる。
元々、Objective-C は、Objective-Cのランタイム(Cの関数)とプリプロセッサだけでこしらえてある(と思う)のだが、その手の抜けた?実装とは裏腹に強力なオブジェクト指向機能を持っている。
今回、Objective-J がその手法をJavaScriptに対して適用したのを見て、この方法の持つシンプルさと力ににやにやせずにはいられない。(JavaScriptにOOを導入するとは!)
でも、Cocoa APIはフルスペリングでAPIが長いのでとても覚えられない。
IDEなどのコード補完機能がないと書く気が起こらない…ということで、vim の補完関数を作った。
github に置いてあるので、使うなり改良するなりしてください。
関係ないけど、Objective-J ではメソッドの定義に型を書くんだけど、コンパイルの時点で廃棄されている。(ので間違っててもコンパイルは通る)
しかし、コード補完を作るにあたって、この型情報は非常に役に立った。
参考:
Posted in web, tech, javascript | Tags javascript, objj, web | no comments | no trackbacks
Posted by nanki
Sat, 22 Apr 2006 07:20:00 GMT
AJAXだとかなんだとかでJavascriptを使ってもいい雰囲気になり、ライブラリも整備され、かなり高度なユーザインターフェースを作ることが可能になっている。
しかし、何の指針もなしに作っていたのでは、使用感に統一性の無いものがあふれかえってしまう。
そんなわけで、Railsで使えるものを中心に、使いどころ、使わないどころ、雑感を。
AutoComplete
- 正規化が必要になるような用途(会社名、住所とか)に。
- 数が少なくて固定の場合はセレクトボックスを使った方がいい場合も。
- 日本語との相性は要改善。
Drag&Drop
- 一見使いやすくなるようで、ユーザに強いるコストが結構高いので、積極的に使うべきではない。
- 特にDrop対象が一つだけなら絶対使わない方がいい。
- Drag元とDrop元の座標を指定した上
- その間指押しっぱなし
- さらに連続でD&Dする時はまたDrag元まで戻らねば。
SortableList
- リストが一画面に収まる程度なら使うべき。
- 複数ページにまたがるような並べ替えはまだ画期的な方法がない。
- Non-Linear Zoomingを駆使したようなのを誰かが作ってくれる(に違いない)。
InPlaceEditor
- 使いどころは絞ったほうが効果的。
- 頻繁に変更されるところとか、気軽に変更して欲しいところとか。
- 値が空になると編集できない。
ブラウザ内ウィンドウ
- 設定画面、追加画面など、一画面挟んだ後リストに戻るような場合に。
- 基本的には、更新とともに。閲覧のみで使う場合は、前/次 みたいなのをつけるべき。
- できるだけ「閉じる」動作を意識させない。(要らなくなったら勝手に閉じる)
などなど。書き出してみると結構当たり前のことばかりか。
他にどんなのがありますかねぇ。
キー操作を扱える標準的なライブラリとかも欲しいかなぁ。
追記
2006.04.27
Ajax Pattern Screencasts
Posted in web, ruby | Tags ajax, ui, web | 1 comment | no trackbacks
Posted by nanki
Tue, 29 Nov 2005 00:26:00 GMT
Try Ruby
すごい・・・すごい・・・
すごいなこれ。
ところで、babieさんを参考にプチメモ生活が始まった今日この頃、机の上の紙に「ホワイトボードの余白」と書いてある。
なんのことだろう?
ものすごく眠いときにメモしたものなので、記憶に無い。
ホワイトボードの余白にGoogle広告でも出すつもりだったんだろうか。
参考:
遅レス。
Posted in web, tech, ruby | Tags ajax, ruby, web | no comments | no trackbacks
Posted by nanki
Thu, 24 Nov 2005 14:28:00 GMT
久々に文字コード関係ではまった。
Sakuraエディタなどで、保存形式にUnicodeを指定するとUTF-16で保存されることがあるみたいで(UTF-8を指定すればいいんだけど)貰ったファイルが、どう開いても開けない。
もちろん、UTF-16も試したんだけどだめ。
先頭に変な文字が付いていたのでBOM(ByteOrderMark)かと思い、検索してみたけど、どうもコードが違う。
結局、一時間ほどいじり回してわかったのは、UTF-16LEで保存されたファイルがさらに文字化けしたものであるということだった。
最初に開いたときに変な開き方をして上書きしてしまった模様。
Subversionのレポジトリから取り直したら、普通のUTF-16LEだった。
参考:
UCSとUnicode
Posted in web, tech | Tags unicode, web | no comments | no trackbacks
Posted by nanki
Wed, 09 Nov 2005 14:19:00 GMT
Google で「あまぞn」と検索すると、どうみてもアマゾンじゃないページが結果に出てきて「正しくはこちらですよ」と誘導してくれる。
その先で買い物をすると、そのサイトにバックが入る仕組み。
Posted in web, noise | Tags google, web | no comments | no trackbacks
Posted by nanki
Sat, 15 Oct 2005 23:10:00 GMT
最近、ajaxやGoogle のおかげで、RIA,SOA が開発者に浸透してきた感がある。
次世代のplatform としてのweb という可能性が現実味を増してきた。
Microsoft がほぼ独占していたデスクトップ市場も、リッチなweb application の登場で、デスクトップOSに依存しないアプリケーションが登場すれば、かげりが見えてくるかもしれない。
かつてはその線に一番近かったJava は、ランタイムをWindows に標準搭載しないことで押さえ込まれた感じがするが、果たして今度はどうするのか。
いまさらブラウザを搭載しないわけにはいかないし。
こんどこそ、真っ向からの勝負になるんだろうか。
今のweb はちょうどWeb2.0に向けて、アプリケーションが出始めている状態だ。
これらを統合する今のデスクトップOSのようなものが現れるに違いないと思う。
それがどんな形をとるのか、まだわからないが、今のblog が一番それに近い気がした。
著名なblogツールはプラグインという形でさまざまなサービスをひとつのページに収めているが、これはまさに、今のデスクトップOSの役割そのものだ。
(ポータルサイトのカスタマイズサービス(MyYahoo!とか)も近いものがあるけど、完結してしまっているので、ちょっと違うかな)
そういう視点でこれからの動向を眺めたら、もうちょっといろいろなことが見えてくるかもしれない。
参考:
Read more...
Posted in web, tech | Tags web | no comments | no trackbacks