
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-10-27
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Flex® - Third-Party Tools & Solutions</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="./css/bootstrap.min.css" rel="stylesheet" />
		<link href="./css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/docs.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->


		
<link rel="icon" href="img/favicon.ico" type="image/x-icon"/>
<link rel="apple-touch-icon" href="img/apple-touch-icon-60.png"/>
<link sizes="76x76" rel="apple-touch-icon" href="img/apple-touch-icon-76.png"/>
<link sizes="120x120" rel="apple-touch-icon" href="img/apple-touch-icon-120.png"/>
<link sizes="152x152" rel="apple-touch-icon" href="img/apple-touch-icon-152.png"/>
	</head>

	<body class="page-community-3rdparty project-flex-site" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="index.html" title="Home">Home</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About Flex <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="about-whatis.html" title="What is Flex?">What is Flex?</a></li>
									<li ><a href="about-features.html" title="Features">Features</a></li>
									<li ><a href=".html" title="Tour de Flex">Tour de Flex</a></li>
									<li ><a href="about-licensing.html" title="License & Trademarks">License & Trademarks</a></li>
									<li ><a href="about-people.html" title="The Team">The Team</a></li>
									<li ><a href="about-history.html" title="Project History">Project History</a></li>
									<li ><a href="about-assets.html" title="Logo and Assets">Logo and Assets</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="community-getinvolved.html" title="How to get involved">How to get involved</a></li>
									<li ><a href="community-mailinglists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="community-showcase.html" title="Flex Showcase">Flex Showcase</a></li>
									<li class="active"><a href="" title="Third-Party">Third-Party</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+Wiki" title="Wiki" class="externalLink">Wiki</a></li>
									<li ><a href="http://blogs.apache.org/flex/" title="Blog" class="externalLink">Blog</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="dev-faq.html" title="Developer FAQ">Developer FAQ</a></li>
									<li ><a href="dev-sourcecode.html" title="Source Code">Source Code</a></li>
									<li ><a href="https://issues.apache.org/jira/browse/FLEX" title="Bug-Tracker" class="externalLink">Bug-Tracker</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="doc-getstarted.html" title="Getting Started">Getting Started</a></li>
									<li ><a href="doc-videos.html" title="Videos">Videos</a></li>
									<li ><a href=".html" title="Flex ASDocs">Flex ASDocs</a></li>
									<li ><a href=".html" title="FlexJS ASDocs">FlexJS ASDocs</a></li>
									<li ><a href="http://help.adobe.com/en_US/flex/using/index.html" title="Documentation Reference (Old)" class="externalLink">Documentation Reference (Old)</a></li>
									<li ><a href=".html" title="FlexUnit Tutorials">FlexUnit Tutorials</a></li>
									<li ><a href=".html" title="FlexUnit ASDocs">FlexUnit ASDocs</a></li>
									<li ><a href="doc-website.html" title="Contributing to the Flex Website">Contributing to the Flex Website</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://www.apache.org" title="The Apache Software Foundation Website" class="externalLink">The Apache Software Foundation Website</a></li>
									<li ><a href="http://www.apache.org/foundation/contributing.html" title="Donations" class="externalLink">Donations</a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" class="externalLink">Thanks</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Download Flex <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="download-installer.html" title="SDK Installer (For Application Developers)">SDK Installer (For Application Developers)</a></li>
									<li ><a href="download-source.html" title="SDK Source Code (For SDK Developers)">SDK Source Code (For SDK Developers)</a></li>
									<li ><a href="download-binaries.html" title="SDK Binaries (For SDK Developers)">SDK Binaries (For SDK Developers)</a></li>
									<li ><a href="download-flexjs.html" title="FlexJS 'beta' (For Application Developers)">FlexJS 'beta' (For Application Developers)</a></li>
									<li ><a href="download-flexunit.html" title="FlexUnit (For Application Developers)">FlexUnit (For Application Developers)</a></li>
									<li ><a href="download-blazeds.html" title="Blaze DS Source Code">Blaze DS Source Code</a></li>
									<li ><a href="download-tourdeflex.html" title="Tour De Flex Source Code">Tour De Flex Source Code</a></li>
									<li ><a href="download-squiggly.html" title="Squiggly Spell Checker">Squiggly Spell Checker</a></li>
									<li ><a href="download-utilities.html" title="Flex Utilities">Flex Utilities</a></li>
									<li ><a href="download-archive.html" title="Previous Versions">Previous Versions</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="http://flex.apache.org/" id="bannerLeft"><img src="img/logo-flex.png" alt='"'Apache Flex'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://www.apache.org" id="bannerRight"><img src="img/logo-asf.png" alt='"'An Apache Project'"' /></a>
				</div>
			</div>
		</div>
	</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- 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. --> 
