So-net無料ブログ作成
検索選択

Adobe AIR関連技術 [AIR]

さて、Adobe AIRのアプリケーションの作成はいいんですが、出てくる用語と言うか、基礎技術のことがさっぱりわかってません。まず、Flexって何?と言うところから始まるんですが、Adobeのページでは、なんかいいドキュメントがないですねぇ。リンクをたどっていくと「Getting Started with Flex 3」と言うドキュメントがありました。なんか、こう全体の構成と言うか、概要がわかるものが欲しいんですけどね・・。

Flexについて、Wikipediaがうまくまとめられていますね。さすがです。こちらによると、アプリケーションの統合環境とSDKで、デザインはMXML、プログラムはActionScriptを利用するとのこと。AIRはFlash/Flex/WebKitを採用してデスクトップアプリケーションを開発するためのランタイムライブラリだとか。前回作ったプロジェクトはFlexを採用したものになるんですかね・・。

MXMLは「Macromedia Flex Markup Language」だそうです。「X」は「Flex」の「X」でしたか。と、まあ関係ないんですが、Flexのプレゼンテーションを記述するXMLだとのこと。「プレゼンテーション」って、画面の構成だけじゃないんですかね・・? まだ、謎です。でも、これは自分で編集することはなさげですね。

で、プログラム言語はActionScriptだとのこと。名前は知ってますが、中身は知りません。JavaScriptとほぼ同様のプログラミング言語を内包しているらしいです。

先程のドキュメントが置いているページの下の方にある「Comparing Flash, Flex, Flash Player and Adobe AIR」と言うビデオも簡潔にまとめられていました。FlexとAIRの部分だけを言うと、FlexはMXML、ActionScriptを用いるアプリケーションのフレームワークの様です。これは実行環境は問いません。そして、AIRがそのFlexで作成されたアプリケーションのデスクトップ上での実行環境になる様です。ま、なんとなく関係はわかりましたかね。


概要といえば、こんなもんなんですかね?? グダグダ言わずに、とりあえず作れと言うことかな・・?


と言うことで、今年4月から始めたこのブログですが、とりたてて何の成果も上げないまま今年が終わってしまいました。ま、来年もこのような調子で行くと思われますが、よろしくお願いします。


【参考】
Flex用Adobe AIRデベロッパーセンター
Flex デベロッパーセンター
Flex Video Training - ADOBE DEVELOPER CONNECTION
Adobe Flex - ウィキペディア

Adobe AIRについて [AIR]

年末に向けて、Mac用の年賀状ソフトを探していたところ、今年はPrint Magicと言うのを見つけました。Macでフリーの年賀状ソフトは新しいのが出てこなくて、年々厳しくなるなぁと感じていたんですが、PrintMagicはまだできたて感満載のおニューソフトでした(と思いましたが、昨年からある様子・・)。で、よく見てみると、Windowsでも、Linuxでも動作するとのこと。Adobe AIRと言う「ランタイム」を使っているそうです。このAdobe AIR、Javaみたいな実行環境なのかQtみたいなクロスプラットフォームライブラリなのかはよくわかりませんが、使ってみると普通のMacOS Xのアプリと取り立てて違いが見えません。さくさく動いていますし、ちょっと興味が出てきました。「Adobe AIR」と言う名前は聞いたことがあったんですが、中身は全く把握していないので、とりあえず調査してみました。

Adobeの公式ページによると、「HTML/Ajax、Flex、Flash開発のスキルとツールを使用して開発する」、「クリップボード・ドラッグ&ドロップ・ファイルシステムI/O等、ネイティブのデスクトップ統合をサポートする」とか。これを学ぶことで、Flashについても知識が入りそうですね。

*

さて、用意されているSDKをみてみると、ライブラリとコマンドラインツールしか入っていない様です。IDEは「Adobe Flex Builder™ 3」「Dreamweaver® CS3」「Flash CS3 Professional」を使えるようにしているよとのこと。・・・・なんか、これらは有償の開発環境のようですね。フリーだとトライアルだとか・・。どういう制限があるのかがいまいち掴めませんでした。

*

フリーで開発するならEclipse。と言うことで、探してみたところ、ありました。AIR GEARと言うプラグインが存在する様です。まずは、AIR GEARのページから、「net.sf.amateras.air_1.0.3.jar」と言うファイルをダウンロード、Eclipseの「dropins」と言うディレクトリにダウンロードしたファイルを置きましょうとのこと。Eclipseのバージョンはいくつのが必要なんでしょうね・・?

