<?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>Vicker&#039;s Coding Kitchen &#187; Flash Builder</title>
	<atom:link href="http://vicker.cubeforge.net/blog/tag/flash-builder/feed/" rel="self" type="application/rss+xml" />
	<link>http://vicker.cubeforge.net/blog</link>
	<description>Hong Kong Adobe Flash platform developer (Flex, AIR and Flash)</description>
	<lastBuildDate>Wed, 27 Jul 2011 18:27:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Flex FAQ #9: 點解要 Spark</title>
		<link>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/</link>
		<comments>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 17:28:26 +0000</pubDate>
		<dc:creator>Vicker</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex FAQ]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Halo]]></category>
		<category><![CDATA[Spark]]></category>

		<guid isPermaLink="false">http://vicker.cubeforge.net/blog/?p=314</guid>
		<description><![CDATA[認識 Spark 之前先要講下 Halo Halo 係 Flex 3 o既主要骨格 由最 base o既 application (mx:Application) 去到 layout properties (horizontalAlign, padding) 再去到 UI control (mx:Button, mx:TextInput) 都係 Halo o既範圍 而 Spark 就係 Flex 4 o既主要骨格 好地地用緊 Halo 點解又要 Spark 呢? 用得 Flex 比較深入o既 developer 或者 designer&#8230; 又或者 dezeloper 都會發現 Halo 有幾個比較大o既問題 1) Skinning Skinning and Skinning Halo [...]
Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/' rel='bookmark' title='Flex FAQ #10: Flex 4 有幾多個 namespace'>Flex FAQ #10: Flex 4 有幾多個 namespace</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>認識 Spark 之前先要講下 Halo</p>
<p>Halo 係 Flex 3 o既主要骨格<br />
由最 base o既 application (mx:Application)<br />
去到 layout properties (horizontalAlign, padding)<br />
再去到 UI control (mx:Button, mx:TextInput) 都係 Halo o既範圍<br />
而 Spark 就係 Flex 4 o既主要骨格</p>
<p>好地地用緊 Halo 點解又要 Spark 呢?</p>
<p>用得 Flex 比較深入o既 developer 或者 designer&#8230; 又或者 dezeloper 都會發現 Halo 有幾個比較大o既問題</p>
<p>1) Skinning Skinning and Skinning</p>
<p>Halo control 要做 skin 係非常痛苦架<br />
一係就只係用 CSS 做 d 好似無做過咁o既 styling<br />
一係就用 Flash 畫好晒 d 野~ 之後 export SWF~ Flex embed SWF~ 再 CSS map class&#8230;<br />
要改野咩? 開返個 Flash source 由頭做過啦</p>
<p>而且 Halo control o既 internal object 係 fixed 架<br />
舉個例~ 一個 Halo button 裡面有一個 icon 同一個 text field~ 唔可以多亦唔可以少<br />
如果想做一個有兩個 icon o既 button 就只可以由一個 Box container 開始砌~ 之後再自己加返 custom events&#8230;</p>
<p>2) 雞肋 States</p>
<p>Flex o既 States 本身係一樣好方便o既 function<br />
只要 define 一個 base state~ 然後 further define 其他 state 多左或者少左o既野~ 就可以好易做到 transition<br />
但係只要 state o既數量稍為多 d~ 又或者 state 同 state 之間變化比較多~ 就會開始 lost control&#8230;<br />
究竟 B 呢個 state 有 d 乜呢&#8230; 睇返 state A 先~ 哦~ 原來乜都無&#8230;</p>
<p>3) Heavy</p>
<p>其實 Flex Application 本身係 SWF file 已經唔係太大 file size<br />
不過如果你寫既 application 比較 large scale~ 又或者對於 memory consumption 好緊張~<br />
就會好想幫 Flex 3 大瘦身~</p>
<p>Flex 3 為左將所有野簡單化~ 有時會將一 d 你未必需要用o既 item 都放左入去<br />
舉個例~ Box container by default 係有 scroll bar 架~ 只係平時唔用o既時候無 display<br />
但係無 display 代唔代表佢完全唔用 resources 呢?<br />
大家只要睇下 super class Container 就會發現一大堆比 scroll 用o既 variables&#8230; 都幾多下&#8230;</p>
<p>幾個 Box 可能影響唔大<br />
但係如果你用 data grid 再加埋 custom item renderer 仲要用 Box 做 layout&#8230; 咁就大件事喇&#8230;<br />
你就會問&#8230; 明明我個 Box 唔駛 scroll&#8230; 點解要屈我 d resources</p>
<p>上面提到只係比較大o既問題<br />
當然仲有好多其他野啦~ 例如 CSS 唔 standard 呀~ Animate color 會傻左呀~ 等等等等&#8230;<br />
而 Spark o既開發就係為左解決上面呢堆問題~</p>
<p>呢度就暫時粗略講一講<br />
之後我會詳細咁講每一 part~</p>
<p>1) Spark o既 control 大致上可以細分為 HostComponent 同 SkinClass<br />
HostComponent 主要負責 event / state declaration 同埋 contain data<br />
SkinClass 就負責控制所有 graphic elements, state content 同 data binding</p>
<p>好處在於 HostComponent 只係負責最 base o既 feature<br />
而 SkinClass 就可以比你點玩都得~ 就算你想個 Button 係星形再加兩個 icon 都無問題</p>
<p>2) States o既 format 完全唔同晒~<br />
State 裡面o既野唔再o係 state o既層面處理~ 而係o係 control o既層面處理<br />
配合埋 Flash Builder o既 State editor 要知道 current state 有乜簡直易如反掌</p>
<p>3) Scroll bar 再唔o係 default component 會有o既野<br />
要用就要自己 declare~ 唔用就當然慳好多 resources 啦~</p>
<p>仲有好多其他 changes~ 包括 improved CSS class~ custom layout~ PopUpAnchor~ TLF~<br />
可以咁講&#8230; 要學o既野多過 Flex 2 上 Flex 3 好多好多倍~ 哈哈</p>
<p>Related posts:<ol>
<li><a href='http://vicker.cubeforge.net/blog/2010/01/16/flex-faq-10-how-many-flex-4-namespace/' rel='bookmark' title='Flex FAQ #10: Flex 4 有幾多個 namespace'>Flex FAQ #10: Flex 4 有幾多個 namespace</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/08/02/flex-faq-6-layout-101-part-1/' rel='bookmark' title='Flex FAQ #6: Layout 秘技 Part 1'>Flex FAQ #6: Layout 秘技 Part 1</a></li>
<li><a href='http://vicker.cubeforge.net/blog/2008/07/12/flex-faq-5-how-to-develop-full-screen-application/' rel='bookmark' title='Flex FAQ #5: 點樣做 Full Screen Application'>Flex FAQ #5: 點樣做 Full Screen Application</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://vicker.cubeforge.net/blog/2010/01/14/flex-faq-9-why-spark/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

