Apollo

これは何か

Adobeが開発中の、Webアプリとデスクトップアプリの垣根をなくすためのSDK(であってるかな?)。 同名のRuby用WindowsGUI開発環境とは関係ないがこっちも使いやすくてよいです。

メモ

とりあえずドキュメントを読んでわかったこととかメモ。

  • なんとか.airというのが単一ファイルのインストーラ。実体は圧縮ファイルなので、Macの実行形式に近いかな。ランタイムをインストールしてこれをクリックすればインストール&実行が可能。
  • AjaxなHTML&JavaScriptからデスクトップアプリに変換できる、と。
  • Flexはよくわからんなあ。もちろんこっちが本流っぽいけど、SWFな利点を享受するには金払わないと意味無さげ。いやそんなことはなかった。イイ!

自分はRubyとCGIとAjaxを使ったウェブアプリに慣れてるので、これを極力手を加えないでクライアントアプリに載せ変えられる手段として考えたいのだけども、ん?とすると、XMLHttpRequest を送る相手はやっぱサーバじゃないといかんわけ?エンジンをRubyで書きたい場合はたとえばWebrickでローカルにサーバをたてることになるのか?うーん、それもいまいちだな。 (といいながらやってみた) 標準入出力なXMLHttpRequest応答をするスクリプトなり実行ファイルをサーバでラッピングするようなことはできない?うーん、もうひとつ。

要は、エンジンだけRubyで書いて、GUIをApollo(ってAdobeのほうのね)で作りたいと。 で、配布時にはRubyに依存しないか、Exerbしたものを付ければいいと。あ、ダメじゃん。ExerbするならVisualuRubyでいいじゃん。あーでもMacならRubyは入ってるな。

ランタイムダウンロードしてもらうのも敷居が高いんだよな。Apolloが超流行るならいいけどさ。

とするとやっぱ、既存のAPIを叩いて回ったりするマッシュアップなツールをサーバレスで作れますよって感じなのか。うーん。ブラウザによる操作に不満が無い場合は要らないなあ。

使ってみた。うむ、とりあえず適当なHTMLだけつっこむとそのページしか見れない ブラウザって感じで動くな。ユーザエージェントは

Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) Safari/419.3 Apollo/1.0.Alpha1

を名乗ってる。

Javascriptもそこそこ動く(rico.jsの角丸ができた)ようだが、なんだか肝心のAjax通信が通ってない様子。 あー、webkit(Safari)だからricoじゃだめか。うーん。

そうこうしているうちにflex2が楽しくなってきた。

アイデアだけ書いとく

tDiaryのコメントをswfでやればSPAM対策になるよ!もちろんflashが見れないブラウザを 排除することになるけど。