<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>クデラボ -KudeLab- &#187; Flex</title>
	<atom:link href="http://kudelab.com/archives/tag/flex/feed" rel="self" type="application/rss+xml" />
	<link>http://kudelab.com</link>
	<description>kudeの運営するサービスの情報や、主に開発周りの話題を発信するサイト</description>
	<lastBuildDate>Mon, 05 Oct 2009 09:55:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>近状報告</title>
		<link>http://kudelab.com/archives/307</link>
		<comments>http://kudelab.com/archives/307#comments</comments>
		<pubDate>Tue, 28 Apr 2009 00:43:05 +0000</pubDate>
		<dc:creator>kude</dc:creator>
				<category><![CDATA[Flash/AIR/Flex]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://kudelab.com/?p=307</guid>
		<description><![CDATA[随分久しぶりの更新になります。
この2か月ほど、プリントマジックのCS3からFlex3への移植作業を行っているわけですが、当初の予想以上に難航しています。
おかげで、しばらくこれにかかりっきり。
モバイルウィジェットとか、結局やる暇なく、締め切り迎えて断念ですね。
ま、おかげで移植のほうは、なんとかゴールが見えてきましたが。
今回の作業を通して、Flexについて感じたことなど。
１．ファイルサイズが巨大化する。
CS版のプリントマジックが300KBほどなのに対して、Flex版は700KBほどになる。
まぁ、ブロードバンドの時代から、このくらいのファイルサイズは問題ないけど、「倍になるのか・・・」という驚きはある。
２．処理が重い。
ステージ上に新しいコンポーネントを動的に生成するとき、そのコンポーネントが子沢山だと、生成処理に時間がかかる。
使い勝手としては、アクションに対しては即リアクションが欲しいところなので、このもたつきはとても気になる。
Flexプログラミング要諦は、こうしたところでいかに効果的な処理を組めるか、にあるのだろう。
その部分で、まだまだ経験とノウハウが足りない。
３．ActionScriptとMXMLとCSSとが混在して、うとおしい。
なんとなく、覚えることが無駄に多いような気がしてしまう。
いっそActionScriptだけで作ったほうが楽なのかもしれないけど、MXMLでできることはMXMLを使ったほうが楽な気がして、なんとなくどっちつかずなコードを書いてしまう。
このへんも、自分の中で「これはAS、これはMXML」という使い分けのノウハウが貯まるのを待つしかない。
──とまぁ、そんなこんなで。
やはり、CSに比べてFlexのほうがプログラミングの難易度が高い気がしますね。
とはいえ、一度Flexに来ると、再びCSに戻る気にはなりませんけど。
とりあえず、今はせっせと経験値稼ぎです。
]]></description>
			<content:encoded><![CDATA[<p>随分久しぶりの更新になります。</p>
<p>この2か月ほど、プリントマジックのCS3からFlex3への移植作業を行っているわけですが、当初の予想以上に難航しています。<br />
おかげで、しばらくこれにかかりっきり。<br />
モバイルウィジェットとか、結局やる暇なく、締め切り迎えて断念ですね。<br />
ま、おかげで移植のほうは、なんとかゴールが見えてきましたが。</p>
<p>今回の作業を通して、Flexについて感じたことなど。</p>
<p>１．ファイルサイズが巨大化する。</p>
<p>CS版のプリントマジックが300KBほどなのに対して、Flex版は700KBほどになる。<br />
まぁ、ブロードバンドの時代から、このくらいのファイルサイズは問題ないけど、「倍になるのか・・・」という驚きはある。</p>
<p>２．処理が重い。</p>
<p>ステージ上に新しいコンポーネントを動的に生成するとき、そのコンポーネントが子沢山だと、生成処理に時間がかかる。<br />
使い勝手としては、アクションに対しては即リアクションが欲しいところなので、このもたつきはとても気になる。<br />
Flexプログラミング要諦は、こうしたところでいかに効果的な処理を組めるか、にあるのだろう。<br />
その部分で、まだまだ経験とノウハウが足りない。</p>
<p>３．ActionScriptとMXMLとCSSとが混在して、うとおしい。</p>
<p>なんとなく、覚えることが無駄に多いような気がしてしまう。<br />
いっそActionScriptだけで作ったほうが楽なのかもしれないけど、MXMLでできることはMXMLを使ったほうが楽な気がして、なんとなくどっちつかずなコードを書いてしまう。<br />
このへんも、自分の中で「これはAS、これはMXML」という使い分けのノウハウが貯まるのを待つしかない。</p>
<p>──とまぁ、そんなこんなで。<br />
やはり、CSに比べてFlexのほうがプログラミングの難易度が高い気がしますね。<br />
とはいえ、一度Flexに来ると、再びCSに戻る気にはなりませんけど。</p>
<p>とりあえず、今はせっせと経験値稼ぎです。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/307/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UnicodeRangeMaker</title>
		<link>http://kudelab.com/archives/294</link>
		<comments>http://kudelab.com/archives/294#comments</comments>
		<pubDate>Thu, 05 Mar 2009 03:35:08 +0000</pubDate>
		<dc:creator>kude</dc:creator>
				<category><![CDATA[Flash/AIR/Flex]]></category>
		<category><![CDATA[リリース]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://kudelab.com/?p=294</guid>
		<description><![CDATA[Flexで日本語フォントを埋め込む際に、埋め込む文字を指定しようと思ったら、Unicodeで指定してやらなければならない。
でも、そんなもの、いちいち手作業で「埋め込みたい文字 → Unicode」の変換作業なんてやっていられない。
というわけで、Flex の練習がてら、「埋め込みたい文字 → Unicode」の変換作業を自動で行うFlashを作ってみました。
UnicodeRangeMaker
練習がてらと言うことで、あまりきちんと動作チェックなどしていませんので、なにか不具合などありましたらご指摘ください。
*******
ま、この程度のアプリなら、Flexだと簡単に作れるね。
とくに難しいところはなかった。
ローカルファイルを読み込む際に、FileReference のインスタンスを関数の外に置いておかないとダメ（なぜかブラウザごと落ちた）という点に、ちょっとつまずいたくらい。
あと、はじめてFlexアプリを作ったわけだけど、けっこうファイルサイズでかくなるのね。
これだけの内容で 200KB もある。
Flashで作れば、100KB未満で作れそうな感じだけど。
まぁ、同じものをFlashで作れと言われると、面倒だからいやだけど。
ブログパーツのようなものは、Flashで作ったほうが良いのかもしれないな。
]]></description>
			<content:encoded><![CDATA[<p>Flexで日本語フォントを埋め込む際に、埋め込む文字を指定しようと思ったら、Unicodeで指定してやらなければならない。<br />
でも、そんなもの、いちいち手作業で「埋め込みたい文字 → Unicode」の変換作業なんてやっていられない。</p>
<p>というわけで、Flex の練習がてら、「埋め込みたい文字 → Unicode」の変換作業を自動で行うFlashを作ってみました。</p>
<p><a href="http://kudelab.com/flex/UnicodeRangeMaker.html">UnicodeRangeMaker</a></p>
<p>練習がてらと言うことで、あまりきちんと動作チェックなどしていませんので、なにか不具合などありましたらご指摘ください。</p>
<p>*******</p>
<p>ま、この程度のアプリなら、Flexだと簡単に作れるね。<br />
とくに難しいところはなかった。<br />
ローカルファイルを読み込む際に、FileReference のインスタンスを関数の外に置いておかないとダメ（なぜかブラウザごと落ちた）という点に、ちょっとつまずいたくらい。</p>
<p>あと、はじめてFlexアプリを作ったわけだけど、けっこうファイルサイズでかくなるのね。<br />
これだけの内容で 200KB もある。<br />
Flashで作れば、100KB未満で作れそうな感じだけど。<br />
まぁ、同じものをFlashで作れと言われると、面倒だからいやだけど。</p>
<p>ブログパーツのようなものは、Flashで作ったほうが良いのかもしれないな。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/294/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIRでタブブラウザとか無理</title>
		<link>http://kudelab.com/archives/271</link>
		<comments>http://kudelab.com/archives/271#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:39:56 +0000</pubDate>
		<dc:creator>kude</dc:creator>
				<category><![CDATA[Flash/AIR/Flex]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://kudelab.com/?p=271</guid>
		<description><![CDATA[Flexの学習がてら、タブブラウザを作ってみようとして断念したというお話。
HTMLコンポーネントを使えば楽勝かと思ったのだけれど、入力されたURLが無効だった場合に、例外なりエラーイベントなりを吐く機能がHTMLコンポーネントにない。
HTMLHostのupdateStatusメソッドを使えばチェックできるのだろうかと試してみたけど、できなかった。
ならばと、URLへのアクセスはURLLoaderで行い、取得したページデータをHTMLコンポーネントのhtmlTextにセットすることに。
これならエラーイベントはもちろん、progressイベントも取れて嬉しいし。
でもお次は、そうして表示したWebページの中のリンクがクリックされたときのページ遷移をコントロールできない。
こちらとしては、HTMLLoaderのデフォルトのページ遷移機能をOFFにして、URLLoaderを噛ませる自前の機能で処理したいわけだけど、デフォルトの機能をOFFにする方法が分からない。
まぁ、アクロバティックな方法として、HTMLLoaderにはtarget=&#8221;_blank&#8221;なリンクはページ遷移しない仕様があるので、ページ内のすべてのリンクをtarget=&#8221;_blank&#8221;に書き換えてやれば、デフォルトの機能をOFFにできる。
どうせタブブラウザするのだから、target=&#8221;_blank&#8221;の指定は書き換えて問題ないわけだし。
この方法で進めれば・・・と思ったのだけど、待てよと。
フレーム内でのページ遷移やら、フォーム送信でのページ遷移やら、JavaScriptでのページ遷移やら、いろいろ考慮しなきゃいけないことがあるなぁと思ったら、面倒くさくなっちゃった。
ちょうどSafari 4のニュースを目にもして、「AIRでタブブラウザ作ったところで、どうせ・・・」みたいな気持にもなってしまったことだし。
それにしても。
どうしてHTMLコンポーネント（あるいはHTMLLoader）がhttpStatusやioErrorイベントを吐くように設計しなかったんだろう。
えらい人の考えることは分からん。
せめてもの、ノウハウをひとつ。
HTMLコンポーネントで自前のHTMLLoaderを使いたいとき。
普通にHTMLコンポーネントのインスタンスを生成して、htmlLoaderやhtmlLoaderFactoryプロパティに値をセットしても上手くいかなかった。
そこで、まずHTMLコンポーネントのサブクラスを作って、そのコンストラクタのsuper()後で
htmlLoaderFactory = new ClassFactory(MyHTMLLoader);
としたら上手くいった。
]]></description>
			<content:encoded><![CDATA[<p>Flexの学習がてら、タブブラウザを作ってみようとして断念したというお話。</p>
<p>HTMLコンポーネントを使えば楽勝かと思ったのだけれど、入力されたURLが無効だった場合に、例外なりエラーイベントなりを吐く機能がHTMLコンポーネントにない。<br />
HTMLHostのupdateStatusメソッドを使えばチェックできるのだろうかと試してみたけど、できなかった。</p>
<p>ならばと、URLへのアクセスはURLLoaderで行い、取得したページデータをHTMLコンポーネントのhtmlTextにセットすることに。<br />
これならエラーイベントはもちろん、progressイベントも取れて嬉しいし。</p>
<p>でもお次は、そうして表示したWebページの中のリンクがクリックされたときのページ遷移をコントロールできない。<br />
こちらとしては、HTMLLoaderのデフォルトのページ遷移機能をOFFにして、URLLoaderを噛ませる自前の機能で処理したいわけだけど、デフォルトの機能をOFFにする方法が分からない。</p>
<p>まぁ、アクロバティックな方法として、HTMLLoaderにはtarget=&#8221;_blank&#8221;なリンクはページ遷移しない仕様があるので、ページ内のすべてのリンクをtarget=&#8221;_blank&#8221;に書き換えてやれば、デフォルトの機能をOFFにできる。<br />
どうせタブブラウザするのだから、target=&#8221;_blank&#8221;の指定は書き換えて問題ないわけだし。</p>
<p>この方法で進めれば・・・と思ったのだけど、待てよと。<br />
フレーム内でのページ遷移やら、フォーム送信でのページ遷移やら、JavaScriptでのページ遷移やら、いろいろ考慮しなきゃいけないことがあるなぁと思ったら、面倒くさくなっちゃった。</p>
<p>ちょうどSafari 4のニュースを目にもして、「AIRでタブブラウザ作ったところで、どうせ・・・」みたいな気持にもなってしまったことだし。</p>
<p>それにしても。<br />
どうしてHTMLコンポーネント（あるいはHTMLLoader）がhttpStatusやioErrorイベントを吐くように設計しなかったんだろう。<br />
えらい人の考えることは分からん。</p>
<p>せめてもの、ノウハウをひとつ。<br />
HTMLコンポーネントで自前のHTMLLoaderを使いたいとき。<br />
普通にHTMLコンポーネントのインスタンスを生成して、htmlLoaderやhtmlLoaderFactoryプロパティに値をセットしても上手くいかなかった。</p>
<p>そこで、まずHTMLコンポーネントのサブクラスを作って、そのコンストラクタのsuper()後で<br />
htmlLoaderFactory = new ClassFactory(MyHTMLLoader);<br />
としたら上手くいった。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/271/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex難しい</title>
		<link>http://kudelab.com/archives/267</link>
		<comments>http://kudelab.com/archives/267#comments</comments>
		<pubDate>Sun, 22 Feb 2009 05:07:11 +0000</pubDate>
		<dc:creator>kude</dc:creator>
				<category><![CDATA[Flash/AIR/Flex]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://kudelab.com/?p=267</guid>
		<description><![CDATA[いま、FlashCS3で開発していたPrintMagicをFlex3に移植しているのだけど、思っていた以上に難儀してます。
Flex、むずかしぃぃぃぃ。
基本的な機能に沿って組んでいく分にはとても簡単でラクチンなんだけど、そこから外れたことをしようと思うと途端に難しくなるね。
なまじ用意された機能があるから、それを使って簡単に実装する方法があるに違いないと思って、調べて調べて、でもけっきょく分からずに自力で実装する、みたいなことが多くて。
なんでこれを簡単にコントロールする機能が用意されていないんだろうと思うことばかりです。
知識と経験を積んでいけば、たぶん「それを使って簡単に実装する方法」が分かるんだろうけど・・・。
先の果てしなさを思うと、ちょっとげんなりする。
]]></description>
			<content:encoded><![CDATA[<p>いま、FlashCS3で開発していたPrintMagicをFlex3に移植しているのだけど、思っていた以上に難儀してます。<br />
Flex、むずかしぃぃぃぃ。</p>
<p>基本的な機能に沿って組んでいく分にはとても簡単でラクチンなんだけど、そこから外れたことをしようと思うと途端に難しくなるね。<br />
なまじ用意された機能があるから、それを使って簡単に実装する方法があるに違いないと思って、調べて調べて、でもけっきょく分からずに自力で実装する、みたいなことが多くて。<br />
なんでこれを簡単にコントロールする機能が用意されていないんだろうと思うことばかりです。</p>
<p>知識と経験を積んでいけば、たぶん「それを使って簡単に実装する方法」が分かるんだろうけど・・・。<br />
先の果てしなさを思うと、ちょっとげんなりする。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/267/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
