What Is Apache Flex?

Updated

Apache Flex is an open-source framework for building expressive web and mobile applications, released under the Apache License 2.0 and backed by the Apache community. It uses MXML for layout and ActionScript 3 (AS3) for coding, and targets browsers via Adobe Flash Player and JavaScript, desktop via Adobe AIR, and mobile platforms including iOS and Android. The most important condition to understand before adopting it: Adobe and the major browser vendors ended Flash Player support in the browser at the end of 2020, so Flex is no longer a path to browser-delivered content — for that, the project points to its sister project Apache Royale, which lets you keep using ActionScript while outputting native JavaScript and HTML.

What Flex is made of

Layer Technology Role
Layout MXML Declarative markup for UI structure
Logic ActionScript 3 (AS3) ECMAScript-based programming language, similar to JavaScript
Runtime (desktop/mobile) Adobe AIR (provided by Harman) Packages and runs apps outside the browser
Runtime (browser, legacy) Adobe Flash Player + JavaScript No longer viable for browser output after 2020

Tooling follows familiar patterns: Eclipse-based IDEs such as Adobe Flash Builder and FDT are listed among the options, so developers already working in that ecosystem can reuse existing tools.

What you can still build with it

According to the project, Flex output to mobile and desktop platforms through the Adobe AIR runtime provided by Harman remains supported. That makes the practical target set:

  • Desktop applications packaged with Adobe AIR.
  • Cross-platform mobile applications for iOS devices (iPod, iPhone, iPad), Android smartphones and tablets, and BlackBerry Playbook.
  • Browser content — only via the legacy Flash Player path, which the project itself flags as ending; use Apache Royale instead if browser output is the goal.

Who should choose it, and who should not

Flex fits if you maintain an existing Flex codebase, need to ship or sustain an AIR-based desktop or mobile app, or want a single MXML/AS3 skill set across those targets.

Flex does not fit if your requirement is new browser-delivered content. The project's own guidance is to evaluate Apache Royale for that case, since it preserves ActionScript while producing native JavaScript and HTML.

Getting started

The download page lists several entry points depending on your role:

  • Application developers: Flex SDK Installer, or FlexJS "beta".
  • SDK developers: SDK source code and SDK binaries.
  • Companion tools: FlexUnit (with tutorials and ASDocs), BlazeDS source code, Tour de Flex source code, Squiggly spell checker, and Flex utilities.

Documentation is organized under Getting Started, Using Flex, Videos, Flex ASDocs, and an older documentation reference, with a Developer FAQ and mailing lists for community support. Previous versions are also available if you need to match an existing project's SDK level.

A reasonable first check: confirm your target runtime (AIR desktop/mobile versus browser), then pick the matching download and follow Getting Started before committing to a migration or new build.