<?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>Gaia &#8211; Software, Fitness, and Gaming &#8211; Jesse Warden</title>
	<atom:link href="https://jessewarden.com/tag/gaia/feed" rel="self" type="application/rss+xml" />
	<link>https://jessewarden.com</link>
	<description>Software &#124; Fitness &#124; Gaming</description>
	<lastBuildDate>Tue, 18 May 2010 19:07:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://jessewarden.com/wp-content/uploads/2016/08/cropped-Lambda2-32x32.png</url>
	<title>Gaia &#8211; Software, Fitness, and Gaming &#8211; Jesse Warden</title>
	<link>https://jessewarden.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Use RobotLegs On Top of Gaia: Part Deux</title>
		<link>https://jessewarden.com/2010/05/how-to-use-robotlegs-on-top-of-gaia-part-deux.html</link>
					<comments>https://jessewarden.com/2010/05/how-to-use-robotlegs-on-top-of-gaia-part-deux.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Tue, 18 May 2010 19:07:26 +0000</pubDate>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Gaia]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[robotlegs]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=2196</guid>

					<description><![CDATA[Robotlegs has been released for awhile, and things have changed over the past 7 months for the better. Â A major discovery at how the Flash IDE can compile metatdata has recently come to light, so it&#8217;s time for an update to this topic which hopefullyÂ supersedesÂ both my old way of using Robotlegs in the Flash IDE, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Robotlegs has been released for awhile, and things have changed over the past 7 months for the better. Â A <a href="http://www.patrickmowrer.com/2010/03/03/compiling-custom-as3-metadata-flash-professional">major discovery</a> at how the Flash IDE can compile metatdata has recently come to light, so it&#8217;s time for an update to this topic which hopefullyÂ supersedesÂ both <a href="http://jessewarden.com/2009/10/how-to-use-robotlegs-on-top-of-gaia-part-1-of-3-quickstart.html">my old way</a> of using Robotlegs in the Flash IDE, and <a href="http://www.helmutgranda.com/2009/12/02/robotlegs-and-flash-ide-cs4-injection/">Helmut&#8217;s way</a>.</p>
<p>The following article describes what Gaia and Robotlegs are, why you would use them, and how you go about using them together.</p>
<p><span id="more-2196"></span><strong>What?</strong></p>
<p><strong><a href="http://gaiaflashframework.com/">Gaia</a></strong>: A framework for building Flash websites with built-in deep linking, modules, and code generation.</p>
<p><strong><a href="http://www.robotlegs.org/">Robotlegs</a></strong>: AÂ <a href="http://joeberkovitz.com/blog/reviewtube/">MVCS</a> framework for Flex, Flash, and pure AS3 applications.</p>
<p><strong>Why?</strong></p>
<p>Gaia is great for building websites, but it&#8217;s just a platform for you to build on, a bunch of helpful scaffolding; it doesn&#8217;t prescribe a way to build your applications. Â Specifically, you have to write your own code forÂ <a href="http://stackoverflow.com/questions/360860/what-is-domain-logic/362746#362746">Business logic and Application/Domain logic</a>. Â You still have to write code to hit back-end services, parse the returning XML/JSON/AMF, and act on that data. Â You can do this just fine for smaller websites in Gaia; Gaia doesn&#8217;t get in your way, nor prescribe how to build your site. Â However, for larger sites, it may get confusing on who does what, where that code goes, and how to work with other developers.</p>
<p>This is where an application framework like RobotLegs comes in. Â You&#8217;re domain model goes in the Model classes, your Business logic goes in the Service classes, and your Domain/Application logic goes in your Commands &amp; Mediators.</p>
<p>Examples: If a logged in User object needs to be persisted globally across pages in your site, put it on the Model. Â If you have a large amount of web services to get dynamic data from, and each is different, some requiring parameters, create Services out of them. Â If you need to do different things depending upon which user is logged in, and what permissions they have, utilize a Medaitor/Command for such code. Â Gaia can just handle the state of your application and what it looks like.</p>
<p>Gaia builds your site, and RobotLegs makes it work with dynamic data.</p>
<p>While you can utilize this combination on smaller websites, it is recommend for larger, Enterprise sites. Â Metrics include more than 12 pages each requiring dynamic data from a live middle tier, more than 10 web services, and/or a significant amount of application logic that the server doesn&#8217;t handle.</p>
<p><strong>How?</strong></p>
<ol>
<li><a href="http://www.gaiaflashframework.com/wiki/index.php?title=Getting_Started#Creating_A_Gaia_Project">Setup</a> your Gaia project.</li>
<li>Drop your <a href="http://downloads.robotlegs.org/">Robotlegs SWC</a> into the &#8220;libs&#8221; folder.</li>
<li>Check &#8220;Export SWC&#8221; under File &gt; Publish Settings.</li>
<li>Add the Robotlegs SWC to the Library Path (File &gt; Publish Settings, Flash tab, Settings Button, Library Path tab, Browse To SWC button).</li>
<li>Open Main.as and instantiate your Robotlegs Context in the overridden &#8220;onAddedToStage&#8221; before it calls super, passing it &#8220;stage&#8221; as the first and only parameter.</li>
</ol>
<pre lang="actionscript3">override protected function onAddedToStage(event:Event):void
{
	stage.align = StageAlign.TOP_LEFT;
	stage.scaleMode = StageScaleMode.NO_SCALE;
	mainContext = new MainContext(stage); // notice before super
	super.onAddedToStage(event);
}</pre>
<p>For Mediator&#8217;s, instead of a View reference, create an interface, and use a String for the class in mapMediator (more info below).</p>
<p><strong>Mediator&#8217;s</strong></p>
<p>Mediator&#8217;s are little tricky since Gaia is built on top of <a href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=actionscript+module&amp;aq=f&amp;aqi=g3g-m1&amp;aql=&amp;oq=&amp;gs_rfai=">modules</a>. Â Since you don&#8217;t want to defeat the purpose of using modules in the first place, having separate SWF&#8217;s each containing unique content to save download/initialization time/memory usage, you need to utilize Robotleg&#8217;s built in support of this workflow.</p>
<p>Mediator&#8217;s can be created for Gaia Page classes, or View children of a Gaia Page class. Â Not all Gaia pagesÂ necessarilyÂ need Mediator&#8217;s, only those that wish to interact with Robotlegs.</p>
<ol>
<li>Create an interface for whatever View you wish to have a Mediator for; put the functions your Mediator needs for the View to have in the interface.</li>
<li>Have your View implement this Interface.</li>
<li>When registering your Mediator in the Context, do it like so:</li>
</ol>
<pre lang="actionscript3">mediatorMap.mapView("yourViewClass", YourMediator, IInterface);</pre>
<p>First, notice the 1st parameter, the class name, is a String instead of a strongly-typed class name. Â This ensures that your main.fla does not compile your View code into your main.swf. Â It is only downloaded, initialized, and loaded into memory once the user navigates to that page.</p>
<p>Second, notice the 3rd optional parameter is the interface you created. Â This ensure&#8217;s Robotlegs know&#8217;s what class to look for to be Mediated when the Gaia page is navigated to and your View comes onto the DisplayList, and thus create your Mediator with it&#8217;s injected View. Â This also ensure&#8217;s you can still get strong-typing while talking with your View in your Mediator.</p>
<p><strong>Conclusions</strong></p>
<p>For larger applications, I would encourage the use of Flex. Â However, for multimedia heavy sites, it&#8217;s a lot easier to utilize Gaia since it already has modules built in, they are easier to work with and unload than Flex modules, as well as all the other media centric features that Gaia comes with. Â Also keep in mind that just because you utilize Robotlegs doesn&#8217;t shield you from dependencies like Flex does via <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=modular_4.html">-load-externs</a>. Â If you have a Gaia page class that imports a class that has dependencies, that Gaia page will import them, either negating the positives that modules give you or causing your application not to work/compile.</p>
<p>When building Flash websites, it&#8217;s a given you&#8217;ll probably utilize Gaia. Â For larger sites, though, you may wish to utilize a framework to help manage the large amounts of code you&#8217;ll accrue for hitting a variety of services, as well as managing application logic (if the user is logged in, do this, else do this). Â Robotlegs is a fine choice because of it&#8217;s support for dynamic Mediators through the use of Interfaces shown above.</p>
<p>Questions about Gaia? Â <a href="http://www.gaiaflashframework.com/wiki/index.php?title=Main_Page">Documentation</a> | <a href="http://www.gaiaflashframework.com/index.php?action=forum">Forum</a></p>
<p>Questions about Robotlegs? <a href="http://knowledge.robotlegs.org/">Documentation &amp; Forum</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2010/05/how-to-use-robotlegs-on-top-of-gaia-part-deux.html/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Apple&#8217;s iPad, HTML5 Video, Gaia Flash Framework &#8211; JXLTV &#8211; Episode #3</title>
		<link>https://jessewarden.com/2010/01/apples-ipad-html5-video-gaia-flash-framework-jxltv-episode-3.html</link>
					<comments>https://jessewarden.com/2010/01/apples-ipad-html5-video-gaia-flash-framework-jxltv-episode-3.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Sun, 31 Jan 2010 15:02:05 +0000</pubDate>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Gaia]]></category>
		<category><![CDATA[jxltv]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=1972</guid>

					<description><![CDATA[I talk developing for Apple&#8217;s new iPad, how you can use your existing video to play on it. Also the Gaia Flash Framework&#8217;s history with a quick summary of what she does. Mentioned links: Apple iPad Alternative Videos for iPhone/iPad Building iPad apps with Flash CS5 Gaia Flash Framework Ruby on Rails Unload Flex Modules [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="viddler_8a93ee9f" name="viddler_8a93ee9f">
<pre style="border: 0px; margin: 0px;">
<object type="video/mp4" data="http://jessewarden.com/archives/jxltv/jxltv-episode-003.jpg" width="460" height="258">
			<param name="controller" value="false" />
			<param name="src" value="http://jessewarden.com/archives/jxltv/jxltv-episode-003.jpg" />
			<param name="href" value="http://jessewarden.com/archives/jxltv/jxltv-episode-003-iphone.mp4" />
			<param name="target" value="myself" />
				<img decoding="async" src="http://jessewarden.com/archives/jxltv/jxltv-episode-003.jpg" alt="JXL TV Episode 3"></img>
		</object>
</pre>
</div>
<pre style="border: 0px; margin: 0px;"><script type="text/javascript">

var flashvars = {};
var params = {
	allowScriptAccess: "always",
	allowFullScreen: "true"
};
var attributes = {
  id: "viddler_8a93ee9f",
  name: "viddler_8a93ee9f"
};

swfobject.embedSWF("http://www.viddler.com/player/8a93ee9f/", "viddler_8a93ee9f", "437", "287", "9.0.0","http://www.jessewarden.com/expressInstall.swf", flashvars, params, attributes);

</script></pre>
<p>I talk developing for Apple&#8217;s new iPad, how you can use your existing video to play on it.  Also the Gaia Flash Framework&#8217;s history with a quick summary of what she does.</p>
<p><span id="more-1972"></span>Mentioned links:</p>
<ul>
<li><a href="http://www.apple.com/ipad/">Apple iPad</a></li>
<li><a href="http://theflashblog.com/?p=1686">Alternative Videos for iPhone/iPad</a></li>
<li><a href="http://blogs.adobe.com/flashplatform/2010/01/building_ipad_apps.html">Building iPad apps with Flash CS5</a></li>
<li><a href="http://www.gaiaflashframework.com/">Gaia Flash Framework</a></li>
<li><a href="http://rubyonrails.org/">Ruby on Rails</a></li>
<li><a href="http://blogs.adobe.com/aharui/2009/08/what_we_know_about_unloading_m.html">Unload Flex Modules</a></li>
</ul>
<p>Beers</p>
<ul>
<li><a href="http://www.shiner.com/">Shiner Bock</a></li>
<li><a href="http://www.lagunitas.com/beers/brownshugga.html">Lagunitas Brown Shugga</a></li>
<li><a href="http://www.bridgeportbrew.com/">Bridgeport Hop Czar</a></li>
<li><a href="http://www.newbelgium.com/beer/fat-tire">New Belgium Fat Tire</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2010/01/apples-ipad-html5-video-gaia-flash-framework-jxltv-episode-3.html/feed</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		<enclosure url="http://jessewarden.com/archives/jxltv/jxltv-episode-003-iphone.mp4" length="96406777" type="video/mp4" />

			</item>
	</channel>
</rss>
