太郎日記’79J

「やったろうやないの。」な太郎のblog
技術ネタはタロタローグに任せて、こっちはニュースメインで。
<< August 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
RECOMMEND
MySQLによるタフなサイトの作り方
MySQLによるタフなサイトの作り方 (JUGEMレビュー »)
佐藤 真人,桑野 章弘,岡田 達典,大黒 圭祐
MySQLだけでなく、DBサーバやアプリの設計など、あらゆる手段を使ってタフなサイトを作る本である
最新記事
あわせて読みたい
あわせて読みたい
なかのひと
ClusterMaps
CM by JUGEM
スポンサーサイト

一定期間更新がないため広告を表示しています

- | 個別記事 | - | -
UIE SDK2.2のお知らせマダー?(・∀・)っ/凵⌒☆チンチン

UIE SDK 2.2はWYSIWYGで各種デバイス向けアプリケーションを作成できる(Young risk taker.)

展示会でデモが公開されていたので知っている人もいるかと思うが、UIEvolution社が開発しているUIE SDK 2.2(仮)が興味深い。様々なデバイス向けのアプリケーションをGUIで簡単に作成できるツールで、xcodeのInterface Builderのような機能を提供する。(Wednesday, August 01, 2007 Posted by 7:29 AM)
情報遅いよ、何やってんの!
と言う声が聞こえてきそうだが、
このブログにあるUIE SDK2.2は事実だろうか?
確かにここのところUIEに関するデモを見に行ってない。
事実ならば、さぁ早く出してくれと言ったところだ。

ついでに、Flash版UIEプレイヤーも出して欲しい。

そして、作ったアプリ+プレイヤーをブログパーツ化する仕組みを提供して欲しい。
手順はこんな感じで。
  1. UIEにデベロッパとして登録する
  2. 作ったUIEアプリをサーバにアップする
  3. UIEデベロッパ向けのMyページにアクセスする
  4. 作成したUIEアプリ一覧から、さっきアップしたアプリを選択
  5. 「ブログパーツを作成する」ボタンを押す
  6. コードをブログに貼って動かす
または、こんな感じ。
  1. UIEアプリをパブリッシュする
  2. パブリッシュのメニューに「Flash 9用」「Flash Lite2用」とかのメニューがある
  3. UIEアプリが、アプレット形式ではなくswfファイルできてくる
  4. ついでに、ブログパーツ用のHTMLコードが吐かれる
  5. 自分のサーバにswfファイルをアップし、コードをブログに貼って動かす
「デベロッパ登録とかMyページとかあったっけ?」
って気もする。
最近触れてないから知らんのよ。

続きを読む >>
UIE Developerのデバッグモードでエディタがすぐ小さくなる件

UIE Developer2.1の話なんですが、
「UJMLデバッグ」パースペクティブの時にUJMLエディタを最大化し、
テキストを編集して保存すると、
何故か最大化が解除されるバグを発見しました。
でもこういうバグ報告ってフォーラムに英語でしなきゃならないのかな。
英語出来ないんですけど。

UIEngine/UJML Wikiの役に立つ度が微妙。

久々にUJMLをいじってて、
ちょっとRecordSetについて知りたくなったんですが、
折角UJMLの情報源として開設されたであろうUIEngine/UJML Wikiの、
肝心のRecordSetの項目が

UIEvolution Developer Blogで公開されている、サーバークライアントでのデータを簡単にやりとりする仕組み。

日本語による説明はUIEngine ださんの以下のエントリに詳しい。

UIEngine だ: UJMLサンプル137:RecordSetサンプルの超簡易サンプル
http://uiengineda.blogs.com/uiengine_/2006/07/ujml137recordse.html
これだよこれ。
参ったね。
UIEngineだ」見れないと使えないときた。
は、早く復活してくだされ〜

でも、復活しても構成変わって、
やっぱ意味無かったみたいな話にも、
なりかねない。

