akihiro kamijo: June 2007 Archives

« May 2007 | Main | July 2007 »

June 25, 2007

Adobe AIR Extension for Dreamweaver と Dreamweaver CS3 日本語版

先日 Adobe Labs に公開された Adobe AIR Extension for Dreamweaver が日本語版の Dreamweaver CS3 ではテストされていないことをお伝えしましたが、社内有志によるテストの結果、いくつか不具合はあるもののお試し目的であれば十分使えそうだということが分かりました。

現在判明している大きな問題は以下の2つです。

  • Dreamweaver の起動、終了と新規ファイルの作成の度に JavaScript Error のダイアログが2回ほど出ます。かなりうざいバグですが機能には影響ないようです。
  • UTF-8 以外のエンコーディングで AIR にパッケージすると文字化けします。当面 AIR アプリケーションを開発する際は UTF-8 を使用する必要があります。

もし他にもバグが見つかったら是非ご連絡いただければと思います。日本語版の CS3 もやっと出荷されましたので是非お試しください。

ところで、AIR のベータから透過な HTML アプリケーションが開発できるようになった件について、何件かお問い合わせをいただきましたので補足説明です。

この機能は HTML をルートとするアプリケーションに関するものです。AIR のベータでは JavaScript から HTMLControl オブジェクトの paintsDefaultBackground 属性を使って背景の表示/非表示を指定することができます。

<script>
  function init(){
    // HTML の背景を透明に
    window.htmlControl.paintsDefaultBackground = false;
  }
</script>
<body onload="init();">
 

これでアプリケーション記述ファイル内でメインウインドウの背景が透明になるように設定すれば、背景の透過な HTML アプリケーションを実行することができます。

7月4日追記 : 下記コメントをいただいたので確認したところ、アプリケーション記述ファイル内で transparent が true の場合は AIR が起動時に paintsDefaultBackground = false の設定をするようです。つまり、背景を透過にしたい場合は、アプリケーション記述ファイルに指定するか、JavaScript から paintsDefaultBackground の値を設定する、のどちらかで実現できます。

以上、訂正です。ご指摘ありがとうございました。

Posted by ackie at 03:33 PM | Comments (5) | TrackBack

June 21, 2007

Javaworld Day 2007

Javaworld Day 2007 のセッションにお越しいただいた皆様どうもありがとうございました。当日の資料はイベントサイトから近々ダウンロードできるようになる予定です。公開されたらまたお知らせします。

説明した内容については AIR, Flex 3, CS3 とどれか1つだけでも一時間では収まらないようなトピックを全てカバーするため、個々の話題に深く入るのは難しいだろうということで、デモによる説明にできるだけ時間を割くようにしました。より詳細な情報は blog でカバーできればと思っています。

当日、外部から読み込んだアプリから AIR の API へのアクセスが可能かというご質問をいただいて、その場ではっきりとした回答ができなかったのでフォローです。(読んでもらえてますか?)

AIR のアプリケーションディレクトリ (AIR アプリケーションがインストールされるディレクトリです) の下に置かれたファイルのみが AIR の API を使用できる特別なサンドボックス内で実行されます。また、AIR アプリケーションを使って外部リソースをアプリケーションディレクトリに読み込むことはできません。そのため実行時にロードしたコンテンツから AIR の機能を操作することはできないと考えてよさそうです。

最後にセッションでご紹介したサイトと公開されているアプリへのリンク一覧です。

Posted by ackie at 05:48 PM | Comments (0)

June 14, 2007

Flash Player の新しいフルスクリーンモード

先日公開された Flash Player アップデート 3 にはハードウェア機能を利用したフルスクリーンモードが追加されています。OS の機能を利用した描画は Flash Player としては初ですのでいろいろな環境で試してみてください。従来のフルスクリーンモードも引き続き使用できます。

ハードウェアスケーリングの使い方

Flash Player 9 アップデート 3 の Stage オブジェクトには fullScreenSourceRect という属性が追加されています。この属性は AS2 と AS3 どちらからでも利用可能です。fullScreenSourceRect により指定された領域はハードウェアのスケーリング機能により描画されるため従来のフルスクリーンモードよりパフォーマンスも画質も格段に改善されます。

ここで簡単なサンプルを見てみましょう。下は、Stage を画面全体に広げるサンプルです。