使い方は、「AIR GEAR使用方法」を見ろとのことなので、見てみたところ、動作環境は「Eclipse 3.3以降+JDT+GEF」とのこと。ずいぶん前に入れてほったらかしていた私のEclipse環境は、3.4.2でした。本体のバージョンは大丈夫みたいですね。JDTは3.4.2.r342、GEFも3.4.2が入っている様です。このままで大丈夫かな・・。とりあえず、先程ダウンロードした「net.sf.amateras.air_1.0.3.jar」を「eclipse/dropins」に入れておきます。

さて、その前にAdobeのページから、Adobe AIR SDKと、Flex3SDKをダウンロードしてインストールせよとのこと。後、AIRランタイムもダウンロードせよとのことですが、こちらは、Print Magicのインストール時にインストールしています。AIR SDKのバージョンは 1.5.3(ダウンロードしたディスクイメージ内の「AIR SDK Readme.txt」に書かれてました)。Flex3SDKのバージョンは3.4とのことです。

AIR SDKをインストールしようと思いましたが、どこに入れろとも書かれてませんね・・。AIR GEARのページでも任意のフォルダに解凍せよとか。仕方が無いので、Xcodeをインストールした時にできた「/Developer」の配下に「AIR_SDK/v1.5.3」と「FLEX_SDK/v3.4」のディレクトリを作成して、そこにコピーしとくことにしました。

「Preferenceds」→「AIR GEAR」で、各SDKのディレクトリをセットして完了。Flex版とHTML版のプロジェクトが作成できる様ですが、とりあえず、Flex版のプロジェクトを作成しておきました。で、次は「MXML」の編集とか。「MXML」って何?って、どうやら、画面構成を記述するXMLファイルのようですが・・。


どうしましょうかねぇ。全く知識が無い状態なので、まず、基礎的なところから調べますか・・。とまた、のんびりやっていきます。つづく。


【参考】
Adobe AIRデベロッパーセンター
いまさら聞けないAdobe AIR「超」入門 - @IT
Adobe AIRの基本(Eclipse + AIR GEAR) – Flash/ActionScript入門 - イクケン
フリーのEclipse用AIRプラグイン「AIR GEAR 1.0.0」リリース、WYSIWYGでAIR開発OK! - CodeZine
AmaterasAIR a.k.a "AIR GEAR" - Project Amateras


xorg-serverのヘッダとかが入ってない?(終末編) [NetWalker]

先週末、NetWalkerのアップデートが公開されて、めでたくタッチパネルの動作は正常になりました!ちなみに、修正はevtouchでは無く、Linuxのカーネルの部分で行われてたようです。と言うことで、いずれにせよ、私では対処できそうに無かったようですね。なんとなくそんな気はしてたんですけどね。

と言うことで、この記事もあまり意味は無いんですが、せっかくなので、やったところまで公開しときます。

*

前回出てきたpkg-configですが、これは拡張子pcのファイルを参照するとの事。そして、Cコンパイラやリンカで必要となるフラグをconfigureに渡すのが役割だとの事です。そう言えば、「XORG_CFLAGS」「XORG_LIBS」と言うのはその様な感じの環境変数ですね・・・。

エラーで「xorg-server」が無いとか言われていたので、ひとまず、「xorg-server」をファイル・ブラウザで検索してみました。「/etc/dbus-1/system.d/xorg-server.conf」を発見しましたが、これは何の役にも立たなさそうな気がします・・。

ふと思ったんですが、もしかしたら、Linuxのドライバを開発するためのヘッダやライブラリがインストールされていないんではないでしょうか?なんか、当たり前な気もしますね・・。Synapticで「xorg-server」を検索してみたらたくさん入ってないものが見つかりました。また、「DDK(Driver Development Kit)」なんて単語も出てきています・・・。

さて、どうとっかかればいいですかね・・。色々検索しているとUbuntuの新しいバージョンの9.10では、ドライバ周りの仕組みが変わっている様ですね。何か不都合があったんでしょうか・・。ああ、それとLinuxのカーネル周りも関係しそうな雰囲気です。NetWalkerに載っているUbuntu 9.04 のカーネルのバージョンは2.6.28-11.42だとのこと。NetWalkerでちゃんと調べてみたら、2.6.28-271-gec75a15 の様です。書式がよくわかりませんね。

0912_linux_version.png
無駄に時間をつぶしている様な・・