UIE Japanさんは、
トラックバック・ステーションも結構スパム放置気味だったり、
Wikiも公開後1月22日以降は放置だったり、
修羅場ってた」らしいと言う話だったり、
結構大変な職場なんでしょうかねぇ?

それとも放任主義?

UIE Developerのエミュレータが変な挙動をするらしい→確かに変だ。

UIE Developer’s Forumに、
UIEngineださんが1月14日にポストした内容を見たんですが、
それによると、

On SDK2.1, running an application.

While edit-box is opening and it is edit mode, when I click button "one" on emulator, the event <key>1</key> is catched.

Is it the expected action?
とのこと。
要するに、
「Editボックスを開いてる間に、エミュレータの”1”ボタンを押すと、
キーイベントが拾われるんだが、いいの?」
ってことですな。
返信が、
Could you post some example code please? I'm not exactly sure what wyou mean by "while edit-box is opening". Maybe the state transition containing the edit-box hasn't become active yet. Sounds like it could be some kind of race condition.
「言ってる事がよくわからん。サンプル貼ってよ」
で止まってました。
で、気になったんで調査してみました。

とりあえずForumの内容によれば、
テキスト入力中にエミュレータの画面の「1」を押すと、
イベントが拾われるとなっています。
つまり、

この、左上の「1」をクリックすると、
本来ならば入力画面上で1が入力されるだけのはずが、
表示画面に移るということでしょう。
今回は、左下の「*」でも試してみましょう。

てなワケで実験内容は以下。
  1. キーボードの「1」ボタンを押す
  2. キーボードの「*」ボタンを押す
  3. エミュレータの「1」をクリック
  4. エミュレータの「*」をクリック
これで、挙動を調べればわかる。

で、調査用のソースは以下。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 2.1//EN" "http://www.uievolution.com/dtd/ujml-2.1.dtd" [

]>


<ujml>
  <application>

    <state-variables>
      <state-var name="sShow" type="boolean"/>
      <state-var name="sEdit" type="boolean"/>
    </state-variables>

    <variables>
      <var type="int" name="mScrWidth"/>
      <var type="int" name="mScrHeight"/>
      <var type="int" name="mTextHeight"/>
      <var type="string" name="mText"/>
    </variables>

    <script>
      mScrWidth = _getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;);
      mScrHeight = _getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;);
      mTextHeight = _text_height( 0, 0, 0 );
      mText = "";
      sShow = false;
      sEdit = true;
    </script>

    <display>
      <!-- Display F1 function key for exiting app -->
      <fn>
        <text>Quit</text>
        <event name="onselect">
          <accelerators>
            <key>F1</key>
          </accelerators>
          <script>
            _unload();
          </script>
        </event>
      </fn>
      <!-- Display screen background color -->
      <box>
        <width> <eval>mScrWidth</eval> </width>
        <height> <eval>mScrHeight</eval> </height>
        <bg>&_COLOR_BLACK;</bg>
      </box>      
    </display>

    <states>
      <state var="sShow">
        <transition value="true">
          <display>

            <!-- Display text centered on screen -->
            <label>
              <text><eval>mText</eval></text>
              <x><eval>(mScrWidth - _text_width( mText, 0, 0, 0 )) / 2</eval></x>
              <y><eval>(mScrHeight - mTextHeight) / 2</eval></y>
              <fg>&_COLOR_YELLOW;</fg>
              <event name="onselect">
                <accelerators>
                  <key>FIRE</key>
                </accelerators>
                <script>
                  sEdit = true;
                  sShow = false;
                </script>
              </event>
            </label>
          </display>
        </transition>
      </state>
      <state var="sEdit">
        <transition value="true">
          <display>
            <edit var="mText">
              <width><eval>100</eval></width>
              <x-caption>入力後、F2を押して下さい。</x-caption>
              <event name="onselect">
                <accelerators>
                  <key>F2</key>
                  <key>1</key>
                  <key>STAR</key>
                </accelerators>
                <script>
                  sEdit = false;
                  sShow = true;
                </script>
              </event>
            </edit>
          </display>
        </transition>
      </state>
    </states>

  </application>
