« 2007年06月 | メイン | 2007年08月 »

2007年07月 アーカイブ

2007年07月14日

忘れた頃に

書かれるBLOGの名に恥じず、かなり間が空いてしまいました。しかもコメントスパムが素通りだし。対策します。

Silverlightを触る

Silverlightとは、Micsoroftの.Net3.0技術のうちのひとつです。「WPF(Windows Presentation Foundation)」という画面描画のための新しい技術を、ブラウザに組み込んでどこでも使えるようにしたものというような解釈を(私は)しています。
利用者側はFlashのようにプラグインを入れて動作させます。逆に言うと、プラグインさえ入れれば利用できます。利用者は.Net3.0のランタイムなどを入れる必要はありません。通常のWPFアプリのように、.Netのdllなどをクライアント側に配置して動かすこともできるようですが、JavaScriptのみで動かすのが本流ではないかと思います。

Silverlight本体は、「Silverlight.js」というJavaScriptのファイルで提供されているようです。
WPFなので、「XAML(eXtensible Application Markup Language)」というXMLで画面を記述します。XAMLは「ザムル」と呼ぶようです。
基本的には、


  • html

  • 画面を定義したxaml

  • Silverlight.js(Silverlight本体)

  • Silverlightを呼んだり、イベント処理を行うJavaScript


があれば動きます。
ためしに簡単なサンプルを作ってみました。

サンプルはこちらです。
サンプルのファイルをダウンロードできるようにまとめたものはこちらです。

なお、サンプルに初めてアクセスするときに、Silverlightのプラグインを入れるかどうか聞いてきます。サンプルをみるためにはプラグインのインストールを許可する必要があります。

このサンプルで作ったのは、以下のXAML程度です。簡単なものです。

<Canvas
 xmlns="http://schemas.microsoft.com/client/2007"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 Width="500" Height="450"
 >
 <Canvas.Triggers>
   <EventTrigger RoutedEvent="Canvas.Loaded">
    <EventTrigger.Actions>
     <BeginStoryboard>
      <Storyboard>
    <DoubleAnimation Storyboard.TargetName="angle"
        Storyboard.TargetProperty="Angle"
        From="0" To="360" Duration="0:0:10" RepeatBehavior="Forever" />
      </Storyboard>
     </BeginStoryboard>
    </EventTrigger.Actions>
   </EventTrigger>
  </Canvas.Triggers>
 <TextBlock Opacity="1" RenderTransformOrigin="1.022,0.458" Width="188" Height="46" FontSize="30" TextWrapping="Wrap" Canvas.Left="8" Canvas.Top="215.001" x:Name="title" FontWeight="Normal">
  <TextBlock.RenderTransform>
   <TransformGroup>
    <RotateTransform x:Name="angle" Angle="0"/>
   </TransformGroup>
  </TextBlock.RenderTransform>
  <TextBlock.Foreground>
   <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
    <GradientStop Color="#FF000000" Offset="0"/>
    <GradientStop Color="#FFFFFFFF" Offset="0.967"/>
    <GradientStop Color="#FF77777D" Offset="0.354"/>
    <GradientStop Color="#FFDBDBDD" Offset="0.967"/>
    <GradientStop Color="#FFA6A6AE" Offset="0.938"/>
   </LinearGradientBrush>
  </TextBlock.Foreground>
  GrandNature
 </TextBlock>
</Canvas>

XAMLの定義は、手作業でやるのは相当しんどいのでExpression Blendというツールを使うのがよいみたいです。7/13に、他のツールと併せてExpression Studioとして発売されたようです。
今回はそちらの試用版を使ってみました。タダにしてくれないかなあ。
Silverlight、流行りますかね。

2007年07月19日

Adobe Integrated Runtime (AIR)を触る

