« [prototype]はてなブックマーク整理用ツールのプロトタイプ | メイン | YahooWidgetsのソースコードと比較する タイマー的な使い方 »

YahooWidgetsのソースコードと比較する(2006/07/06)

Yahoowidgets  シンクライアント系のテクノロジーを触ることが多いが、その中でも Yahoo!Widgets 用の開発言語はXMLベースの言語で、UJMLに極めて良く似ている。今回は試しに比較してみる。

※Yahoo!Widgetsはデスクトップ上にWidgetsと呼ばれる小型アプリケーションを使えるようにするプラットフォームのこと。

Yahoo! Widgets
http://widgets.yahoo.com/

画像を表示するためのタグ<image>はUJML,YahooWidgetsのどちらにもあり、簡単な例として適当だ。今回は<image>タグで比較。

UJMLの例:

            <image>
                <url><image-url>hoge</image-url></url>
                <x>0</x>
                <y>0</y>
                <width>65</width>
                <height>48</height>
            </image>

YahooWidgetsの例:

        <image>
            <name>mBox</name>
            <width>50</width>
            <height>50</height>
            <src>hoge.gif</src>
            <visible>true</visible>
        </image>

まず、画像ファイルの指定方法が違う。

UJMLは拡張子をはずした形で指定する。デバイスにより表示できる画像フォーマットが異なるので、提供側でbmp,png,gif,jpg等のファイルフォーマットを用意しておくのが望ましい。UIEngineが表示できる画像フォーマットを判断し、gifが表示できるなら hoge.gif を探しに行くという仕様だ。

YahooWidgetsはデスクトップ環境が前提なので、標準的に表示可能なはずの画像を直接指定する。

UJMLの例:

            <image>
                <url><image-url>hoge</image-url></url>
                <x>0</x>
                <y>0</y>
                <width>65</width>
                <height>48</height>
            </image>

YahooWidgetsの例:

        <image>
            <name>mBox</name>
            <width>50</width>
            <height>50</height>
            <src>hoge.gif</src>
            <visible>true</visible>
        </image>

表示/非表示の指定が違う。

UJMLは表示/非表示をステート変数で処理するため、<image>タグ内の要素として表示/非表示に関するものは無い。むしろ、<image>タグの親要素(何段階か上だが)で表示/非表示の処理を指定する。

YahooWidgetsは直接指定する。

UJMLの例:

            <image>
                <url><image-url>hoge</image-url></url>
                <x>0</x>
                <y>0</y>
                <width>65</width>
                <height>48</height>
            </image>

YahooWidgetsの例:

        <image>
            <name>mBox</name>
            <width>50</width>
            <height>50</height>
            <src>hoge.gif</src>
            <visible>true</visible>
        </image>

オブジェクトへの名前付けの仕様が違う。

UJMLではオブジェクトへの名前付けはできない。任意のスクリプトから特定のオブジェクト(例えば画像)を名前指定していじることができない。例えば、mBox.height=50 として、画像の高さを変更することはできない。

YahooWidgetsは任意のスクリプトからオブジェクトを操作できるように、オブジェクトへの名前付けができる。これにより、mBox.visible=true として表示を切り替えたり、mBox.height=50 として画像の高さを変更することができる。

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e55094cb598833

YahooWidgetsのソースコードと比較するを参照しているブログ:

コメント

この記事へのコメントは終了しました。