</ujml>
  1. 起動すると、まずは入力画面から始まります。
  2. 適当に値を入力し、
  3. F2ボタンを押すと表示画面に移り、入力内容が表示されます。
とまぁ、見た目上はこのような動きですが、
ソースの
            <edit var="mText">
              <width><eval>100</eval></width>
              <x-caption>入力後、F2を押して下さい。</x-caption>
              <event name="onselect">
                <accelerators>
                  <key>F2</key>
                  <key>1</key>
                  <key>STAR</key>
                </accelerators>
                <script>
                  sEdit = false;
                  sShow = true;
                </script>
              </event>
            </edit>
この太字部分で指定しているように、
「F2」以外にも、
「1」キー(1)「*」キー(STAR)
でも、入力が終了し、表示画面に移ります。

実験開始。

  1. キーボードの「1」ボタンを押す

    入力画面に「1」と出ました。
    イベントは拾われなかったようですね。
  2. キーボードの「*」ボタンを押す

    キーボード上で「1」を押したときと同じです。
    入力画面に「*」と出ました。
  3. エミュレータの「1」をクリック

    イベントが拾われたらしく、
    入力が終了して表示画面に移ってます。
    しかも、「1」が入力されてます。
  4. エミュレータの「*」をクリック

    入力が終了して表示画面に移ってます。
    しかも、「1」の時と違い、「*」が入力されてません。

以上より、
基本的に入力画面でキーボードを押しても、
イベントにならないようです。
が、エミュレータの方のボタンを押すと、
ボタンにより異なる挙動をするようです。

この、「異なる挙動」の部分を鑑みるに、
多分これは、「expected action」ではないですね。

あとは、サンプルコードの日本語部分を英語にして、
「俺は質問者じゃないけど、
多分こういうことじゃない?」
と言う英語を作文してポストすれば良いわけですな。

では、NOVA行ってきます。

UJMLアプリをビジュアル開発する方法

UIE Developerの最新版、UIE Developer2.1.0ですが、
気になる新機能がありました。
その名も「UIE Designer」!
何となく、GUIを作成するビジュアルエディタっぽい名前ですが、
どうやらまだ使えないようです・・・。

でも我慢できない!
そんなあなたに、UIE Designerをちょっとご紹介。
つか、実は使えて、使い方を知ってる人が
現れるかもしれません。
期待期待。

まず、UIE Designerとはどんなものかからご紹介。

  1. 全体像
    全体像はこのようになっています。3ペイン型ですね。
  2. プロジェクト
    左上には、「プロジェクト」と言う名前のビューがあります。
    右クリックメニューから「新規」を選んでも何も出来ない。
    この辺りが、まだ実装されてない機能っぽさを出してます。
  3. デバイス
    左下は「デバイス」ビューです。
    その名の通り、作成対象となるデバイスを
    指定できると思われます。
    現在のところ、何をしても無反応です。
    寂しいですね。
  4. パレット
    ビジュアルエディタには欠かせない、
    「パレット」ビューです。
    が、現在のところ
    「パレットに表示する項目はありません。」
    という、悲しい表示があるだけです。
これが、期待の新人UIE Designerの、今の所の全貌です。

では、UIE Designerとの出会い方を大公開!
実は、そう難しくはありません。

  1. メニューから「ウィンドウ(W)→パースペクティブを開く(O)→その他(O)」を選択
  2. 出てきたダイアログの左下、「すべて表示(S)」をチェック
  3. これで、一覧にUIE Designerが登場します。
ちなみに、一覧に出てる「Planning」ってのは、
Eclipse Mylarってなに? - 基礎編 体験してみる? タスク指向UIMYCOMジャーナル)
このプラグインです。
興味があったんで追加してみました。