import flash.geom.*;
function goFullScreen()
{
  Stage["fullScreenSourceRect"] = new Rectangle(0, 0, Stage.width, Stage.height);
  Stage["displayState"] = "fullScreen";
} 
 

Flash CS3 側のクラス定義が更新されるまで Stage.fullScreenSourceRect という記述はできませんのでご注意ください。なお fullScreenSourceRect に指定する領域は Stage の外でも構わないようです。

ビデオをフルスクリーンで表示する場合は、Flash 上でのビデオの大きさをオリジナルの大きさにした状態で行うようにします。Stage 上でもビデオのスケールが変更されているとパフォーマンスに大きな影響があります。

下のサンプルは、video オブジェクトを、明示的に表示する映像の大きさに変更してからフルスクリーンにしています。

import flash.geom.*;
function goFullScreen()
{
  // 現在表示されている状態を保存しておく
  myVideo.savedWidth = myVideo.width;
  myVideo.savedHeight = myVideo.height;
  myVideo.savedSmoothing = myVideo.smoothing;
  myVideo.savedDeblocking = myVideo.deblocking;
 
  // 表示する映像のサイズを video オブジェクトに設定
  myVideo.width = myVideo.videoWidth;
  myVideo.height = myVideo.videoHeight;
  myVideo.smoothing = false;
  myVideo.deblocking = 0;
 
  // 映像の領域をフルサイズに
  Stage["fullScreenSourceRect"] = new Rectangle(myVideo.x, myVideo.y, myVideo.width, myVideo.height);
  Stage["displayState"] = "fullScreen";
}
 

ビデオをフルスクリーン表示する場合は、上のようにビデオ以外が表示されないように領域を設定します。また、smoothing を false にして deblocking をオートにするのもパフォーマンス上大事な点になります。

AS3 での注意点

新しいフルスクリーンモードを AS3 で使うには playerglobal.swc を置き換える必要があります。 新しい playerglobal.swc は下のファイルに含まれています。

full_screen_demo.zip (zip, 49.2 MB)

playerglobal.swc を取り出したら以下の場所にコピーしてください。

Flash CS3: Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes\

Flex Builder: Flex Builder 2\Flex SDK 2\frameworks\libs

Posted by ackie at 05:05 PM | Comments (6)

June 11, 2007

Adobe Apollo 改め Adobe Integrated Runtime (AIR) パブリックベータ開始

そうです。Apollo の正式名称が発表されました。今日からは AIR でよろしくお願いします。

さて、Adobe Labs に従来のアルファ版に機能の追加されたパブリックベータ版が公開されています。(AIR@Labs) 新しいランタイムや SDK のダウンロード等詳細な情報は Labs をご覧ください。

Dreamweaver 用の Apollo 開発機能拡張のベータ版も今日公開されています。(air Dreamweaver CS3 extension@Labs) こちらは Dreamweaver CS3 の英語版のみでテストされているとのことですので、申し訳ありませんが日本のユーザの皆様には ”お試し” もまだお待ちいただくことになるようです。一方 Flash 用の機能拡張はまだ時間がかかっていて、もう少し先の公開になりそうです。

ここで話を進める前に注意点をいくつか。

  1. 今回のベータ版をインストールする前にアルファ版を必ずアンインストールしてください。(この制限はベータ版に対するものです。製品版ではアップデートの際にアンインストールする必要はありません。)
  2. アルファ版用に開発されたアプリケーションはベータ版でのインストール / 使用共にできません。こちらもアンインストールしてください。
  3. AIR のベータでアプリケーションを開発するには、Labs に今日公開された Flex 3 の使用が前提になります。FlexBuilder 2 を使用されていた場合は Labs から Flex 3 の開発環境をダウンロードして下さい。(FlexBuilder 3 には AIR 開発環境が最初から含まれています)
  4. Flex 3 と一緒についてくる Flash Player は Flex 3 開発専用のバージョンです。一般の Web 閲覧や Flex 2 / Flash CS3 等の開発での使用は避けてください。

以下は、ベータで追加された新機能リストです。

まず、HTML 関連の拡張は、

  • XSLT を含め最新の webkit のコードに対応
  • 異なる OS 間での一貫性を向上
  • より多くの Ajax フレームワークとコンポーネントのサポート
  • 透過な HTML アプリケーション
  • より詳細なドキュメントと追加された HTML 関連のサンプル