ちなみに、Linuxのデバイスドライバにはカーネルに静的にリンクするものと動的にロードするものがあるらしいです。今回の evtouch はHALと言う機構を用いて、ちょっと調整を試みたんで、後者だと思うんですが、それだけでは足らずに前者が関連して来るとなるとおそらくお手上げですね・・。と言うか、完了するまでに次機種が出そうな気も・・(次機種があるなら・・)。

・・・一通り、検索からたどれた情報をなめて見ましたが、開発環境について述べているところが見つかりませんね・・。ちなみにDDKはこちらで手に入れる事ができましたが、バージョン2.6.16.18用です。微妙にバージョンが古いんですが、これじゃあだめなんですかね・・。

*

あらためて、エラーの内容を見直してみますと、「No package 'xorg-server' found」です。エラーは「xorg-serverが無い」と言うこと。その後に、解決方法の提案などがされていたので、迷ってしまいましたが、設定がどうとか言う前に開発に必要な要素が「そもそも入っていない」という可能性が高い気がしてきました。自分で入れた記憶は無いですしね。

Synaptic で見たところ、「xserver-xorg-dev」と言うのがあります。X.Org X server の開発用ファイルだとのこと。でも、DDKでは無いそうです。DDKデバイスドライバの開発環境としては古いんでしょうか?


・・・と、疑問ばかりが増えてきて、非常に中途半端なんですが、もう必要がなくなったので、この件はここで置いておきます。


【参考】
Writing device drivers in Linux: A brief tutorial - FSM
Driver Development? - Ubuntu Forums
DeveloperStart - X.Org Foundation
カーネルのバージョンなどのシステム情報を調べるには - @IT Linux Tips
Linuxデバイスドライバ開発に関する参考情報 - Akio’s Log
JF: Index of Linux Kernel 2.6 Documentation
Linux Device Drivers, 2nd Edition
Linux Kernel Module programming (Kernel 2.4, デバイスドライバ)
デバイス・ドライバとモジュール - ITpro
やってみると意外に簡単!? Linuxカーネル・コンパイル入門 - ITpro
Linuxにおけるデバイスドライバの 開発とデバッグの実際(PDF)
新参Linuxプログラマ向けのドライバ開発キットがリリース - SourceForge.JP Magazine
Linuxカーネルメモ
Linux 関連のドキュメント - 日本の Linux 情報

Ubuntu(Linux?)の環境変数 [NetWalker]

前回、evtouchのソースをビルドしようとしたところ、configureの実行のところで何かのエラーが出たので、とりあえずconfigureの中を見てみました。見たところ、テキストファイルでシェルスクリプトとなっていました。が、結構でかいです。う〜ん、と考えて、以前見たチュートリアルを見直したところ、これはビルドの途中で自動で生成されるスクリプトの様ですね。こちらを手直しするのは手順的に正しくなさそうです。ちなみに、前回出たエラーメッセージでも環境変数を正しく設定しろとか言われていましたね。

前回は「xorg-server」が無いと言われていました。その解決方法として「PKG_CONFIG_PATH」を調整するか、「XORG_CFLAGS」と「XORG_LIBS」を設定するかどちらかが提案されています。どちらにしようかと思いましたが、その前に・・。環境変数の調べ方、設定の仕方が分からん・・・。そっちの調査からする必要が出てきました。

*

Windowsではコマンドプロンプトで「set」コマンドで確認できたので何も考えずに「端末」で「set」を実行したところ・・・。何やらずら〜っとテキストが表示されました。が、環境変数では無さげです。そういえば「setenv」やったっけ?と思って実行したところ、そんなコマンドは無いとか怒られました・・・。ついでに、システムのデフォルトとして設定するにはどうすればいいんでしょうか?WindowsはGUIで設定できたんですけどねぇ。

0912_setenv_not_found.png
どうすればいいんでしょう?


ちょっと検索したところ、「setenv」はシェルがcshの場合の様ですね。NetWalkerのUbuntuではbashが動いている様なので、設定されている環境変数の一覧を見るには「printenv」が正解の様です。

「printenv」を実行。表示された環境変数を見てみましたが、指摘された「PKG_CONFIG_PATH」「XORG_CFLAGS」「XORG_LIBS」はいずれも設定されていない様ですね・・。ふと、Anjutaで環境変数を設定できないのか調べてみましたが、プロジェクト単位での環境変数の設定はできるものの、Anjuta用の環境変数の設定と言う様なメニューはない様です・・。あればいいと思うんですけどねぇ・・。ちなみに、ログイン単位の環境変数の設定は、「~/.profile」と言うファイルに直接追加するのがいい様です。

