<?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>Flex i AIR &#187; AS 3.0</title>
	<atom:link href="http://flex.imrahil.com/category/flash-platform/as-30/feed/" rel="self" type="application/rss+xml" />
	<link>http://flex.imrahil.com</link>
	<description>Wiadomości ze świata RIA oraz moje zmagania z programowaniem w Flex/AIR</description>
	<lastBuildDate>Tue, 03 Aug 2010 19:33:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Flex SDK + Flash Player 10</title>
		<link>http://flex.imrahil.com/2009/10/24/flex-sdk-flash-player-10/</link>
		<comments>http://flex.imrahil.com/2009/10/24/flex-sdk-flash-player-10/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 11:05:50 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex SDK]]></category>
		<category><![CDATA[Zapamiętać]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=385</guid>
		<description><![CDATA[Wpis w związku z powtarzającymi się pytaniami na różnych forach. Jak włączyć w Flex Builderze kompilowanie dla Flash Playera 10 (czyli mieć dostęp do klasy Vector i metody &#8222;save&#8221; w klasie FileReference): zakładam, że mamy nowe SDK (najlepiej 3.4) w właściwościach projektu wybieramy zakładkę &#8222;Flex Compiler&#8221; i&#8230; wpisujemy w &#8222;Additional compiler arguments&#8221; -target-player=10.0.0 . LUB [...]]]></description>
			<content:encoded><![CDATA[<p>Wpis w związku z powtarzającymi się pytaniami na różnych forach.</p>
<p><strong>Jak włączyć w <a href="http://www.adobe.com/products/flex/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe Flex"  rel="external">Flex</a> Builderze kompilowanie dla Flash Playera 10 (czyli mieć dostęp do klasy Vector i metody &#8222;save&#8221; w klasie FileReference):</strong></p>
<ol>
<li>zakładam, że mamy nowe SDK (najlepiej 3.4)</li>
<li>w właściwościach projektu wybieramy zakładkę &#8222;Flex Compiler&#8221; i&#8230;
<ul>
<li>wpisujemy w <em>&#8222;Additional compiler arguments&#8221;</em> <strong>-target-player=10.0.0 </strong><br />
<span style="color: #ffffff;">.</span><br />
<a href="http://flex.imrahil.com/files/2009/10/player10_1.jpg" rel="lightbox[385]"><img class="alignnone size-thumbnail wp-image-387" title="player10_1" src="http://flex.imrahil.com/files/2009/10/player10_1-150x150.jpg" alt="player10_1" width="150" height="150" /></a></li>
</ul>
<p><strong>LUB</strong></p>
<ul>
<li>zaznaczamy <em>&#8222;Require Flash Player version:&#8221;</em> i podajemy wartości: 10 0 0<br />
<span style="color: #ffffff;">.</span><br />
<a href="http://flex.imrahil.com/files/2009/10/player10_2.jpg" rel="lightbox[385]"><img class="alignnone size-thumbnail wp-image-386" title="player10_2" src="http://flex.imrahil.com/files/2009/10/player10_2-150x150.jpg" alt="player10_2" width="150" height="150" /></a></li>
</ul>
</li>
</ol>
<p>Więcej informacji na stronach <a href="http://www.adobe.com/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe"  rel="external">Adobe</a> &#8211; <a href="http://opensource.adobe.com/wiki/display/flexsdk/Targeting+Flash+Player+10" target="_blank">Targeting Flash Player 10</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2009/10/24/flex-sdk-flash-player-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wysyłanie formularzy multipart/form-data</title>
		<link>http://flex.imrahil.com/2009/09/08/wysylanie-formularzy-multipartform-data/</link>
		<comments>http://flex.imrahil.com/2009/09/08/wysylanie-formularzy-multipartform-data/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 13:08:04 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=149</guid>
		<description><![CDATA[Trafiłem ostatnio na dość dziwny problem. Potrzebowałem mianowicie wysłać z poziomu Flexa dane formularza, które po stronie serwera zostałyby odebrane przez PHP (lub inny język server-side). Jednak cały kłopot polegał na tym, że: dane te miały wykorzystać istniejący już kod obsługiwany przez formularz w HTML&#8217;u &#8211; czyli niejako miałem się podszyć pod zwykłą stronę www, [...]]]></description>
			<content:encoded><![CDATA[<p>Trafiłem ostatnio na dość dziwny problem. Potrzebowałem mianowicie wysłać z poziomu Flexa dane formularza, które po stronie serwera zostałyby odebrane przez PHP (lub inny język server-side).</p>
<p>Jednak cały kłopot polegał na tym, że:</p>
<ul>
<li> dane te miały wykorzystać istniejący już kod obsługiwany przez formularz w HTML&#8217;u &#8211; czyli niejako miałem się podszyć pod zwykłą stronę www, nie wykorzystując żadnych udogodnień typu AMF, Webservice czy RemoteObject,</li>
<li>chciałem wysłać jednocześnie dane tekstowe (np. dane rejestracyjne) oraz binarne (np. obrazki JPG), bez limitu ilości,</li>
<li>obrazki nie były pobierane z dysku użytkownika przez FileReference.browse, ale tworzone w locie jako zrzuty komponentów przez ImageSnapshot i trzymane w pamięci w zmiennych typu ByteArray.</li>
</ul>
<p>Jedyne co udało mi się znaleźć to <a href="http://www.neerfri.com/2007/12/flex-multipartform-data-post-request.html" target="_blank">artykuł na blogu Neer&#8217;a Friedman&#8217;a</a> i jego <a href="http://code.google.com/p/multipart-loader/" target="_blank">projekt na Google Code</a>. Był to dobry początek do zmian&#8230;<br />
BTW: niejaki Mike Stead, którego komentarz widnieje pod wpisem Neer&#8217;a też zajmował się tym problemem i zdaje się, że nawet go jakoś elegancko rozwiązał, jednak jego stronka padła kompletnie i nie ma jej nawet w Google Cache&#8230;</p>
<p>Wywaliłem kod odpowiedzialny za używanie Socketów zamieniając go na zwykłego URLLoader&#8217;a oraz troche zrefaktoryzowałem kod (uporzadkowałem). Tym sposobem pojawiła się biblioteka MultipartRequestLoader <img src='http://flex.imrahil.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://flex.imrahil.com/work/multipart_loader/multipart_loader_example.html" target="_blank">Przykładowa aplikacja</a> (wraz z kodem źródłówym pod prawym klikiem myszki), a tutaj kod biblioteki: <a href="http://flex.imrahil.com/work/multipart_loader/multipart_loader_imrahil.zip" target="_blank">multipart_loader_imrahil.zip</a></p>
<p>Kod przykładowej aplikacji:</p>
<div class="codecolorer-container mxml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:500px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br /></div></td><td><div class="mxml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> creationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span> viewSourceURL=<span style="color: #ff0000;">&quot;srcview/index.html&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #339933;">&lt;mx:Script&gt;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp;&lt;![CDATA[</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;import multipart.MultipartVariables;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;import multipart.MultipartRequestLoader;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private var loader:MultipartRequestLoader;</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function init():void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader = new MultipartRequestLoader('http://flex.imrahil.com/work/multipart_loader/upload.php');</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var variables:MultipartVariables = new MultipartVariables();</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var myByteArray:ByteArray = new ByteArray();</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// we will create a fake file content here, you should replace this with the binary data you want to upload</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for(var i:int=0; i&lt;100;i++) </span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;myByteArray.writeUTFBytes(&quot;123by\nAR\r\nRA\x65\x0156&quot;);</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;variables.add('file_data', myByteArray, 'filename.bin');</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;variables.add('another_var','extra data');</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader.variables = variables;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader.addEventListener(Event.COMPLETE, fileUploaded);</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function fileUploaded(event:Event):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text += 'Result:';</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text += MultipartRequestLoader(event.target).responseBody;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function securityErrorHandler(event:SecurityErrorEvent):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text = &quot;securityErrorHandler: &quot; + event;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function ioErrorHandler(event:IOErrorEvent):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;outputTxt.text = &quot;ioErrorHandler: &quot; + event;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;private function upload(event:MouseEvent):void</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;loader.load();</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</span><br />
<span style="color: #339933;"> &nbsp; &nbsp; &nbsp; &nbsp;]]&gt;</span><br />
<span style="color: #339933;"> &nbsp; &nbsp;&lt;/mx:Script&gt;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:VBox</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span> horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span> verticalAlign=<span style="color: #ff0000;">&quot;middle&quot;</span><span style="color: #7400FF;">&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> label=<span style="color: #ff0000;">&quot;Upload!&quot;</span> click=<span style="color: #ff0000;">&quot;upload(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextArea</span> id=<span style="color: #ff0000;">&quot;outputTxt&quot;</span> width=<span style="color: #ff0000;">&quot;500&quot;</span> height=<span style="color: #ff0000;">&quot;250&quot;</span> <span style="color: #7400FF;">/&gt;</span></span><br />
&nbsp; &nbsp; <span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:VBox</span><span style="color: #7400FF;">&gt;</span></span> <br />
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2009/09/08/wysylanie-formularzy-multipartform-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe i Facebook &#8211; oficjalne AS3 API</title>
		<link>http://flex.imrahil.com/2009/03/31/adobe-i-facebook-oficjalne-as3-api/</link>
		<comments>http://flex.imrahil.com/2009/03/31/adobe-i-facebook-oficjalne-as3-api/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 09:03:51 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=175</guid>
		<description><![CDATA[Adobe i Facebook ogłosiły dzisiaj, że łączą wysiłki w celu ułatwienia deweloperom Flash Platform pracy nad aplikacjami działającymi na Facebook Platform. W tym celu opublikowana została oficjalna biblioteka AS3 umożliwiająca korzystanie z API Facebook&#8217;a z poziomu aplikacji Flex/Flash. Pojawił się także specjalny dział na stronach Adobe Devnet poświęcony temu zagadnieniu. Serwis InsideRIA.com będzie od przyszłego [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe"  rel="external">Adobe</a> i Facebook ogłosiły dzisiaj, że łączą wysiłki w celu ułatwienia deweloperom Flash Platform pracy nad aplikacjami działającymi na Facebook Platform. W tym celu opublikowana została <a href="http://code.google.com/p/facebook-actionscript-api/" target="_blank">oficjalna biblioteka AS3</a> umożliwiająca korzystanie z API Facebook&#8217;a z poziomu aplikacji <a href="http://www.adobe.com/products/flex/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe Flex"  rel="external">Flex</a>/Flash. Pojawił się także specjalny dział na <a href="http://www.adobe.com/devnet/facebook/" target="_self">stronach Adobe Devnet</a> poświęcony temu zagadnieniu.</p>
<p>Serwis <a href="http://www.insideria.com" target="_blank">InsideRIA.com</a> będzie od przyszłego tygodnia <a href="http://www.insideria.com/2009/03/new-series-covering-facebook-a.html" target="_blank">publikował tutoriale</a> pokazujące w jaki sposób wykorzystać w praktyce nowe facebook&#8217;owe AS3 API.</p>
<p>Edit: Ryan Stewart opublikował <a href="http://blog.digitalbackcountry.com/2009/03/demo-of-the-real-time-social-web-with-the-flash-platform/" target="_blank">niesamowite demo</a> pokazujące możliwości Facebook API oraz Adobe Flash Collaboration Services (AFCS &#8211; dawniej Cocomo)</p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2009/03/31/adobe-i-facebook-oficjalne-as3-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Alchemy</title>
		<link>http://flex.imrahil.com/2008/11/28/adobe-alchemy/</link>
		<comments>http://flex.imrahil.com/2008/11/28/adobe-alchemy/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 17:10:41 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[Adobe MAX]]></category>
		<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=118</guid>
		<description><![CDATA[Alchemy to projekt mający na celu umożliwienie kompilowania kodu C lub C++ do postaci AVM2 (ActionScript Virtual Machine), czyli mówiąc wprost dający możliwość skompilowania kodu do SWF czy SWC i uruchomienia go w Flash Playerze 10 lub AIR 1.5. Przykładem wykorzystania Alchemy mogą być portowane z C/C++ kodeki audio OggVorbis czy biblioteki silnego szyfrowania (aktualnie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.adobe.com/technologies/alchemy/" target="_blank">Alchemy</a> to projekt mający na celu umożliwienie kompilowania kodu C lub C++ do postaci AVM2 (ActionScript Virtual Machine), czyli mówiąc wprost dający możliwość skompilowania kodu do SWF czy SWC i uruchomienia go w Flash Playerze 10 lub <a href="http://www.adobe.com/products/air/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe AIR"  rel="external">AIR</a> 1.5.</p>
<p>Przykładem wykorzystania Alchemy mogą być portowane z C/C++ <a href="http://labs.adobe.com/wiki/index.php/Alchemy:Libraries" target="_blank">kodeki audio OggVorbis</a> czy <a href="http://labs.adobe.com/wiki/index.php/Alchemy:Libraries" target="_blank">biblioteki silnego szyfrowania</a> (aktualnie niedostępne w AS3).<br />
Wyśmienitym przykładem jest także sportowany do Flash Platform i śmigający bezproblemowo <a href="http://www.newgrounds.com/portal/view/470460" target="_blank">Doom 1</a>.</p>
<p>Całość jest aktualnie dostępna do ściągnięcia za darmo na <a href="http://labs.adobe.com/technologies/alchemy/" target="_blank">Adobe Labs</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2008/11/28/adobe-alchemy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak dodatkowo wykorzystać addChild()</title>
		<link>http://flex.imrahil.com/2008/09/29/jak-dodatkowo-wykorzystac-addchild/</link>
		<comments>http://flex.imrahil.com/2008/09/29/jak-dodatkowo-wykorzystac-addchild/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 20:48:14 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Zapamiętać]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=41</guid>
		<description><![CDATA[Trick godny zapamiętania. Pomocny w momentach gdy podczas tworzenia serii nowych obiektów, oprócz dodania do nadrzędnego komponentu, potrzebujemy mieć do nich wskaźniki w podręcznej tablicy. [source="as3"] var newBtn:Button = new Button(); var childsArray:Array = new Array(); childsArray.push(addChild(newBtn)); [/source] Źródło: blog AS3 Apex]]></description>
			<content:encoded><![CDATA[<p>Trick godny zapamiętania. Pomocny w momentach gdy podczas tworzenia serii nowych obiektów, oprócz dodania do nadrzędnego komponentu, potrzebujemy mieć do nich wskaźniki w podręcznej tablicy.</p>
<p>[source="as3"]<br />
var newBtn:Button = new Button();<br />
var childsArray:Array = new Array();</p>
<p>childsArray.push(addChild(newBtn));<br />
[/source]</p>
<p>Źródło: <a href="http://www.as3apex.com/as3/cool-addchild-trick-why-dont-people-not-use-the-return-of-addchild/" target="_blank">blog AS3 Apex</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2008/09/29/jak-dodatkowo-wykorzystac-addchild/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Maps AS3 API i UMap v.0.9.1</title>
		<link>http://flex.imrahil.com/2008/05/14/google-maps-as3-api-i-umap-v091/</link>
		<comments>http://flex.imrahil.com/2008/05/14/google-maps-as3-api-i-umap-v091/#comments</comments>
		<pubDate>Wed, 14 May 2008 21:22:35 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Komponenty]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/?p=26</guid>
		<description><![CDATA[Google opublikowało dzisiaj Google Maps API for Flash. Całość to biblioteka SWC, którą podłączamy do Flexa (Builder lub SDK) i bezproblemowo budujemy mapkę Google Maps. Więcej przykładów do ściągnięcia z repozytorium projektu. Poniżej mały, naprędce skompilowany przykład (źródło pod prawym przyciskiem myszy) Niestety nie udało mi się odpalić tej biblioteki w aplikacji AIR. Wypluwało dziwny [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Google opublikowało dzisiaj <a href="http://code.google.com/apis/maps/documentation/flash/" target="_blank">Google Maps API for Flash</a>. Całość to <a href="http://maps.googleapis.com/maps/flash/release/sdk.zip" target="_blank">biblioteka SWC</a>, którą podłączamy do Flexa (Builder lub SDK) i bezproblemowo budujemy mapkę Google Maps. Więcej przykładów do ściągnięcia z <a href="http://code.google.com/p/gmaps-samples-flash/source/browse/trunk/?r=2" target="_blank">repozytorium projektu</a>.</p>
<p style="text-align: left;">Poniżej mały, naprędce skompilowany przykład (źródło pod prawym przyciskiem myszy)</p>
<p style="text-align: center;">
<object width="550" height="400">
<param name="movie" value="http://flex.imrahil.com/files/2008/05/gmaps_api.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="true"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<param name="allowScriptAccess" value="always"></param>
<param name="allowFullScreen" value="true"></param>
<embed type="application/x-shockwave-flash" width="550" height="400" src="http://flex.imrahil.com/files/2008/05/gmaps_api.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="true" allowFullScreen="true" ></embed>
</object>
</p>
<p style="text-align: left;">Niestety nie udało mi się odpalić tej biblioteki w aplikacji <a href="http://www.adobe.com/products/air/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe AIR"  rel="external">AIR</a>. Wypluwało dziwny błąd związany z sandboxem&#8230;</p>
<p style="text-align: left;"><strong>Edit:</strong><br />
znany błąd. można na niego zagłosować na <a href="http://code.google.com/p/gmaps-api-issues/issues/detail?id=322&amp;colspec=ID%20Type%20Status%20Priority%20Introduced%20Fixed%20Summary&amp;start=200" target="_blank">gmaps-api-issues</a>.</p>
<p style="text-align: left;">Ogólnie całość sprawia wrażenie trochę niedopracowanego. Czasem sypie błędami, coś się nie wczytuje, etc</p>
<p style="text-align: left;"><strong>UMap</strong><br />
Jakby tego było mało, chwilę później dostałem informację mailem, że konkurencja z <a href="http://www.afcomponents.com/" target="_blank">AFComponents</a> nie śpi i nie marnuje czasu, tylko pracuje nad kolejnymi wersjami swojej obsługi map Google (jak też i innych), czyli <a href="http://www.afcomponents.com/components/umap_as3/" target="_blank">UMap w najnowszej wersji 0.9.1</a> &#8211; showcase na <a href="http://www.umapper.com" target="_blank">umapper.com</a></p>
<p style="text-align: left;"><strong>Edit:</strong><br />
Wygląda na to, że Panowie z Google i Panowie z AFComponent jednak się lubią. Wskazuje na to przykład na <a href="http://googlemapsapi.blogspot.com/2008/05/introducing-google-maps-api-for-flash.html" target="_blank">oficjalnym blogu Google Maps</a>.</p>
<p style="text-align: left;">Źródło: <a href="http://www.readwriteweb.com/archives/google_maps_flash_api.php" target="_blank">ReadWriteWeb.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2008/05/14/google-maps-as3-api-i-umap-v091/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GAE SWF Project</title>
		<link>http://flex.imrahil.com/2008/05/07/gae-swf-project/</link>
		<comments>http://flex.imrahil.com/2008/05/07/gae-swf-project/#comments</comments>
		<pubDate>Wed, 07 May 2008 10:07:52 +0000</pubDate>
		<dc:creator>Jarek</dc:creator>
				<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Serwer Side]]></category>

		<guid isPermaLink="false">http://flex.imrahil.com/2008/05/07/gae-swf-project/</guid>
		<description><![CDATA[GAE SWF Project jest to opensource&#8217;owy projekt prowadzony przez Arala Balkana mający na celu łatwienie startu Flash/Flex developerom na platformie Google App Engine. Pośród celów projektu są: krzewienie dobrych praktyk kodowania, komunikacja z serwerem oparta o PyAMF wykorzystanie Google API: Mail API, Users API i Datastore API, promocja prawidłowego umieszczania plików SWF za pomocą SWFObject, [...]]]></description>
			<content:encoded><![CDATA[<div align="center"><img src="http://flex.imrahil.com/files/2008/05/gaeswf_logo.jpg" alt="GAE SWF Project" border="0" /></div>
<p><a href="http://gaeswf.appspot.com/">GAE SWF Project</a> jest to opensource&#8217;owy projekt prowadzony przez <a href="http://aralbalkan.com/">Arala Balkana</a> mający na celu łatwienie startu Flash/<a href="http://www.adobe.com/products/flex/"  class="alinks_links" onclick="return alinks_click(this);" title="Adobe Flex"  rel="external">Flex</a> developerom na platformie <a href="http://code.google.com/appengine/">Google App Engine</a>.</p>
<p>Pośród celów projektu są:</p>
<ul>
<li>krzewienie dobrych praktyk kodowania,</li>
<li>komunikacja z serwerem oparta o <a href="http://pyamf.org/">PyAMF</a></li>
<li>wykorzystanie Google API: <a href="http://code.google.com/appengine/docs/mail/">Mail API</a>, <a href="http://code.google.com/appengine/docs/users/">Users API</a> i <a href="http://code.google.com/appengine/docs/datastore/">Datastore API</a>,</li>
<li>promocja prawidłowego umieszczania plików SWF za pomocą <a href="http://code.google.com/p/swfobject/">SWFObject</a>,</li>
<li>głębokie linkowanie (deep linking) za pomocą <a href="http://www.asual.com/swfaddress/">SWFAddress</a>.</li>
</ul>
<p>Online demo: <a href="http://gaeswf.appspot.com/examples/initial/flash">Flash 9</a> / <a href="http://gaeswf.appspot.com/examples/initial/flash">Flex 3</a></p>
<p><a href="http://code.google.com/appengine/">Google App Engine</a> to testowa i darmowa (na dzień dzisiejszy) oferta hostingowa udostępniona przez Google dająca możliwość umieszczania aplikacji pisanych w <a href="http://python.org/">Pythonie</a> i korzystających z tej samej infrastruktury co wyszukiwarka Google. Parametry to: max 3 aplikacje po maksimum 500MB trzymanych w bazie <a href="http://en.wikipedia.org/wiki/Bigtable">BigTable</a>, 5 milionów odsłon i 10TB transferu miesięcznie. Umożliwiony jest dostęp do usług Google takich jak: GMail, Google Accounts i innych.</p>
<p><a href="http://pyamf.org/">PyAMF</a> to kompatybilna z Flash Playerem implementacja protokołu <a href="http://en.wikipedia.org/wiki/Action_Message_Format">AMF</a> (Action Message Format) stworzona w <a href="http://python.org/">Pythonie</a>. Jest to binarny protokół służący wymiany danych pomiędzy aplikacją Flash/Flex i serwerem za pomocą zdalnego wywoływania procedur (RPC).<br />
Wywołania mogą być przesyłane poprzez protokół HTTP/HTTPS lub też poprzez <a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol">RTMP/RTMPS</a>. Dzięki serializacji obiektów do postaci binarnej zwiększa się wydajność wywołań co pozwala wczytywać dane 10 razy szybciej niż gdyby działo się to za pomocą tekstowych formatów takich jak XML czy SOAP. Porównanie wydajności można przeprowadzić na <a href="http://www.jamesward.org/census/">stronie Jamesa Warda</a>.<br />
Przykłady zastosowania PyAMF dostępne są na <a href="http://pyamf.org/wiki/Examples">stronie projektu</a>, a ja polecam jedno z ciekawszych rozwiązań, czyli <a href="http://pyamf.appspot.com/shell/">PyAMF Python Shell Demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://flex.imrahil.com/2008/05/07/gae-swf-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

