RubyのGUIでApolloといえばふつうはこっちのApolloですが、
あえてAdobeのほうのApolloを使ってRubyのGUIアプリを作ってみます。
どういうこと?
Flex2を使うとかなり優秀なGUIコンポーネントを使ったswfが作れますが、
Apolloの登場でそのswfを単体アプリに簡単に変換できるようになりました。
で、Ruby側でたとえばWebrick/CGIなサーバをローカルマシンに立てて
Apolloと通信すると、Flex2の美しいGUIを使いつつ、ロジックは
Rubyで書いた、単体GUIアプリができるというわけ。まあ通信がCGIなのは何ともオールドタイプな感じだけどまあいいか。
サーバはこんな感じで、a,bを引数にGETされるとa+bを返すだけのもの。XMLにしとくと後述のデータバインディングが楽なのでそうしました。
で、クライアント(Apollo)側はこんなかんじに、
a,bを書くフォームと、計算ボタンがある
というだけのもの。Flex2というかMXMLは今回初めて使いましたが、データバインディング
を使えばロジックを全く書かなくてよいのがいいですね。コードも結構短いしシンプルに
書けます。あれ、layout="horizontal"が効かないなあ。何か間違ってるかな。
これをビルドして、サーバを立ち上げておいてからクライアントを起動します。
できた!しかしなんという富豪(?)な...。誰がボトルネックなのかしらないですがめちゃくちゃ遅いです。まあでも、慣れればたぶん結構早く開発できるんじゃないでしょうか。そうはいっても、ちょっとしたアプリのためにサーバを立てるのはちょっと現実的ではないので、やっぱ既存のWebサービスを叩くのが向いてるのでしょうね。素直にActionScriptを覚えろということでしょうか。まあやってみたかっただけですが、Flex2はドキュメントが充実してて、mxml完全初心者がこれぐらいのことをやるのに数時間ですむってのはすばらしい。
いちおう一式をこちらに置いておきます。ApolloSDK一式が必要です。
おぉ!早速いじってますね。<br>手軽さがすばらしい!
なかなか楽しいっす。とりあえずドキュメントの充実具合にAdobeの本気度を見た。