Web サービス(Ajax アプリケーション)を Adobe AIR に移植しようとして気づいたことをメモしておく。
ruby-MySQL のサーバーサイド(ビジネスロジックはなくストレージ機能)は AIR の SQLite データベースで実現する。
気づいたことを徒然なるままに。
- AIR は Webkit ベースなので、IE, Firefox, Safari, Opera, Chrome × Win, Mac ブラウザで動いていた Ajax が余裕でそのまま動くと思っていたが、『jQuery のプラグインが動かなかったり、 eval が上手く使えなかったり、:hover が適用されない。』と手痛いことが多い。
- Ajax AIR はデバッグがきつい。Firebug が使えないので Trace 地獄になる。Flex (Builder) で開発させたいのが本音だろうなぁ。
- ローカルストレージが SQLite なのも微妙。これは Gears でも思ったがローカルストレージを RDB にする意味がわからない。REST や webDAV みたいにあくまでも ターゲット URI を切り替えて使えるような I/F の方が好ましいと思う。
- Flex 版も含めての話だが、正式な証明書ではないとしてもインストール時に制作者を表示してほしい。UNKNOWN になってしまうのは。。。
ということでインターフェイスの切り替えで済むような移植を考えていましたが断念しました。
Flex 同様、AIR も バージョン 2 あたりから期待した方がいいかもしれない。
※蛇足だが Aptana Studio をアップデートしたら AIR の出力がエラーで不能になってしまった。