Apache Flex is an open source application framework curated by the Apache Foundation. It provides an environment where you can build SWF applications that can then executed on any Flash runtime or compiled with Adobe Air to execute natively on mobile environments (Android, iOS, BlackBerry) and desktop environments like Windows and OSX.
A Flex application consists of two components: MXML layout files describing the UI and ActionScript3 code to provide the functionality. These two types of files are compiled into a single SWF for deployment.
Flex applications can access all major application servers (Java, PHP, Ruby, .NET, etc.) through REST, SOAP, JSON, JMS and AMF.
The Apache Flex SDK comes large set of skinnable user-interface components with a full component lifecycle, a set of services (HTTPService, WebService, RemoteObject) and a set of Managers for things like Styling, Skinning, Layout, Localization, etc.
Flex also has accessibility support and an Automation-Testing Framework.
Apache Flex is a completely open-source project and uses the Apache License v. 2.0. This allows you to use the SDK and any outputs of the SDK for personal and commercial use with virtually no restrictions.
A typical use is to build a rich, interactive browser-based front end to a web application whose backend would be Java or .NET and connecting to data services through that application server.
Apache Flex and Apache are trademarks of The Apache Software Foundation.