さて、どうしましょうかね・・。今提示されている選択肢は以下の二つです。

 ・PKG_CONFIG_PATHを設定する(xorg-serverの存在するディレクトリに設定?)。
 ・XORG_CFLAGS、XORG_LIBSを設定する。

いずれも、どのような値を設定すればいいのかがよくわかりません。詳しくは pkg-config の man page を見ろとか指示されているので、見てみる事にします。

 ・pkg-configはインストールされているライブラリの情報を提供する
 ・pkg-configはデフォルトで「prefix/lib/pkgconfig」もしくは、「PKG_CONFIG_PATH」で設定されているディレクトリに含まれる拡張子が「pc」のファイルを参照する(「prefix」ってどこ?)
 ・PKG_CONFIG_PATHは「:」で仕切って複数のディレクトリを指定できる

要するにあれですね。「xorg-server」が見つからないので、上記のどこかにそれを指定しろっちゅう事ですね・・。でも、私もその場所を知らないんで、まずそこを探す必要がありますね・・・。


(また)つづく。

【参考】
Ubuntuの環境変数 - kiyoeri Nucleus
環境変数マニュアル - 68user's page
bash 入門 - RAT portal
EnvironmentVariables - ubuntu documentation


evtouchのソース展開 - タッチパネルの動作改善活動 [NetWalker]

前回、色々やってみたい事を書きましたが、まずはタッチパネルの正常化に向けて、ソースを眺めつつLinuxドライバの事について勉強をしようかと思います。NetWalkerにインストールされているevtouchは0.8.8です。

0911_evtouch_version.png
Synapticで調査


さっそく、evtouchのページからソースを取ってきました。展開したところ、一つのディレクトリにずらっとファイルが保管されていました。

0911_evtouch_filelist.png
さて、どこからとっかかりましょう??


ファイルを眺めていたところ、「INSTALL」と言うファイルにコンパイルの方法が書かれていました。と思ったら、情報が古いですね。「XFre86 Server がインストールされていること。」と書かれていましたが、現在は「Xorg 7.x、XFree 4.x、Xorg 6.8.x に対応」と言った感じの様です。ま、細かい事はともかく大まかにはここに書かれている通りでいいでしょうけど・・。

0911_evtouch_explain.png
こっちはバージョン表記無いですね・・


・・・どうしましょうかね。一旦、Anjutaで読み込んでみますか・・。Anjutaを立ち上げ、メニューを眺めていたところ、「ファイル」→「新規」→「5. 既存のソースからのインポート」と言うのがあったので、試しに選択。ダイアログの指示に従って、進めて行ったところ、無事Anjutaのプロジェクトとして、開く事ができた様です。

0911_anjuta_importmenu.png
こちらから取り込みました


ついでなので、ビルドを試してみます。「ビルド」→「プロジェクトのビルド」を実行。「プロジェクトの構成」のダイアログが出たので、一応「プロジェクトの再構成」にチェックを入れて実行。ビルドが進んで行きましたが・・・。落ちました・・。Anjutaが落ちてしまいました。なんで??

*

一気にビルドにいったのがまずかったかと思い、「ビルド」→「プロジェクトの構成」から実施する事にしました。再度「プロジェクトの再構成」にチェックを入れて実行。なんとか完了しました。

続いて、プロジェクトのビルドです。「ビルド」→「プロジェクトのビルド」を実行。再度「プロジェクトの構成」のダイアログが出ました。今度は「プロジェクトの再構成」はチェックしないまま実行・・・。ビルドは失敗に終わりました。なんででしょ〜?

0911_evtouch_builderror.png
何がいけないのか・・


出てるエラーメッセージを保存しようかと思い、メッセージ欄を右クリックで「メッセージの保存」を実行してみましたが、何やら書き込みに失敗した旨のダイアログが出て来ました。失敗した様です。なんで・・?(と思いましたが、後から確認したらファイルができてました・・・。バグか?)

ま、それは置いておいて、エラーが出ている箇所のメッセージの内容は下記の通りでした。

configure: error: Package requirements (xorg-server xproto ) were not met:

No package 'xorg-server' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables XORG_CFLAGS
and XORG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


なるほど、configureファイルに書かれている内容とNetWalkerの設定とが異なるんですかね・・。configureファイルのこと自体がよくわかってないんですが、とりあえず、コンパイルできないと話にならないので調査する事にします。


つづく。

ブログを作る(無料) powered by So-netブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。