<?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>Richard Lord &#187; Flex</title>
	<atom:link href="http://www.richardlord.net/blog/tag/flex/feed" rel="self" type="application/rss+xml" />
	<link>http://www.richardlord.net</link>
	<description>Actionscript/Flex, PHP and Java developer</description>
	<lastBuildDate>Fri, 25 Jun 2010 07:34:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Spring Actionscript example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-spring</link>
		<comments>http://www.richardlord.net/blog/flexcaster-spring#comments</comments>
		<pubDate>Wed, 09 Jun 2010 13:50:54 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[SpringActionscript]]></category>

		<guid isPermaLink="false">http://www.richardlord.net/?p=680</guid>
		<description><![CDATA[<p>In preparation for my session at <a href="http://www.gotoandski.com/">gotoAndSki</a> I have created a <a href="http://www.springactionscript.org/">Spring Actionscript</a> version of my frameworks example application. The Spring Actionscript developers have released a version 1 release candidate and it's time to include it in these comparisons.</p>

<p>For this Spring Actionscript example I've used exactly the same project as in the previous examples for other frameworks. Like many of the newer frameworks, Spring Actionscript is not prescriptive about your application's architecture so I've used a similar MVC architecture to the one in my Swiz example.</p>]]></description>
			<content:encoded><![CDATA[<p>In preparation for my session at <a href="http://www.gotoandski.com/">gotoAndSki</a> I have created a <a href="http://www.springactionscript.org/">Spring Actionscript</a> version of my frameworks example application. The Spring Actionscript developers have released a version 1 release candidate and it&#8217;s time to include it in these comparisons.</p>

<p>For this Spring Actionscript example I&#8217;ve used exactly the same project as in the previous examples for other frameworks. Like many of the newer frameworks, Spring Actionscript is not prescriptive about your application&#8217;s architecture so I&#8217;ve used a similar MVC architecture to the one in my Swiz example.</p>

<p>The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3c114a">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_spring.swf", "swf4c5323d3c114a", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-spring/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What project will replace the Flex framework?</title>
		<link>http://www.richardlord.net/blog/what-project-will-replace-the-flex-framework</link>
		<comments>http://www.richardlord.net/blog/what-project-will-replace-the-flex-framework#comments</comments>
		<pubDate>Tue, 13 Apr 2010 14:58:47 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Reflex]]></category>
		<category><![CDATA[Robotlegs]]></category>
		<category><![CDATA[Swiz]]></category>

		<guid isPermaLink="false">http://www.richardlord.net/?p=534</guid>
		<description><![CDATA[<p>In <a href="/blog/is-the-flash-platform-waiting-for-a-spring-moment">my previous post</a> I discussed the idea that a project might emerge to replace the Flex framework, in a similar manner to Spring replacing EJB in the Java world. Although I am not in a position to predict what that project will be, I did mention some characteristics that I think the project will have. They were</p>

<ol>
<li>It will start as something simple, with a strong foundation and the potential to grow.</li>
<li>It will have some very strong developers at its core.</li>
<li>It will have at least one project member with an ability to market effectively to the developer community.</li>
<li>It will be open source.</li>
<li>Its roadmap will develop through open discussion with the community.</li>
<li>It will have a very active developer community around it.</li>
<li>It's probably a project that has already begun.</li>
</ol>

<p>I can think of three excellent projects that meet most or all of these criteria. Whether any of them will one day replace the flex framework depends on many things, including in two cases whether the developers would even want to do such a thing. Here are the projects...</p>]]></description>
			<content:encoded><![CDATA[<p>In <a href="/blog/is-the-flash-platform-waiting-for-a-spring-moment">my previous post</a> I discussed the idea that a project might emerge to replace the Flex framework, in a similar manner to Spring replacing EJB in the Java world. Although I am not in a position to predict what that project will be, I did mention some characteristics that I think the project will have. They were</p>

<ol>
<li>It will start as something simple, with a strong foundation and the potential to grow.</li>
<li>It will have some very strong developers at its core.</li>
<li>It will have at least one project member with an ability to market effectively to the developer community.</li>
<li>It will be open source.</li>
<li>Its roadmap will develop through open discussion with the community.</li>
<li>It will have a very active developer community around it.</li>
<li>It&#8217;s probably a project that has already begun.</li>
</ol>

<p>I can think of three excellent projects that meet most or all of these criteria. Whether any of them will one day replace the flex framework depends on many things, including in two cases whether the developers would even want to do such a thing. Here are the projects.</p>

<h3>Reflex</h3>

<p>The most obvious candidate is <a href="http://reflex.io/">Reflex</a>. It actually styles itself as a Flex replacement. It&#8217;s also not a first generation project, having evolved from <a href="http://blog.benstucki.net/">Ben Stucki</a>&#8216;s experiences developing <a href="http://code.google.com/p/openflux/">OpenFlux</a> and <a href="http://jacwright.com/">Jacob</a> &#038; <a href="http://www.xtyler.com/">Tyler</a> Wright&#8217;s experiences developing the <a href="http://www.flightxd.com/flightframework/">Flight Framework</a>. Reflex is designed as a straight improvement on the way Flex is designed. A key element in this is the use of containment rather than inheritance when creating the component architecture.</p>

<p>The result is aiming to be a simplified, lightweight, extendible component architecture with core features from Flex like MXML and CSS all in a tiny (~50kB) package.</p>

<p>The project is in its early stages but appears to be progressing well. The three core developers are all experienced and talented. Ben knows how to make a noise in the development community so they have that angle covered too.</p>

<h3>Robotlegs</h3>

<p>Like the original Spring for Java, <a href="http://www.robotlegs.org/">Robotlegs</a> (which is built on top of <a href="http://github.com/tschneidereit/SwiftSuspenders">SwiftSuspenders</a>) is a lightweight architecture built around a dependency injection container. Currently it complements the Flex framework, but if, like Spring, Robotlegs grew to cover more aspects of development it could perhaps be the foundation for a new approach to simplifying the development process. Put simply, maybe dependency injection could be the foundation for a component architecture.</p>

<p>Robotlegs was founded by <a href="http://shaun.boyblack.co.za/blog/">Shaun Smith</a> and it has skilled developers, an active and open community and, in <a href="http://joelhooks.com/">Joel Hooks</a>, at least one developer who has an aptitude for promoting the project to the wider world. Moving beyond an elegant micro-architecture into the world of Flex replacement therapy would be a big leap but I suspect the Robotlegs team would be up for it if they want the challenge.</p>

<h3>Swiz</h3>

<p><a href="http://swizframework.org/">Swiz</a> started life as a personal project for <a href="http://cdscott.blogspot.com/">Chris Scott</a>, but has evolved into a community project with a number of strong developers. It&#8217;s also changed at its core from a dependency injection based lightweight architecture to a metadata processing architecture, with a dependency injection container and event bus architecture built atop it. This puts Swiz in a position to build an architecture around metadata as well as Actionscript/MXML/CSS. Adding additional metadata processors to the Swiz toolset might open up new architectures to replace the traditional Flex model.</p>

<p>Swiz has had issues with documentation (it&#8217;s limited and updated intermittently) but the team are getting better at telling the community what&#8217;s going on and what their roadmap is, and they are quick to respond to questions which mitigates many of the documentation issues.</p>

<h3>Only three?</h3>

<p>There are other projects I could have mentioned but from those I know these three most closely match my criteria above. I also like and am excited by all three of these projects.</p>

<p>What would be your candidate for a project with a bright future and the potential to grow into a Flex replacement?</p>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/what-project-will-replace-the-flex-framework/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Is The Flash Platform waiting for a Spring moment?</title>
		<link>http://www.richardlord.net/blog/is-the-flash-platform-waiting-for-a-spring-moment</link>
		<comments>http://www.richardlord.net/blog/is-the-flash-platform-waiting-for-a-spring-moment#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:59:31 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.richardlord.net/?p=525</guid>
		<description><![CDATA[<p>I've dipped my toe back in the Java world recently, and I'm reminded of some interesting Java history that may be echoed in Flash's future.</p>

<p>Back in the distant mist of Java's past, most large Java web projects were built using something called <a href=”http://en.wikipedia.org/wiki/Enterprise_JavaBean”>Enterprise JavaBeans</a>. EJB was a complex framework developed by Sun, the developers of Java itself (with some input from IBM). EJB had a number of good things going for it, but some developers also thought that the architecture and APIs were too complex.</p>

<p>Then a smart guy called Rod Johnson wrote <a href="http://www.amazon.com/Expert-One-Design-Development-Programmer/dp/0764543857/">a book about an idea</a>, and he created <a href="http://www.springsource.org/about">a small framework called Spring</a> to illustrate that idea, and the Java world started to change...</p>]]></description>
			<content:encoded><![CDATA[<h3>Background</h3>

<p>I&#8217;ve dipped my toe back in the Java world recently, and I&#8217;m reminded of some interesting Java history that may be echoed in Flash&#8217;s future.</p>

<p>Back in the distant mist of Java&#8217;s past, most large Java web projects were built using something called <a href=”http://en.wikipedia.org/wiki/Enterprise_JavaBean”>Enterprise JavaBeans</a>. EJB was a complex framework developed by Sun, the developers of Java itself (with some input from IBM). EJB had a number of good things going for it, in particular</p>
<ul>
<li>It had respected advocates in Sun and IBM</li>
<li>It addressed some real and difficult problems</li>
</ul>
<p>but some developers also thought that the architecture and APIs were too complex.</p>

<p>Then a smart guy called Rod Johnson wrote <a href="http://www.amazon.com/Expert-One-Design-Development-Programmer/dp/0764543857/">a book about an idea</a>, and he created <a href="http://www.springsource.org/about">a small framework called Spring</a> to illustrate that idea, and the Java world started to change. Now, EJB is no longer the de-facto standard in the Java world. A smaller, lighter, more agile, more flexible framework called Spring has taken over. There are some who still use EJB (and EJB has become smaller and lighter in response to Spring&#8217;s success) but Spring is the framework in demand.</p>

<h3>What has all this to do with Flash?</h3>

<p>Replace Java with Flash, replace Sun with Adobe, and replace EJB with Flex and you might see a parallel in which Flash is ripe for a smaller, lighter, more agile, more flexible framework than Flex.</p>

<p>That shouldn&#8217;t be seen as a suggestion that Flex is rubbish – far from it. I use Flex every day and am often amazed at how good it is. Yet just as often I&#8217;m annoyed by its faults. Because Flex isn&#8217;t perfect, and its imperfections run very deep. All the new stuff in Flex 4 is great (most of it at least), but it keeps getting bigger, more unwieldy, more complicated.</p>

<p>So I suggest that, as with Java and EJB a few years ago, Flash is ready for a newer, lighter framework to evolve to replace Flex. I don&#8217;t know what that framework is but I suspect it will have most of the following attributes</p>
<ol>
<li>It will start as something simple, with a strong foundation and the potential to grow.</li>
<li>It will have some very strong developers at its core.</li>
<li>It will have at least one project member with an ability to market effectively to the developer community.</li>
<li>It will be open source.</li>
<li>Its roadmap will develop through open discussion with the community.</li>
<li>It will have a very active developer community around it.</li>
<li>It&#8217;s probably a project that has already begun.</li>
</ol>
<p>It may be one project, or it may be a merger of many. Maybe it&#8217;s that little project you&#8217;ve been working on in your spare time. Whatever it is, I suspect a couple of years from now we&#8217;ll have a serious alternative to rival the Flex framework.</p>

<p>There is also <a href="/blog/what-project-will-replace-the-flex-framework">a follow-up post looking at some projects that might evolve to replace Flex</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/is-the-flash-platform-waiting-for-a-spring-moment/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Smartypants-ioc and As3-signals example</title>
		<link>http://www.richardlord.net/blog/flexcaster-smartysignals</link>
		<comments>http://www.richardlord.net/blog/flexcaster-smartysignals#comments</comments>
		<pubDate>Thu, 19 Nov 2009 20:19:58 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Signals]]></category>
		<category><![CDATA[SmartyPants]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-smartysignals</guid>
		<description><![CDATA[<p>During my recent presentation at <a href="http://www.lfpug.com/29th-october-2009-29102009/">LFPUG</a>, <a href="http://tink.ws/blog">Tink</a> was very persistent in suggesting that the event bus used in most MVC frameworks might not be the best solution. This got me thinking about what it would be like to do MVC without an event bus. And so began this little experiment...</p>]]></description>
			<content:encoded><![CDATA[<p>During my recent presentation at <a href="http://www.lfpug.com/29th-october-2009-29102009/">LFPUG</a>, <a href="http://tink.ws/blog">Tink</a> was very persistent in suggesting that the event bus used in most MVC frameworks might not be the best solution. This got me thinking about what it would be like to do MVC without an event bus. And so began this little experiment.</p>

<h3>You can take away my event bus, but don&#8217;t take away my dependency injection.</h3>

<p>My project was to create the same podcast application as I used in my various framework examples, but this time without any form of central event bus. Initial thoughts suggested I would need a dependency injection container to maintain loose coupling, so I grabbed my favourite one &#8211; <a href="http://smartypants.expantra.net/">SmartyPants-ioc</a>, created by <a href="http://flex.joshmcdonald.info/">Josh MacDonald</a>.<p>

<p>Using SmartyPants and lots of interfaces I can inject my objects where they&#8217;re needed while only creating dependencies on the interfaces not the actual implementations. Thus (hopefully) I can avoid needing an event bus for communication. For example, view mediators (I used the presentation model pattern) have controllers injected into them and call their methods directly. But they only know the interface of the controller, not the actual implementation.</p>

<p>This looks good to start with, but unfortunately I still need events for some things. The obvious example is notification of results from asynchronous service calls, but notification of changes to the model also works well when handled by events. Because I don&#8217;t have an event bus, these events will be dispatched by specific objects and must be listened for on those specific objects too.</p>

<h3>Does that object dispatch an event or not?</h3>

<p>Unfortunately I&#8217;m coding to interfaces, and there&#8217;s no way to define what events must be dispatched from a class that implements an interface. I could work on trust &#8211; assume any object that implements the FeedLoader interface will dispatch a feedLoadComplete event, for example. But if I want my solution to be truly practical, I need something more robust than that.</p>

<p>One of the many nice features of <a href="http://github.com/robertpenner/as3-signals">As3-signals</a>, created by <a href="http://robertpenner.com/flashblog/">Robert Penner</a>, is that the signals are properties of classes so they can be specified in an interface. For this reason I chose to use As3-signals for my events.</p>

<p>For example, the previously mentioned FeedLoader interface defines a getter for the feedLoadCompleteSignal. Now any class that implements this interface must have that getter, and any class injected with an implementation of this interface can trust that that getter will be there, and so listen for the underlying signal.</p>

<h3>In conclusion</h3>

<p>All in all I think it worked out rather well. There may even be a potential future in an architecture like this. I do fear the explosion of interfaces and injection rules may make the approach unwieldy for a large project, but perhaps multiple DI configuration classes, a clear package structure and disciplined developers is all that&#8217;s required. I welcome your opinions on this.</p>

<p>The example is below. Right click on the swf to view the source. Links to the framework versions follow. All versions have identical functionality.</p>

<div class="spaced"><div id="swf4c5323d3cab4e">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_smartysignals.swf", "swf4c5323d3cab4e", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-smartysignals/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Robotlegs example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-robotlegs</link>
		<comments>http://www.richardlord.net/blog/flexcaster-robotlegs#comments</comments>
		<pubDate>Tue, 17 Nov 2009 14:57:16 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Robotlegs]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-robotlegs</guid>
		<description><![CDATA[<p>Any comparison of frameworks wouldn't be complete without <a href="http://www.robotlegs.org/">Robotlegs</a>. I included Robotlegs in my session at LFPUG recently, but didn't post the example project here because the framework was in a state of flux. Robotlegs is now settling down as it approaches its imminent 1.0 release, and the MVCS implementation in it is unlikely to change further, so here's my example.</p>

<p>For this Robotlegs example I've used exactly the same project as in the previous examples for other frameworks. Robotlegs is not prescriptive about your application's architecture, but it does include a default MVCS implementation for those that wish to use it. I've used that default implementation here.</p>

<p>The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p>Any comparison of frameworks wouldn&#8217;t be complete without <a href="http://www.robotlegs.org/">Robotlegs</a>. I included Robotlegs in my session at <a href="http://www.lfpug.com/29th-october-2009-29102009/">LFPUG</a> recently, but didn&#8217;t post the example project here because the framework was in a state of flux. Robotlegs is now settling down as it approaches its imminent 1.0 release, and the MVCS implementation in it is unlikely to change further, so here&#8217;s my example.</p>

<p>For this Robotlegs example I&#8217;ve used exactly the same project as in the previous examples for other frameworks. Robotlegs is not prescriptive about your application&#8217;s architecture, but it does include a default MVCS implementation for those that wish to use it. I&#8217;ve used that default implementation here.</p>

<p>The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3ccdb9">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_robotlegs.swf", "swf4c5323d3ccdb9", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-robotlegs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parsley example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-parsley</link>
		<comments>http://www.richardlord.net/blog/flexcaster-parsley#comments</comments>
		<pubDate>Tue, 27 Oct 2009 08:52:58 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Parsley]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-parsley</guid>
		<description><![CDATA[<p>I recently posted a number of versions of the same Flex project, built using various different frameworks. These related to my presentation at <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year. I'm repeating that presentation, with variations, at the <a href="http://www.lfpug.com/29th-october-2009-29102009/">London Flash Platform User Group</a> in a few days and for that talk I'll be adding <a href="http://www.spicefactory.org/parsley/">Parsley</a> to the set of frameworks I'll compare.</p>

<p>As a warm-up to that I've recreated the same example as before using the Parsley framework. The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p>I recently posted a number of versions of the same Flex project, built using various different frameworks. These related to my presentation at <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year. I&#8217;m repeating that presentation, with variations, at the <a href="http://www.lfpug.com/29th-october-2009-29102009/">London Flash Platform User Group</a> in a few days and for that talk I&#8217;ll be adding <a href="http://www.spicefactory.org/parsley/">Parsley</a> to the set of frameworks I&#8217;ll compare.</p>

<p>As a warm-up to that I&#8217;ve recreated the same example as before, this time using the Parsley framework. The example is below. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3cece2">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_parsley.swf", "swf4c5323d3cece2", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-parsley/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Swiz example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-swiz</link>
		<comments>http://www.richardlord.net/blog/flexcaster-swiz#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:52:45 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Swiz]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-swiz</guid>
		<description><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I'm posting it here today.</p>

<p>Below is the example built using the <a href="http://www.swizframework.org/">Swiz</a> application framework. Another four posts will contain the other four versions. All five versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p><b>Update &#8211; 9 June 2010:</b> I&#8217;ve updated the project code to Swiz 1.0RC.</p>

<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I&#8217;m posting it here today.</p>

<p>Below is the example built using the <a href="http://www.swizframework.org/">Swiz</a> application framework. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3d0d90">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_swiz.swf", "swf4c5323d3d0d90", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-swiz/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mate example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-mate</link>
		<comments>http://www.richardlord.net/blog/flexcaster-mate#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:52:36 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Mate]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-mate</guid>
		<description><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I'm posting it here today.</p>

<p>Below is the example built using the <a href="http://mate.asfusion.com/">Mate</a> application framework. Another four posts will contain the other four versions. All five versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I&#8217;m posting it here today.</p>

<p>Below is the example built using the <a href="http://mate.asfusion.com/">Mate</a> application framework. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3d339e">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_mate.swf", "swf4c5323d3d339e", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-mate/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PureMVC example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-puremvc</link>
		<comments>http://www.richardlord.net/blog/flexcaster-puremvc#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:52:27 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-puremvc</guid>
		<description><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I'm posting it here today.</p>

<p>Below is the example built using the <a href="http://puremvc.org/">PureMVC</a> application framework. Another four posts will contain the other four versions. All five versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I&#8217;m posting it here today.</p>

<p>Below is the example built using the <a href="http://puremvc.org/">PureMVC</a> application framework. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3dd451">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_puremvc.swf", "swf4c5323d3dd451", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-cairngorm">Flexcaster Cairngorm project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-puremvc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cairngorm example project with source</title>
		<link>http://www.richardlord.net/blog/flexcaster-cairngorm</link>
		<comments>http://www.richardlord.net/blog/flexcaster-cairngorm#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:52:18 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.bigroom.co.uk/blog/flexcaster-cairngorm</guid>
		<description><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I'm posting it here today.</p>

<p>Below is the example built using the <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a> application framework. Another four posts will contain the other four versions. All five versions have identical functionality. Right click on the swf to view the source...</p>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.flashonthebeach.com/">Flash on the Beach</a> this year, I presented a session on application frameworks. As part of that session, I had planned to show the source for an example application built using each of the four frameworks I covered. When I discovered that as planned my presentation would take three hours to present, I had to cut a lot of content and the example application was one of the items to be cut. But I still have the source for those applications so I&#8217;m posting it here today.</p>

<p>Below is the example built using the <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a> application framework. Links to the other versions follow. All versions have identical functionality. Right click on the swf to view the source.</p>

<div class="spaced"><div id="swf4c5323d3e0151">
<p><b>Flash required:</b> You need version 9 or later of the free Flash player from Adobe to use this content. To download and install the free player from Adobe's web site <a href="http://get.adobe.com/flashplayer/">click here</a>.</p>
</div>
<script type="text/javascript">
var params = {loop:"false",quality:"high",allowfullscreen:"true"};
var flashvars = {};
swfobject.embedSWF("/images/blog/flexcaster/Flexcaster_cairngorm.swf", "swf4c5323d3e0151", "400", "500", "9.0.124", "/images/swf/expressInstall.swf", flashvars, params, {} );
</script></div>

<p>The other versions can be viewed here&#8230;</p>
<ul>
<li><a href="flexcaster-flex3">Flexcaster no framework project source</a></li>
<li><a href="flexcaster-puremvc">Flexcaster PureMVC project source</a></li>
<li><a href="flexcaster-mate">Flexcaster Mate project source</a></li>
<li><a href="flexcaster-swiz">Flexcaster Swiz project source</a></li>
<li><a href="flexcaster-parsley">Flexcaster Parsley project source</a></li>
<li><a href="flexcaster-robotlegs">Flexcaster Robotlegs project source</a></li>
<li><a href="flexcaster-smartysignals">Flexcaster SmartyPants-ioc and As3-signals project source</a></li>
<li><a href="flexcaster-spring">Flexcaster Spring Actionscript project source</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/flexcaster-cairngorm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
