ゴミ回収が有料化ということで、今年度のうちに使ってない妻の自転車を処分。
夜捨てたのだが、早朝に見ると自転車のサドルがない。ナゾだ。
しかし、サドルって結構持って行かれるけど、あれ、何なんでしょう。
隣の子供が泣いている。たぶんサドルが見つからないのだろう。
このように、世界は切実にサドルを必要としている。あなたにとって理想のサドル、それは、実はあなたの心の中にちゃんとあるのだが、それに気付いていないだけなのだ。お爺さんが川で選択に迫られていると、川上から大きなサドルがどんぶらこぉ〜、どんぶらこ。世界には3つのサドルがある。君のサドルに乾杯。ああサドル、あなたはどうしてサドルなの。君こそどうして、
...いかん、止まらん。
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一式が必要です。
○ みのうら [資源物集積所の自転車のサドルを取ってきたこと,あります。 乗っていた自転車のサドルが壊れていたので。バキッと壊れたと..]