<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: The Perfect Flex Application Framework (Part 1 of 2)</title>
	<atom:link href="http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/</link>
	<description>Enterprise Software Consultant</description>
	<lastBuildDate>Mon, 15 Mar 2010 20:02:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: jonr</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-21007</link>
		<dc:creator>jonr</dc:creator>
		<pubDate>Tue, 30 Jun 2009 15:32:41 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-21007</guid>
		<description>Edward, Thank you for the comment.  I do think if you read both parts of the posts it communicates much more than &quot;a simple inventory of likes or dislikes,&quot; as it attempts to highlight where the gaps are in building a typical Flex application that one might want/need a third-party framework to fill.  I believe this is an important point, as these tools should be used for a purpose (and at times are not).  Since most frameworks do come with a cost, it is important that they play a clearly defined role in any project.</description>
		<content:encoded><![CDATA[<p>Edward, Thank you for the comment.  I do think if you read both parts of the posts it communicates much more than &#8220;a simple inventory of likes or dislikes,&#8221; as it attempts to highlight where the gaps are in building a typical Flex application that one might want/need a third-party framework to fill.  I believe this is an important point, as these tools should be used for a purpose (and at times are not).  Since most frameworks do come with a cost, it is important that they play a clearly defined role in any project.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Apostol</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20995</link>
		<dc:creator>Edward Apostol</dc:creator>
		<pubDate>Mon, 29 Jun 2009 19:26:50 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20995</guid>
		<description>&quot;An simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.&quot;

I think it is ultimately up to the reader to make the best decision on frameworks. Really at the end of the day its a group of organized code that makes it easier to replicate the practice of making applications easier in the long run. Our firm uses Cairngorm, and we don&#039;t believe it has a high overhead, and have used it for a number of tier one companies. It may be overkill for the &quot;Hello World&quot; application, but I think we realize that. 

If however you would build the same application and do some sort of performance metrics across different frameworks, that would be an interesting measure (although I expect the performance difference for code execution to be actually minimal, given these frameworks are probably fairly optimized to begin with&quot; .

Just my two cents.

Edward Apostol
Sr. Instructor, Consultant
New Toronto Group
Certified Adobe Developer, Instructor</description>
		<content:encoded><![CDATA[<p>&#8220;An simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.&#8221;</p>
<p>I think it is ultimately up to the reader to make the best decision on frameworks. Really at the end of the day its a group of organized code that makes it easier to replicate the practice of making applications easier in the long run. Our firm uses Cairngorm, and we don&#8217;t believe it has a high overhead, and have used it for a number of tier one companies. It may be overkill for the &#8220;Hello World&#8221; application, but I think we realize that. </p>
<p>If however you would build the same application and do some sort of performance metrics across different frameworks, that would be an interesting measure (although I expect the performance difference for code execution to be actually minimal, given these frameworks are probably fairly optimized to begin with&#8221; .</p>
<p>Just my two cents.</p>
<p>Edward Apostol<br />
Sr. Instructor, Consultant<br />
New Toronto Group<br />
Certified Adobe Developer, Instructor</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AB</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20989</link>
		<dc:creator>AB</dc:creator>
		<pubDate>Sat, 27 Jun 2009 06:09:43 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20989</guid>
		<description>I agree with the sentiment above, for sure there are times when use of a framework is overkill.  Good code goes a long way.  However, it&#039;s unlikely that you can put together an enterprise scale application, or work on a team of more than 2 or 3 people, without some pre decided structure.  Design patterns are essential, and deciding what patterns to use, and where to use them, is a large part of what frameworks accomplish.   A scalable, maintainable application requires pre-planning how the code is going to be oranized, the ways that differet duties will be segregated, how commuication will take place between components, etc.  Just as we re-use design patterns, it makes sense to build on framework patterns that have already been thought through, implemented, discussed, improved, scaled, criticized, and revised.  Given all that, use of &#039;out of the box&#039; frameworks make sense, but the expectation that a framework will be perfect out of the box is a bit silly.  I&#039;m always amused by these sort of blogs and discussions, where frameworks are approached as if they must be accepted as a whole, or the idea that there could be a single framework to rule them all.   Sure, if the code of the framework is compiled into a SWC it makes it harded to change what you needs changing.  Still, any framework can be adapted as needed.  Whatever you come up with as the perfect framework *for you* will be just that, perfect for you, most likely not perfect for any other project.  As long as that is kept well in the foreground, fine with me.  Discuss away.  But keep in mind that 99% of us don&#039;t share the criteria that make this perfect framework work for you.   What would help us most will be detailed discussion of what are the good and bad qualities of all the available frameworks.  We need to know in what situations they make sense, what parts might be a bad fit, alternative for the parts that are questionable, etc.  An  simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.</description>
		<content:encoded><![CDATA[<p>I agree with the sentiment above, for sure there are times when use of a framework is overkill.  Good code goes a long way.  However, it&#8217;s unlikely that you can put together an enterprise scale application, or work on a team of more than 2 or 3 people, without some pre decided structure.  Design patterns are essential, and deciding what patterns to use, and where to use them, is a large part of what frameworks accomplish.   A scalable, maintainable application requires pre-planning how the code is going to be oranized, the ways that differet duties will be segregated, how commuication will take place between components, etc.  Just as we re-use design patterns, it makes sense to build on framework patterns that have already been thought through, implemented, discussed, improved, scaled, criticized, and revised.  Given all that, use of &#8216;out of the box&#8217; frameworks make sense, but the expectation that a framework will be perfect out of the box is a bit silly.  I&#8217;m always amused by these sort of blogs and discussions, where frameworks are approached as if they must be accepted as a whole, or the idea that there could be a single framework to rule them all.   Sure, if the code of the framework is compiled into a SWC it makes it harded to change what you needs changing.  Still, any framework can be adapted as needed.  Whatever you come up with as the perfect framework *for you* will be just that, perfect for you, most likely not perfect for any other project.  As long as that is kept well in the foreground, fine with me.  Discuss away.  But keep in mind that 99% of us don&#8217;t share the criteria that make this perfect framework work for you.   What would help us most will be detailed discussion of what are the good and bad qualities of all the available frameworks.  We need to know in what situations they make sense, what parts might be a bad fit, alternative for the parts that are questionable, etc.  An  simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reverend Dan</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20976</link>
		<dc:creator>Reverend Dan</dc:creator>
		<pubDate>Tue, 23 Jun 2009 01:26:48 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20976</guid>
		<description>Man does this topic hit a sore point with me.  Have been a developer since 1981 and have seen many frameworks, methodologies and languages go by the wayside (remember snobol?).  I like to do my own thing and keep my ears open on what is going on, but when it comes to frameworks and generated code, I really have to do much to keep quiet, which for once (this time), I am not going to.
On the code-generator stand, I have seen it all, the good, the bad and garbage.  Even the best systems I have seen always required a group of developers to have some sort of update/script that goes back over the code and &#039;fixes&#039; all of the items not addressed by the original code generated.  From entire solutions to simple fixes, they are always there.  There is a learning curve using the generated code or using custom code and learning corporate standards so this is moot in my mind.  You have control over the way things are done, not some others who think they have it right.
On frameworks.  In all of my coding days, I have never used a &quot;framework&quot;.  No MVC or any other.  Why?  Good coding standards.  At times my coding has emulated some frameworks, but I have never really changed my coding style in 25+ years.  And most of the people I work with, who I consider excellent developers, all work just about the same.  Good variable naming.  Good function naming.  Have a disconnected front-end calling backend functions through webservices, dlls or old style includes.  Have well written SQL and stored procs if you are using them.  This &quot;framework&quot; I use is fully dynamic and disconnected.  If I need to change the front end, don&#039;t have to touch the services or SQL.  Need to change underlying table structures, change the table and create a view over it.  Easy, dynamic, and simple for anyone to walk in and hit the ground running.  Any reusable functions, controls or whatever is stored in a general linked library.
Of course there are times when I have to break my own rules and build tightly coupled code or mock things up to get a bit more time, but in the end have found a simple multi-layer approach with a common library works and has stood the test of time.</description>
		<content:encoded><![CDATA[<p>Man does this topic hit a sore point with me.  Have been a developer since 1981 and have seen many frameworks, methodologies and languages go by the wayside (remember snobol?).  I like to do my own thing and keep my ears open on what is going on, but when it comes to frameworks and generated code, I really have to do much to keep quiet, which for once (this time), I am not going to.<br />
On the code-generator stand, I have seen it all, the good, the bad and garbage.  Even the best systems I have seen always required a group of developers to have some sort of update/script that goes back over the code and &#8216;fixes&#8217; all of the items not addressed by the original code generated.  From entire solutions to simple fixes, they are always there.  There is a learning curve using the generated code or using custom code and learning corporate standards so this is moot in my mind.  You have control over the way things are done, not some others who think they have it right.<br />
On frameworks.  In all of my coding days, I have never used a &#8220;framework&#8221;.  No MVC or any other.  Why?  Good coding standards.  At times my coding has emulated some frameworks, but I have never really changed my coding style in 25+ years.  And most of the people I work with, who I consider excellent developers, all work just about the same.  Good variable naming.  Good function naming.  Have a disconnected front-end calling backend functions through webservices, dlls or old style includes.  Have well written SQL and stored procs if you are using them.  This &#8220;framework&#8221; I use is fully dynamic and disconnected.  If I need to change the front end, don&#8217;t have to touch the services or SQL.  Need to change underlying table structures, change the table and create a view over it.  Easy, dynamic, and simple for anyone to walk in and hit the ground running.  Any reusable functions, controls or whatever is stored in a general linked library.<br />
Of course there are times when I have to break my own rules and build tightly coupled code or mock things up to get a bit more time, but in the end have found a simple multi-layer approach with a common library works and has stood the test of time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shaun</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20969</link>
		<dc:creator>Shaun</dc:creator>
		<pubDate>Mon, 22 Jun 2009 15:53:04 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20969</guid>
		<description>@ Jethro: I&#039;m not sure I agree. Code Generators are great when you start a project, but all that boiler plate code is going to hinder/limit refactoring later on.</description>
		<content:encoded><![CDATA[<p>@ Jethro: I&#8217;m not sure I agree. Code Generators are great when you start a project, but all that boiler plate code is going to hinder/limit refactoring later on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jethro</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20963</link>
		<dc:creator>Jethro</dc:creator>
		<pubDate>Mon, 22 Jun 2009 11:37:13 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20963</guid>
		<description>I have to say the Mark Lapasa&#039;s comments hit the mark. 

CG, I would say reduces cost. It requires a low entry level of understanding and helps people locate code in larger more complex projects. 

The &#039;extra code&#039; argument I feel is a little bit of a red-herring. We have a simple script to create boilerplate events and commands wired into the front controller, and I know many other developers who have their own too. Its not difficult or time-consuming.

Still, a nice article :)</description>
		<content:encoded><![CDATA[<p>I have to say the Mark Lapasa&#8217;s comments hit the mark. </p>
<p>CG, I would say reduces cost. It requires a low entry level of understanding and helps people locate code in larger more complex projects. </p>
<p>The &#8216;extra code&#8217; argument I feel is a little bit of a red-herring. We have a simple script to create boilerplate events and commands wired into the front controller, and I know many other developers who have their own too. Its not difficult or time-consuming.</p>
<p>Still, a nice article <img src='http://gorillajawn.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Rose&#8217;s Blog &#187; Blog Archive &#187; The Perfect Flex Application Framework (Part 2 of 2)</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20956</link>
		<dc:creator>Jon Rose&#8217;s Blog &#187; Blog Archive &#187; The Perfect Flex Application Framework (Part 2 of 2)</dc:creator>
		<pubDate>Mon, 22 Jun 2009 02:16:39 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20956</guid>
		<description>[...] part one, I introduced some of the things that I believe convolute the Flex third party framework space  - [...]</description>
		<content:encoded><![CDATA[<p>[...] part one, I introduced some of the things that I believe convolute the Flex third party framework space  &#8211; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Polanco</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20945</link>
		<dc:creator>James Polanco</dc:creator>
		<pubDate>Sat, 20 Jun 2009 07:19:59 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20945</guid>
		<description>Jon,
Thanks for taking the time to write this out.  This has been a hot topic with my friends and fellow developers that I work with.  Over the last year and a half we have been evolving a framework for our own internal and client use.  The goal and focus for our framework is to create a toolkit that provides some pattern enforcement but more importantly provides a set of functional tools.  I dislike using the word framework for our library since its more of a toolkit that can be combined together to form a complete system yet at the same time its compartmentalized in away that you can adopt and integrate only the functionality you need.

We have been using these tools for a while now on client and internal projects and continue to update and add functionality.  For example, we have just added to the trunk build a history management extension for undo/redo support on the command system.  What we are looking for is more insight from developers like yourself on both the approach we are taking and if the tools that are being developed are useful to more then just us.  It would be amazing to have you and/or any of your readers take a look at the library and give us feedback, ask questions about how we are using it, etc.  We love the library so far, but we also built it, so we are hardly objective.

If you are interested we have licensed it under MIT and host it over at Google code, check it out when you get a chance:

http://code.google.com/p/developmentarc-core/

Thanks again and I am looking forward to part two to see what you are looking for in a 3rd party solution.</description>
		<content:encoded><![CDATA[<p>Jon,<br />
Thanks for taking the time to write this out.  This has been a hot topic with my friends and fellow developers that I work with.  Over the last year and a half we have been evolving a framework for our own internal and client use.  The goal and focus for our framework is to create a toolkit that provides some pattern enforcement but more importantly provides a set of functional tools.  I dislike using the word framework for our library since its more of a toolkit that can be combined together to form a complete system yet at the same time its compartmentalized in away that you can adopt and integrate only the functionality you need.</p>
<p>We have been using these tools for a while now on client and internal projects and continue to update and add functionality.  For example, we have just added to the trunk build a history management extension for undo/redo support on the command system.  What we are looking for is more insight from developers like yourself on both the approach we are taking and if the tools that are being developed are useful to more then just us.  It would be amazing to have you and/or any of your readers take a look at the library and give us feedback, ask questions about how we are using it, etc.  We love the library so far, but we also built it, so we are hardly objective.</p>
<p>If you are interested we have licensed it under MIT and host it over at Google code, check it out when you get a chance:</p>
<p><a href="http://code.google.com/p/developmentarc-core/" rel="nofollow">http://code.google.com/p/developmentarc-core/</a></p>
<p>Thanks again and I am looking forward to part two to see what you are looking for in a 3rd party solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ash</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20943</link>
		<dc:creator>ash</dc:creator>
		<pubDate>Fri, 19 Jun 2009 05:21:27 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20943</guid>
		<description>I&#039;ve never used it, but here&#039;s another MVC framework that may be worth checking out: http://hydramvc.com/</description>
		<content:encoded><![CDATA[<p>I&#8217;ve never used it, but here&#8217;s another MVC framework that may be worth checking out: <a href="http://hydramvc.com/" rel="nofollow">http://hydramvc.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cates</title>
		<link>http://gorillajawn.com/wordpress/2009/06/14/the-perfect-flex-application-framework-part-1-of-2/comment-page-1/#comment-20936</link>
		<dc:creator>Dave Cates</dc:creator>
		<pubDate>Tue, 16 Jun 2009 17:54:08 +0000</pubDate>
		<guid isPermaLink="false">http://ectropic.com/wordpress/?p=334#comment-20936</guid>
		<description>Great article and I also am looking forward to part 2 ;)
We too have been debating frameworks for Flex as well and to be honest really struggle to justify adopting any of them.
We have a very strong background in code development with the MVC pattern (amongst others) and to be honest it&#039;s sometimes very bemusing to see why anybody would want to use a 3rd party framework. If you&#039;re an experienced MVC developer then why would you want to be constrained by a 3rd party framework? In our experience it would take longer to adopt, use and modify a 3rd party framework than code in an MVC pattern from scratch - Most of the frameworks are limited to some degree and would need hacking of some sort. Or, like has been said in this article, they&#039;re just too bulky.
Therefore we can&#039;t help but think all these 3rd party frameworks are more suited to in-experienced MVC coders? Not offense meant there, we&#039;re just struggling to see &#039;why&#039; we should adopt a framework like PureMVC, Mate etc when we&#039;re just as quick, efficient etc without one.
I understand the argument of large teams working on code but that hasn&#039;t stopped us either. Well documented code and code that is structured well using accepted &#039;standards&#039; eliminates most of these &#039;large app&#039; arguments for us.
Any thoughts or comments would be most welcome as we genuinely are interested to hear from people as to why they adopt frameworks.
Great article - roll on part 2! ;)</description>
		<content:encoded><![CDATA[<p>Great article and I also am looking forward to part 2 <img src='http://gorillajawn.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
We too have been debating frameworks for Flex as well and to be honest really struggle to justify adopting any of them.<br />
We have a very strong background in code development with the MVC pattern (amongst others) and to be honest it&#8217;s sometimes very bemusing to see why anybody would want to use a 3rd party framework. If you&#8217;re an experienced MVC developer then why would you want to be constrained by a 3rd party framework? In our experience it would take longer to adopt, use and modify a 3rd party framework than code in an MVC pattern from scratch &#8211; Most of the frameworks are limited to some degree and would need hacking of some sort. Or, like has been said in this article, they&#8217;re just too bulky.<br />
Therefore we can&#8217;t help but think all these 3rd party frameworks are more suited to in-experienced MVC coders? Not offense meant there, we&#8217;re just struggling to see &#8216;why&#8217; we should adopt a framework like PureMVC, Mate etc when we&#8217;re just as quick, efficient etc without one.<br />
I understand the argument of large teams working on code but that hasn&#8217;t stopped us either. Well documented code and code that is structured well using accepted &#8217;standards&#8217; eliminates most of these &#8216;large app&#8217; arguments for us.<br />
Any thoughts or comments would be most welcome as we genuinely are interested to hear from people as to why they adopt frameworks.<br />
Great article &#8211; roll on part 2! <img src='http://gorillajawn.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
