<?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; Robotlegs</title>
	<atom:link href="http://www.richardlord.net/blog/tag/robotlegs/feed" rel="self" type="application/rss+xml" />
	<link>http://www.richardlord.net</link>
	<description>Actionscript/Flex, PHP and Java developer</description>
	<lastBuildDate>Mon, 23 Jan 2012 17:07:46 +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>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>14</slash:comments>
		</item>
		<item>
		<title>Frameworks presentation slides</title>
		<link>http://www.richardlord.net/blog/frameworks-presentation-slides</link>
		<comments>http://www.richardlord.net/blog/frameworks-presentation-slides#comments</comments>
		<pubDate>Fri, 19 Feb 2010 16:06:03 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[FLUG]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Mate]]></category>
		<category><![CDATA[Parsley]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[Robotlegs]]></category>
		<category><![CDATA[Swiz]]></category>

		<guid isPermaLink="false">http://www.richardlord.net/?p=460</guid>
		<description><![CDATA[<p>Here are the slides from my frameworks presentation at Flex London User Group last Tuesday, 16 February 2010.</p>]]></description>
			<content:encoded><![CDATA[<p>Here are the slides from my presentation about Flex application frameworks at <a href="http://www.meetup.com/flexlondon/calendar/11801395/">Flex London User Group</a> last Tuesday, 16 February 2010.</p>

<p style="text-align:center"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flug-2010-100218161003-phpapp01&#038;rel=0&#038;stripped_title=application-frameworks-the-good-the-bad-the-ugly" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flug-2010-100218161003-phpapp01&#038;rel=0&#038;stripped_title=application-frameworks-the-good-the-bad-the-ugly" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>

<p>Links:</p>
<ul>
<li><a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a> <a href="/blog/flexcaster-cairngorm">(code example)</a></li>
<li><a href="http://puremvc.org/">PureMVC</a> <a href="/blog/flexcaster-puremvc">(code example)</a></li>
<li><a href="http://mate.asfusion.com/">Mate</a> <a href="/blog/flexcaster-mate">(code example)</a></li>
<li><a href="http://swizframework.org/">Swiz</a> <a href="/blog/flexcaster-swiz">(code example)</a></li>
<li><a href="http://www.spicefactory.org/parsley/">Parsley</a> <a href="/blog/flexcaster-parsley">(code example)</a></li>
<li><a href="http://www.robotlegs.org/">Robotlegs</a> <a href="/blog/flexcaster-robotlegs">(code example)</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.richardlord.net/blog/frameworks-presentation-slides/feed</wfw:commentRss>
		<slash:comments>9</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="swf4f2e9a40f0579">
<p><b>Flash required:</b> You need version 10 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", "swf4f2e9a40f0579", "400", "500", "10.0.0", "/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>2</slash:comments>
		</item>
	</channel>
</rss>