「UIEngineだ」はどこへ消えた?

いや、見れないんですが。
UIEngine Wikiからも多数のリンクが張られているこの「UIEngineだ」、
無くなるとUIEngine会にとって大きな損失ですよ。

英語版「Not for UIEngine But for User Experience
によれば、
[Notice] UIEngineda is not published cause,(Not for UIEngine But for User Experience)

After I've changed some this blog's preference, Japanese version has been unpublished. I'm trying to republish all entries. Sorry for the inconvenience.(January 31, 2007)
とのことで、
全エントリを作り直している所のようです。
参ったな。

UJMLのライブラリって無いの?ほら、あのAJAXの「prototype.js」みたいな奴さ!

UJMLというのは、
UJML Language Reference シンタックスに関するメモによれば、

UJMLは、UJMLコンテンツを定義する規定済みのXML要素と属性の集合と、 UJMLスクリプトを記述するスクリプト要素から構成されています。
なわけです。
XML要素と属性の集合ってのは、
要はXMLタグです。

スクリプトとタグ。
お!アレに似てるじゃないですか。
HTMLタグとJavaScriptで構成されてるアレ。
AJAX。

AJAXなんて、
一昔前は面倒なだけで無意味な演出とか、
何かもう酷い言われようでしたが、
prototype.jsとかYahoo! UI Libraryといった、
優れたライブラリが出てきてから状況が一変しましたよね。
ライブラリを使えば、難しいアニメーションとか、
インタラクティブなメニューとか、
人間のインスピレーションを限界まで引き出すことが出来る。
まるで味の宝石箱や〜。

そんなわけで、今や猫も杓子もAJAX。
女子も弱子もAJAX。
AJAXは、Web2.0時代の必須要素です。

で、UJML。
実は昨日、久しぶりにコードを書いてみたんですが、
やっぱ関数が少ないのね。
数学関数とか。
例えば、
「あ、べき乗計算してぇ」
と思った時、UJMLには無いのね。
「pow」とか、そんな関数が。
そう言った、ユーティリティ関数的なものが欲しいわけです。
元々は組み込まれてなくても、
誰かが作った奴がネット上にあったら便利そうでしょ?
そういうライブラリが欲しいわけです。
便利な特殊ユーティリティライブラリ。

他にも、アレ。
UI部品。
例えばGoogle Mapsと連携する、
MapCanvasとか。
そんな凄いのじゃなくても、
サンプルにもあるって言う「ListBox」みたいな、
結構基本的なUI部品でいいので。
最近だと、Flash Professionalには
そういうのが搭載されてたはず。
そういうのも、あったら便利ですよね。

別に、
UIEよ、全部作ってくれ!
てなワケではないんですが、
とりあえず、CPANとかJSANみたいに、
アップロードしたりダウンロードしたりする場所が欲しいです。
あと、ユーティリティ関数群用の
テンプレートとか。

そしたら、試しに作って、
そしてアップロードしてみようかなとか、
そんな気になるかもしれません。
多分、ダウンロードのみですが。

で、ユーティリティ関数群てのは、
どーやって書いたらよろしいんですかね?

箱入り娘が久々にヤンチャしだした。

「箱入り娘」が久々に復活(Life is beautiful)

(前略)
ちなみに、Flash版のUIEngineは、かろうじて動き始めたばかりで、十分なテストをしていないので、まだ一般に配布はしていない。安定して動き始めたら、ベータ版として配布をする予定なので、少々お待ちいただきたい。もし、手持ちのブラウザーでこの箱入り娘がちゃんと動かない場合には、このエントリーのコメント欄にでも報告をいただけるととてもありがたい。(2006.12.13 )
とのことですが、
俺の環境では早速エラーが出ました。
ページを開くたびにこのダイアログが出てくるので、
若干邪魔ですね。
多分箱入り娘が原因だと思いますけど。
メッセージはこんなんでした。
ReferenceError: Error #1069: Property hasDefinition not found on flash.system.ApplicationDomain and there is no default value.
	at mx.managers::SystemManager/getDefinitionByName()
	at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::addingChild()
	at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::rawChildren_addChildAt()
	at mx.managers::SystemChildrenList/addChild()
	at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::initialize()
	at mx.managers::SystemManager/::initHandler()