Adobe Integrated Runtime (AIR)は、Adobeが提供しているプロダクトです。AIRは、Webアプリの開発技術をベースにデスクトップアプリを作ることが目的のようです。HTML、やJavaScriptのみならず、FlashやPDFといった既存の様々な技術要素を組み合わせることができるから「Integrated Runtime」なのでしょう。ちなみにAIRは「Apollo」というコードネームです。

  1. AIRの実行環境
  2. 以下から落とせます
    http://labs.adobe.com/downloads/air.html
    利用者はこれが入っていないとAIRのアプリケーションを実行できません。利用者が明示的に実行環境をインストールしなければなりません。

  3. SDK
  4. Flex3のSDKの中に含まれているようなのでこちらを使ってみました。(AIR単体のSDKもあります。)
    http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html
    もうFlex3なんですね、全然ついていけません。AIRは、Flexの技術要素を使わずにJavaScriptやHTMLとAIRのAPIだけで作ることもできますが、Flexと連携するのが本流のようです。

  5. IDE
  6. 一般的なIDEはFlex Builder 3のようですが、私はAptana IDEを使いました(ステップ実行はできませんが)。Aptana起動画面のpluginsタブに「Download and install the Aptana plugin for Adobe AIR Support」というリンクがあります。そこからAIRの開発環境をインストールすることができます。

  7. サンプル
  8. 自分で作る気力がなかったのでサンプルを見る程度でお茶を濁すことにしました。
    以下にあるサンプルの
    http://labs.adobe.com/wiki/index.php/Apollo:Applications:Samples
    Freshというものを見ました。このサンプルはFlexを使っていないようです。htmlとJavaScriptだけでできています。画面デザインはhtml(fresh.html)です。このHTMLがデスクトップアプリになるとは。すごいなあ。
    画面からのイベントや画面の部品とJavaScriptを紐付けて、そこからAIRのAPIを呼ぶような感じです。
    ちなみに、RSSのfeedなどの情報は、Local Storeに保存されています。Local Storeの場所は

    C:\Documents and Settings\[user]\Application Data\com.adobe.apollo.samples.fresh\Local Store

    のあたりです。

  9. 配布
  10. AIRのアプリケーションの配布は簡単です。Aptanaであれば、プロジェクトを右クリックし、「エクスポート」->「Adobe Air Package」を選択することで、AIRのパッケージファイルを作成できます。このファイルはインストーラーになっています。

2007年07月27日

[ゴータマ]自己について

久しぶりのゴータマさんです。テーマは自分(自己)というものについて。です。

  • 先ず自己を正しくととのえ、次いで他人を教えよ。そうすれば賢明な人は、煩わされて悩むことが無いであろう。
  • 他人に教えるとおりに、自分でも行なえ--。自分をよくととのえた人こそ、他人をととのえるであろう。自己は実に制し難い。
  • 自己こそ自分の主である。他人がどうして(自分の)主であろうか?自己をよくととのえたならば、得難き主を得る。
  • ・・・

  • たとい他人にとっていかに大事であろうとも、(自分ではない)他人の目的のために自分のつとめをすて去ってはならぬ。自分の目的を熟知して、自分のつとめに専念せよ。

「ブッダの真理のことば 感興のことば 訳:中村元」
ダンマパダ 第十二章 自己

もうひとつ

  • 他人の過失を見るなかれ。他人のしたこととしなかったことを見るな。ただ自分のしたこととしなかったことだけを見よ。

「ブッダの真理のことば 感興のことば 訳:中村元」
ダンマパダ 第四章 花にちなんで

まず自分ってことでしょうか。この考え方は個人的にはすごく共感できます。でも、世の中にはこうじゃないことも多いですよね。たとえば自分のことを棚に上げることが大事だと言う人もいます。この人の言うことも共感できます。でもそれをやりすぎると胡散臭くなると思います。私個人的には、棚に上げている人のことを嫌いじゃないですし、そうせざるをえない立場の人もいるでしょう。しかし私としては、棚にあげずに自分が理解していたり出来ることしか言わないようにしています。

ところで、この話題からずれるかもしれませんが、ゴータマさんは他者(家族や子供であろうとも)との関係をすごく割り切っているように感じますね。今までのエントリーからもそれは伝わってきます。

てか、何冊か仏典を読みましたが、同じことばかり繰り返し言っていて、だんだん飽きてきました(汗

2007年07月30日

LOGO

LOGOという言語について書かせて頂きました。もしよろしければご覧下さい。

前編
http://gihyo.jp/dev/serial/01/enjoy-pg/0003
後編
http://gihyo.jp/dev/serial/01/enjoy-pg/0004

About 2007年07月

2007年07月にブログ「GrandNature」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2007年06月です。

次のアーカイブは2007年08月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。