blob: 629ab79d234aa0132758c603bfc3724161362da5 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Flex Frameworks</title>
<link rel="shortcut icon" href="images/garland_favicon.gif" type="image/x-icon" />
<style>
body,li,td,h1,h2,h3,p,th,a {
font-family: Sans, Arial, Times;
font-size: 90%;
}
</style>
</head>
<body bgcolor="#ffffff">
<div class="container">
<div class="subpageArticle">
<h1>Using an external framework (microarchitecture) in your Flex Development </h1>
<h3>Why use a Framework?</h3>
<p>The choice to use a framework is an often highly (and hotly) debated topic. There are numerous external frameworks or 'microarchitectures' currently available that have been developed and should be considered. Since Flex itself is a framework, the term microarchitecture might help clear up some confusion to those new to the subject. Some of the benefits derived from using a microarchitecture during application development are:</p>
<ul>
<li>Decoupling</li>
<li>Abstraction </li>
<li>Code reuse</li>
<li>Organization</li>
<li>Consistency </li>
<li>Extensibility</li>
<li>Standardization</li>
<li>Ease of testing</li>
<li>Flexibility</li>
<li>Reduction of error</li>
</ul>
<h3>Popular External Framework Choices (in no particular order)</h3>
<ul>
<li>Cairngorm - based on Model-View-Controller pattern</li>
<li>Mate - tag-based, event-driven (message-bus) framework with Dependency Injection </li>
<li>Parsley - based on Inversion of Control (IoC) and Dependency Injection</li>
<li>PureMVC - based on Model-View-Controller pattern</li>
<li>RobotLegs - based on Inversion of Control (IoC) and Dependency Injection</li>
<li>Swiz - based on Inversion of Control (IoC) and Dependency Injection </li>
</ul>
<p>More information can be found under each framework item listed in Tour de Flex.</p>
<h3>Related Reading</h3>
<p>Check out these links for more related reading on using these frameworks:</p>
<ul>
<li><a href="http://www.adobe.com/devnet/flex/articles/flex_framework.html">Adobe Devnet Article on Flex Frameworks</a></li>
<li><a href="http://www.insideria.com/2009/10/max-2009-session-videos.html">InsideRIA Max 2009 Video on Flex Frameworks</a></li>
<li><a href="http://joelhooks.com/2009/07/12/inversion-of-control-and-dependency-injection-in-flex-using-the-parsley-application-framework-part-1/">Joel Hooks post IoC and Dependency Injection using Parsley</a>
<li><a href="http://www.insideria.com/2009/08/how-i-learned-to-stop-worrying.html">InsideRIA article by Greg Owen about using Flex Frameworks </a></li>
<li><a href="http://www.summa-tech.com/blog/2009/02/27/the-flex-application-frameworks-smackdown-sorta/">Flex Framework Comparison by Via Bulatao</a></li>
<li><a href="http://coenraets.org/blog/2009/07/building-a-flex-application-with-the-parsley-framework/">Building an app with Parsley by Christophe Coenraets</a></li>
<li><a href="http://www.insideria.com/2008/12/frameworkquest-2008-introducti.html">InsideRIA Framework Quest</a></li>
<li><a href="http://www.anandvardhan.com/2008/11/13/popular-flex-frameworks/">Popular Flex Frameworks post by Anand Vardhan</a></li>
</ul>
</div>
<div class="copyright"> </div>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-519419-3");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>