新規に作ったRubyアプリを走らせる
喋りすぎたようだ。ちゃんと動作しているかな。試してみよう。
$ cd photoviewer
$ ../script/server /b:index.html
【注意】"/b"はWindowsでもMacでも同じようにスラッシュを使う。なぜならこれはパラメータの一部でありパスではないからである。
これはSilverlightの開発用のWEBサーバChironを起動して,デフォルトブラウザでindex.htmlを表示する。"/w"オプションでは,WEBサーバだけ起動してブラウザは起動しない。とにかく,このような表示が見られるはずだ(もちろんデフォルトブラウザ内に)。
新規プロジェクトの作成
Silverlightのアプリを作るために,SDKに"sl"というスクリプトがある。これは2つの引数をとる。言語(ruby,python,あるいはjscript)とアプリケーション名である。カレントディレクトリにアプリ名のフォルダが生成されて,その中にデフォルトアプリが生成される。ちょっと話しすぎたかな。実際にやってみよう。cmd.exeでもterminal.appでも開いて,以下のように入力する。
$ cd path/to/sdl-sdk
$ script/sl ruby photoviewer
【注意】もしWindowsを使っているのなら,パスの区切りにスラッシュ '/' ではなく '\' を使うこと。
これでたぶん"Your ruby Silverlight application was created in photoviewer"のようなメッセージが出るはずだ。同じようになったかな? 素晴らしい,先に進もう。では何が生成されたのだろうか。"photoviewer"フォルダの中には以下のようなものがある。
- index.html
- Ruby Silverlightの入れ物。何が生成されたのか気になるのなら,コメントに解説があるので読もう!
- reby/app.rb
- Silverlightのエントリポイント。このファイルはapp.xamlをレンダリングして,Rubyでちょっとしたテキストをセットしている。
- ruby/app.xaml
- アプリ用のXAML UI。実際には今回のアプリではXAMLは使わないので,後で削除する。
- ruby/silverlight.rb
- SilverlightApplicationクラスを定義し,既存のSilverlightのAPIをRubyにとってより使いやすいようにしている。これの新しいバージョンをphotoviewer-start.zipに入れてあるので,置き換えること。
- stylesheets/error.css
- まずいRubyのコードを書いて不幸なイベントが起きたとき,ブラウザに表示されるエラーメッセージを読みやすくするスタイルシート。
- javascripts/error.js
- Rubyのエラー通知機能をオフにした場合でも,このファイルが全てのエラーをキャッチして,ユーザが見苦しいアラートボックスを見なくてすむ。
事前準備
このウォークスルーはマックでもWindowsでも動作するが,Safariでは問題があるようだ。FirefoxとIEでは問題なく動作する。
始めるには,Silverlight Dynamic Languages SDK (Beta 2), 略して"sdl-sdk"のダウンロードと,Silverlight 2 Beta 2のインストールが必要だ。sdl-sdk.zipをsdl-sdkフォルダに展開すること。
またこのアプリが利用するイメージとライブラリを含んだphotoviewer-start.zipが必要だ。
ウォークスルー: SilverlightとIronRubyでFlickrクライアントを作る
昨日,私は.NET Developers Association(NETDA)向けにIronRubyとSilverlightについて話をした。この記事では,私が作ったアプリの1つ,Flickrクライアントをお見せしよう。
実際のアプリへのリンク:http://jimmy.schementi.com/silverlight/photoviewer
『Silverlight2 と IronRuby で Flickr のクライアントを書く』を翻訳した。
http://d.hatena.ne.jp/ma2/20080815/p1の翻訳。
文章が口語調なんで,うまく訳せていないところがありますが許してください。ここで使っている画面イメージは僕のPCで,このエントリの通りに作ったものを動作させた結果です。
元ネタはJimmy Schementiさんのブログ(http://blog.jimmy.schementi.com/2008/08/walk-through-silverlight-flickr-client.html)。素晴らしいエントリをありがとう!
■
【メモ】日記を書こうとして挫折した跡