それから AIR ランタイムにデータベースモジュールが埋め込まれました。

  • ACID トランザクションの実現
  • DB 使用の設定が一切不要
  • 大きなデータの扱いを可能に
  • BLOB のサポート
  • テキストサーチ機能

そのほかにもいくつも OS との連携機能が追加 / 改良されています。

  • ウインドウ API の拡張
  • ファイルピッカー / ブラウザ
  • サービスとの接続を検知する API
  • ネイティブのメニューが利用できる API
  • OS のドラッグ & ドロップ機能の利用
  • クリップボードのサポート
  • ファイルタイプや拡張子の登録

その他、アルファ版からの変更点はおいおいご紹介する予定です。アルファ版の時とはアプリケーション記述ファイルのフォーマットも異なっていますので移行には十分注意してください。

最後に、Developer Derby のお知らせです。ベータ版の Air を使ってもっともユニークな作品を作った方には最高 $100,000 の旅行が賞品として授与されるとのことです。その他 5 つのカテゴリーのトップには Mac Pro 等が賞品として用意されています。詳しくはこちらです。(Adobe Air Developer Derby@Labs

Posted by ackie at 01:04 PM | Comments (10)

Flex 3 パブリックベータ開始

Flex 3 のパブリックベータが Adobe Labs に公開されました。FlexBuilder 3 ベータのページに加え (FlexBuilder 3@Labs) 今回から独立して SDK のページ (Flex 3 SDK@Labs) が作られました。

従来、Flex のバージョンアップは Flash Player のバージョンアップと同じスパンで行われてきましたが、先日のオープンソース化の発表もふまえ、今後は短い期間で少しずつバージョンアップをしていく方針になったようです。先日の LCDS 2.5 ES の発表により、Flex SDK / FlexBuilder がサーバ側のソリューションから切り離されましたので、効率よく実効性の高い拡張ができる状況が整ってきているように思われます。

(ちなみにオープンソースプロジェクトも今日から始動しています。詳しくはこちらの記事をご覧下さい - Flex オープンソースプロジェクト開始

Flex 3 のメインテーマは以下の4つです。

  1. デザイナー/デベロッパー間ワークフローの改善
  2. AIR アプリケーション開発のサポート
  3. データ操作機能の改善
  4. プラットフォームの機能向上

4 つのテーマそれぞれの主な項目は以下の通りです。

1.デザイナー/デベロッパー間ワークフローの改善

  • FlexBuilder デザインビューの改善(カラーピッカーや拡大縮小ツール)
  • CSS エディタ搭載
  • 拡張された制約ベースのレイアウト
  • ステートに基づくスキンのサポート
  • OpenType フォントサポート
  • グラフィックアセットのインポートウィザード
  • Flash 統合キット

2.AIR アプリケーション開発のサポート

  • AIR プロジェクトの作成
  • コードヒント表示やエラーのレポート
  • アプリケーションデバッグ機能
  • アプリケーションのパッケージ作成

3.データ操作機能の改善

  • 高機能なデータグリッドコンポーネント
  • チャートコンポーネントの機能拡張
  • Web サービスウィザード
  • データウィザード

4.プラットフォームの機能向上

  • フレームワークをキャッシュすることによるアプリケーションサイズの縮小
  • メモリおよびパフォーマンスのプロファイラ
  • コードのリファクタリング機能
  • JavaScript / Ajax Wrapper による Flex コンポーネントの容易な埋め込み
  • アプリケーションの特定な状態にリンクできるディープリンク
  • コンパイラのパフォーマンス改善
  • 実行時のローカライゼーションサポート

Posted by ackie at 01:03 PM | Comments (2)

Flex オープンソースプロジェクト始動 & バグデータベース公開

Flex 3 ベータの公開に伴い、先日の記事に書いたとおり Flex のオープンソース化の第一歩が開始されました。

最終的な体制の確立は今年末が目標で、現時点ではまだコンパイラのコードなど公開されていないものもあるようですが、発表されたばかりの Flex 3 のフレームワークのコード等は Flex SDK のページ (Flex 3 SDK@Labs) に既に公開されています。

また、バグデータベースも使用可能になっています。バグデータベースには Flex や ActionScript コンパイラなど、現在 5 つのプロジェクトがあります。下は主なプロジェクトへの直リンクです。

Flex : http://bugs.adobe.com/flex
ActionScript : http://bugs.adobe.com/asc

バグデータベースでは、バグの登録やステータス管理だけでなく、欲しい機能に対する投票もできます。誰でもアカウントが作成できますので、是非ご参加ください。

さらに、今後の開発プランもwiki に公開されています。FlexBuilder 3 のロードマップ (Flex Builder 3 Plannning@flexwiki) と Flex SDK (Flex 3 Planning@flexwiki) のページは是非チェックしてくださいね。

ところで、バグデータベースでは日本語がサポートされています。アカウントを作成する段階までは英語のインターフェースのみですが、その後設定を変えると日本語の UI に変更することができます。手順は以下の通りです。

  1. ログイン後、画面右上に表示される "Profile" をクリック
  2. 次の画面の左に表示されるナビゲーションの下のほうにある "Edit Preferences" をクリック
  3. 次の画面で Locale のラベルがついたプルダウンから Japanese(Japan) を選択

バグ報告を日本語で入力することも可能です。ただし、開発エンジニアのために英語に翻訳するのが Adobe の社内スタッフに依存するため、当面は英語で入力していただいた方がありがたいかもしれません。とはいえ、この点も、年末に向けて外部のボランティアによる翻訳を可能にする方向で調整中です。早く、みんなで協力して Flex の開発が進められるようになるといいですね。

Posted by ackie at 01:02 PM | Comments (0)

Flash Player 9 アップデート 3 ベータ公開

さて、今日は忙しい日です。

Flash Player 9 アップデート 3 のベータが公開されました。(Flash Player 9 update@Labs

公開されたのは Windows, Macintosh, Linux 用で、バグフィックスといくつかの新機能追加が行われています。

パフォーマンス関連では、

  • ハードウェアを利用したフルスクリーンモードでのビデオ再生時のパフォーマンスと品質の改善 (Linux 版のみ少し遅れて追加)
  • 複数コア CPU 環境での描画パフォーマンスの向上
  • 大きなビットマップのダウンスケール時の品質とパフォーマンス向上 (SWF 9 のみ)

その他主な項目は、

  • 共通コンポーネントのキャッシュ機能
  • ExternalInterface による JavaScript と ActionScript 間での再帰呼び出しと (Opera と NetScape を除く)、JavaScript からの実行時エラー通知の実現
  • IE での Accept-Language ヘッダーサポート
  • Linux でのフルスクリーンモードサポート

などがあります。

Flash Player 9 for Solaris についてはもうすぐ製品版が adobe.com から公開予定です。

Posted by ackie at 01:01 PM | Comments (0)

June 05, 2007

Cairngorm と Flex Hotfix 2

先日より Flex の HotFix 2 が控えめに US のサポートページに公開されていますので、すでにお使い始めた方もいることと思います。HotFix 2 では LCDS 2.5 対応のためにパッケージングの変更が行われていますが、この変更の影響で HotFix 2 適用後に Cairngorm を使用すると、必要なクラスが見つからずにコンパイルエラーが出るようになります。

この問題に対応するには fdc.swc を明示的にクラスパスに追加するのが当面のワークアラウンドとのことです。Alistair のブログには対応版となる Cairngorm 2.2.1 のベータも公開されていますので(New Release - Cairngorm 2.2.1 for Flex 2.0.1 with Hotfix 2)、テストに協力できる場合はこちらもお試しいただければと思います。

Posted by ackie at 06:34 PM | Comments (0)

June 04, 2007

Flex Stress Testing Framework アップデート

先週 Google Gears が発表されましたが、Apollo とも協調して開発されるとのことで web テクノロジーの適用範囲の拡大が、より現実的になってきたような印象です。

さて、US では LiveCycle ES が発表されました。(Adobe LiveCycle Enterprise Suite) 既報のとおり FDS も名前を変えて LiveCycle Data Services ES (LCDS) になっています。LCDS 2.5 のトライアル版はサポートサイトからダウンロード可能です。(LiveCycle Data Services ES 2.5

これにあわせて Flex Stress Testing Framework もアップデートされましたのでお知らせします。(Flex Stress Testing Frameworkp@Labs)

LCDS 2.5 の新機能は出荷が近くなったらまたまとめてお伝えする予定です。

Posted by ackie at 05:32 PM | Comments (0)