<div class="page-header">
 <h1>Third-Party Tools &amp; Solutions</h1>
</div> 
<p>This page gives a list of third party tools and solutions related to Apache Flex&reg;.</p> 
<div class="section"> 
 <h2 id="Integrated_Development_Environments_IDEs">Integrated Development Environments (IDEs)</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="http://www.adobe.com/products/flash-builder.html" target="_blank">Flash Builder (Adobe)</a>: </p> 
   <blockquote>
     Adobe&reg; Flash&reg; Builder&reg; 4.7 is a development environment for building games and applications using the ActionScript&reg; language and the open source Flex framework. Flash Builder Premium includes professional testing tools such as profilers, network monitoring, and unit testing support. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.flashdevelop.org/" target="_blank">FlashDevelop</a>: </p> 
   <blockquote>
     FlashDevelop is a free and open source code editor for every developer. FlashDevelop offers first class support for ActionScript (2 &amp; 3) and haXe development. Great completion &amp; code generation, projects compilation &amp; debugging, plenty of project templates, SWF/SWC exploration etc. FlashDevelop is also a great web developer IDE with source-control support (svn, git, mercurial), tasks/todo, snippets, XML/HTML completion and zen-coding for HTML. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://fdt.powerflasher.com/" target="_blank">Flexible Development Toolkit</a>: </p> 
   <blockquote>
     FDT is a flexible development toolkit in Eclipse for interactive developers. It’s made with passion for expert Flash and Flex coding, innovative mobile development and versatile HTML5 / JavaScript / WebGL / PHP programming with haXe. Create your applications in FDT and efficiently target multiple platforms. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.jetbrains.com/idea/features/flex_ide.html" target="_blank">IntelliJ IDEA (JetBrains)</a>: </p> 
   <blockquote>
     IntelliJ IDEA is ideal for ActionScript, MXML and CSS development, with on-the-fly code analysis, completion, navigation, advanced refactorings, code generation, UML diagrams, UI designer, interactive debugger and profiler. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Flex_Frameworks">Flex Frameworks</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="http://sourceforge.net/adobe/cairngorm/home/Home/" target="_blank">Cairngorm</a>: </p> 
   <blockquote>
     Cairngorm provides a reference architecture for Flex applications that is designed to keep things simple and testable. It describes a way of structuring large applications out of smaller units. It is independent of an IoC framework implementation, but dependent on core principles to follow when developing enterprise RIAs. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://mate.asfusion.com/" target="_blank">Mate Flex Framework</a>: </p> 
   <blockquote>
     Mate is a tag-based, event-driven Flex framework. Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered. In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.spicefactory.org/parsley/" target="_blank">Parsley (Spice Factory)</a>: </p> 
   <blockquote>
     Parsley is an open-source application framework for Flex/Flash/AIR applications written in AS3. Parsley features a flexible IOC container, dependency injection, decoupled bindings, messaging framework, managed commands, dynamic view wiring, advanced modularity, object lifecycle, localization, extensibility and more. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://puremvc.org/content/view/67/178/" target="_blank">PureMVC</a>: </p> 
   <blockquote>
     PureMVC is a lightweight framework for creating applications based upon the classic Model, View and Controller concept. Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, is now being ported to all major development platforms. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="https://code.google.com/p/fabrication/" target="_blank">Fabrication Framework</a>: </p> 
   <blockquote>
     Fabrication is a utility for the PureMVC framework. It adds many useful features to typical PureMVC programming syntax that helps accelerate development. Fabrication is focussed on the Flex and Flash implementations of the PureMVC framework. Also Fabrication is built largely to support multi-modular application and uses only the multicore version of PureMVC. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.robotlegs.org/" target="_blank">Robotlegs</a>: </p> 
   <blockquote>
     Robotlegs is an ActionScript Application Framework. It offers: Dependency, Module, Command and View management. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.springactionscript.org/" target="_blank">Spring Actionscript</a>: </p> 
   <blockquote>
     Spring ActionScript is an offshoot of the Java-based Spring Framework written in ActionScript 3. It is targeted for the Flash, Flex and AIR platforms. The framework contains a versatile Inversion of Control Container, a micro MVC library and extensions for the Cairngorm and PureMVC frameworks. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="https://github.com/swiz/" target="_blank">Swiz Framework</a>: </p> 
   <blockquote>
     Swiz is a brutally simple micro-architecture for creating Rich Internet Applications with ActionScript 3 and Adobe Flex. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.granitedataservices.com/public/docs/latest/docs/reference/flex/graniteds-refguide-flex.html#graniteds.tideframework" target="_blank">Tide (Granite Data Services)</a>: </p> 
   <blockquote>
     Tide is a Flex client framework inspired by popular Java frameworks such as Spring or CDI and is based on the concepts of contextual components and event-based programming. It should look familiar to Java developers yet stays close to the Flex framework concepts and traditional usage. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Server_Solutions">Server Solutions</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="http://www.silexlabs.org/amfphp/" target="_blank">Amfphp</a>: </p> 
   <blockquote>
     Amfphp is free and open source software, and an essential brick for the development of Applications that need to communicate with the Internet. Amfphp is used in projects that cover a wide spectrum, from games to business applications. The role of Amfphp is to provide a really simple way of connecting a client with a server. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://sourceforge.net/adobe/blazeds/wiki/Home/" target="_blank">BlazeDS</a>: </p> 
   <blockquote>
     BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe&reg; Flex&reg; and Adobe AIR&reg; applications for more responsive rich Internet application (RIA) experiences. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.fluorinefx.com/" target="_blank">FluorineFx</a>: </p> 
   <blockquote>
     FluorineFx is the free and open source Flash/Flex remoting gateway, high-performance, scalable framework, streaming server that connects RIAs using Adobe software (Adobe Flash&reg;, Adobe Flex&reg;, Adobe AIR&reg; runtime) and Microsoft .NET&reg;. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.granitedataservices.com/community/" target="_blank">GraniteDS (Granite Data Services)</a>: </p> 
   <blockquote>
     GraniteDS brings the power of your Java EE server to the Flex side. An easy to use client-side API helps you leveraging advanced features such as authentication and secured access, dependency injection, typesafe remote calls, real-time messaging, data lazy-loading and synchronization, ActionScript3 code generation, bean validation, etc. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.adobe.com/products/livecycle.html" target="_blank">LiveCycle (Adobe)</a>: </p> 
   <blockquote>
     Adobe&reg; LiveCycle&reg; Enterprise Suite 4 is an enterprise document and form platform that helps you capture and process information, deliver personalized communications, and protect and track sensitive information. LiveCycle ES4 extends business processes to your mobile workforce and clients, increasing productivity while broadening service access to any user equipped with a desktop, smartphone, or tablet. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.red5.org/" target="_blank">Red5 Media Server</a>: </p> 
   <blockquote>
     Red5 Media Server 1.0 delivers a powerful video streaming and multi-user solution to the Adobe&reg; Flash&reg; Player&reg; and other exciting client technologies. Based on Java and some of the most powerful open source frameworks, Red5 stands as a solid solution for business of all sizes including the enterprise. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="https://github.com/rubyamf/rubyamf" target="_blank">RubyAMF</a>: </p> 
   <blockquote>
     RubyAMF is a full-featured AMF gateway based off of Rack and supporting advanced integration with Rails and other Rack-based frameworks. It includes advanced class mapping functionality, like camel to underscore case translation, parameter mapping to convert function calls to parameter hashes for actions, hooks for processing AMF authentication credentials, and many more features. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.themidnightcoders.com/products.html" target="_blank">WebOrb (Midnight Coders)</a>: </p> 
   <blockquote>
     Using WebORB, you will be able to easily integrate, test and optimize your desktop, web and mobile applications connecting to Java, .NET, and PHP backends. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Code_Generation_Tools">Code Generation Tools</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="http://www.granitedataservices.com/public/docs/latest/docs/reference/flex/graniteds-refguide-flex.html#graniteds.gas3" target="_blank">Gas3 (Granite Data Services)</a>: </p> 
   <blockquote>
     Gas3 replicates your entire JPA data model into its ActionScript3 equivalent, with support of transparent lazy-loading and bean validation. It also generates type-safe AS3 classes mirroring your Java EE services (Spring, EJB, CDI). Gas3 is available as an Eclipse plugin (on-the-fly code generation), an Apache Ant task or an Apache Maven plugin with 
    <a class="externalLink" href="https://flexmojos.atlassian.net/wiki/display/FLEXMOJOS/Home" target="_blank">flex-mojos</a>. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.spicefactory.org/pimento/" target="_blank">Pimento / Cinnamon (Spice Factory)</a>: </p> 
   <blockquote>
     Automatic source generation of AS3 service interfaces and proxies with Cinnamons Ant task. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Build_Tools">Build Tools</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="https://flexmojos.atlassian.net/wiki/display/FLEXMOJOS/Home" target="_blank">Flexmojos</a>: </p> 
   <blockquote>
     Flexmojos provides first-class support for Flex and AIR development within Apache Maven. It allows Maven to compile, optimize, and test Flex SWF, Flex SWC, Air SWF and Air SWC. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://gradlefx.org/" target="_blank">GradleFX</a>: </p> 
   <blockquote>
     GradleFx is a Gradle plugin for building Flex and Actionscript applications. It provides a set of useful tasks that will make building your project a breeze. All the build logic is encapsulated by the plugin and all you need to do is some configuration. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Testing_Tools">Testing Tools</h2> 
 <ul> 
  <li> <p><a class="externalLink" href="http://www8.hp.com/us/en/software-solutions/loadrunner-load-testing/index.html" target="_blank">Load Runner (HP)</a>: </p> 
   <blockquote>
     HP LoadRunner is the industry standard for application performance testing. The load testing tool helps you prevent issues by detecting bottlenecks and to obtain an accurate picture of end-to-end system performance before going live. Extremely flexible for organizations and projects of all sizes, LoadRunner software testing tool enables you to test a range of applications including mobile, Ajax, Flex, HTML 5, .NET, Java, GWT, Silverlight, SOAP, Citrix, ERP and legacy. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www.neotys.com/product/overview-neoload.html" target="_blank">NeoLoad (Neotys)</a>: </p> 
   <blockquote>
     NeoLoad is a load testing software solution designed for web and mobile applications to realistically simulate user activity and monitor infrastructure behavior. 
   </blockquote><p></p></li> 
  <li> <p><a class="externalLink" href="http://www-03.ibm.com/software/products/en/performance/" target="_blank">Rational Performance Tester (IBM)</a>: </p> 
   <blockquote>
     IBM&reg; Rational&reg; Performance Tester is a performance testing solution that validates the scalability of web and server applications. Rational Performance Tester identifies the presence and cause of system performance bottlenecks and reduces load testing complexity. 
   </blockquote><p></p></li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Component_Libraries">Component Libraries</h2> 
 <ul> 
  <li><a class="externalLink" href="http://www.flexicious.com/Home/Products" target="_blank">Flexicious</a>: 
   <blockquote>
     Flexicious provides custom components for Flex and Air developers. Our products include Flexicious Classic, Advanced and Spark, which are extensions to the Flex SDK DataGrid, AdvancedDataGrid and Spark DataGrid components, as well as Flexicious Ultimate DataGrid and Flexicious Data Visualization &amp; Dashboard Framework which includes Portal, Charts, Gauges, TreeMaps, Calendar/Scheduler and more. 
   </blockquote></li> 
 </ul> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About Flex</li>
						<li >
							<a href="about-whatis.html" title="What is Flex?">What is Flex?</a>
						</li>
						<li >
							<a href="about-features.html" title="Features">Features</a>
						</li>
						<li >
							<a href=".html" title="Tour de Flex">Tour de Flex</a>
						</li>
						<li >
							<a href="about-licensing.html" title="License & Trademarks">License & Trademarks</a>
						</li>
						<li >
							<a href="about-people.html" title="The Team">The Team</a>
						</li>
						<li >
							<a href="about-history.html" title="Project History">Project History</a>
						</li>
						<li >
							<a href="about-assets.html" title="Logo and Assets">Logo and Assets</a>
						</li>
						<li class="nav-header">Community</li>
						<li >
							<a href="community-getinvolved.html" title="How to get involved">How to get involved</a>
						</li>
						<li >
							<a href="community-mailinglists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="community-showcase.html" title="Flex Showcase">Flex Showcase</a>
						</li>
						<li class="active">
							<a href="#" title="Third-Party">Third-Party</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+Wiki" title="Wiki" class="externalLink">Wiki</a>
						</li>
						<li >
							<a href="http://blogs.apache.org/flex/" title="Blog" class="externalLink">Blog</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Development</li>
						<li >
							<a href="dev-faq.html" title="Developer FAQ">Developer FAQ</a>
						</li>
						<li >
							<a href="dev-sourcecode.html" title="Source Code">Source Code</a>
						</li>
						<li >
							<a href="https://issues.apache.org/jira/browse/FLEX" title="Bug-Tracker" class="externalLink">Bug-Tracker</a>
						</li>
						<li class="nav-header">Documentation</li>
						<li >
							<a href="doc-getstarted.html" title="Getting Started">Getting Started</a>
						</li>
						<li >
							<a href="doc-videos.html" title="Videos">Videos</a>
						</li>
						<li >
							<a href=".html" title="Flex ASDocs">Flex ASDocs</a>
						</li>
						<li >
							<a href=".html" title="FlexJS ASDocs">FlexJS ASDocs</a>
						</li>
						<li >
							<a href="http://help.adobe.com/en_US/flex/using/index.html" title="Documentation Reference (Old)" class="externalLink">Documentation Reference (Old)</a>
						</li>
						<li >
							<a href=".html" title="FlexUnit Tutorials">FlexUnit Tutorials</a>
						</li>
						<li >
							<a href=".html" title="FlexUnit ASDocs">FlexUnit ASDocs</a>
						</li>
						<li >
							<a href="doc-website.html" title="Contributing to the Flex Website">Contributing to the Flex Website</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About Apache</li>
						<li >
							<a href="http://www.apache.org" title="The Apache Software Foundation Website" class="externalLink">The Apache Software Foundation Website</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/contributing.html" title="Donations" class="externalLink">Donations</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" class="externalLink">Sponsorship</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/thanks.html" title="Thanks" class="externalLink">Thanks</a>
						</li>
						<li class="nav-header">Download Flex</li>
						<li >
							<a href="download-installer.html" title="SDK Installer (For Application Developers)">SDK Installer (For Application Developers)</a>
						</li>
						<li >
							<a href="download-source.html" title="SDK Source Code (For SDK Developers)">SDK Source Code (For SDK Developers)</a>
						</li>
						<li >
							<a href="download-binaries.html" title="SDK Binaries (For SDK Developers)">SDK Binaries (For SDK Developers)</a>
						</li>
						<li >
							<a href="download-flexjs.html" title="FlexJS 'beta' (For Application Developers)">FlexJS 'beta' (For Application Developers)</a>
						</li>
						<li >
							<a href="download-flexunit.html" title="FlexUnit (For Application Developers)">FlexUnit (For Application Developers)</a>
						</li>
						<li >
							<a href="download-blazeds.html" title="Blaze DS Source Code">Blaze DS Source Code</a>
						</li>
						<li >
							<a href="download-tourdeflex.html" title="Tour De Flex Source Code">Tour De Flex Source Code</a>
						</li>
						<li >
							<a href="download-squiggly.html" title="Squiggly Spell Checker">Squiggly Spell Checker</a>
						</li>
						<li >
							<a href="download-utilities.html" title="Flex Utilities">Flex Utilities</a>
						</li>
						<li >
							<a href="download-archive.html" title="Previous Versions">Previous Versions</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p>
				<p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="./js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