箱入り娘の様子はこう。
で、ブラウザとFlash Playerの情報はこう。
Flashのバージョン情報:You have version 9,0,0,296 installed
ブラウザの情報:Firefox 2.0

そういえば、Flash版UIEngineと言うコトで、
かなり期待できますね。
FlashLite2.0くらいででもいいんで、
モバイル版の道を切り開いて欲しいです。

UIE Developerのオプションを指定する方法

前回のエントリで、
「UIEngineだ」さんが取り上げていた、
ワークスペースを替えるにはどうするかについて、

IDEから行う方法を紹介しましたが、
実際問題、Eclipseにもいろいろなオプションがあるし、
他にもJava用のオプションもありますよね。(-Xmsとか)
じゃあそういうのはどうやって指定するんだ?
となるわけですが、
実はEclipseには、「eclipse.ini」なるファイルがあります。
ということで、実はこの設定ファイルを書き換えれば、
バッチファイルが不要になるはずと思い、
フォルダを調べてみました。

そしたら、eclipse.iniは無かったんですが、
よくみたら、UIE_Developer_2.1.0¥bin以下に、
UIE_Developer.ini
てのがありました。
開けてみるとこんな感じ。

-vm
C:¥Program Files¥UIEvolution¥UIE_Developer_2.1.0¥_jvm¥bin¥javaw.exe
-vmargs
-Xms128m
-Xmx1024m
おおこれだ!
名前はオリジナルになってますが、
これにオプションを指定してやれば、
ワークスペースも切り替えられるはずです。
例えばこう。
-vm
C:¥Program Files¥UIEvolution¥UIE_Developer_2.1.0¥_jvm¥bin¥javaw.exe
-data
C:¥UJML¥workspace
-vmargs
-Xms128m
-Xmx1024m
そして実験。成功。

つか、Javaも独自のを使ってたんだ。
2.0.0の時にJ2SE1.4で起動できないって話が、
結構出てたのかな?
で、対策したとか。

UJMLのJは、「地味に不親切」のJに違いない。

SDK2.1 好きなフォルダをワークスペースに指定したい(UIEngineだ)

SDK2.1からワークスペースが自動的に "Documents and Settings"以下になっているのだが、自分の好きなフォルダに指定したかったので、SDK起動時のオプションに

-data c:¥work¥uie¥workspace

のような形で-dataオプションをつけたバッチファイルを作成して、それを使っている。
俺はEclipseを使うときには、
新しいプロジェクト作成時に自分で保存場所を選ぶので
コレは気にならなかったんですが、
そうなんですね。

多分ですが、
1.ファイル→ワークスペースの切り替えを選択。

2.ワークスペースを指定(画像は「C:¥UJML¥workspace」にワークスペースを設定)
で、OKをクリックするとIDEが再起動し、
以後は指定したワークスペースがデフォルトになる気がしますが。
PC自体を再起動して試したわけではありませんが、
IDEを何回か立ち上げなおした限りだと、
これでいけるはずです。

ところで、
SDK2.1対応のDojaプレイヤーが出た(UIEngineだ)
こっちは相当わかりにくいですね。
なぜデフォルトで設定されてる更新サイトで更新できないの?
って気がします。
つか、最初からこのプレイヤー用の更新サイトも、
更新サイトとして登録しとけよ!

Copyright (C) 2004 paperboy&co. All Rights Reserved.

Powered by "JUGEM"