Patrick describes Flex’s most fundamental function, which is to create Flash Player SWF binary files:
At the heart of Flex is the ability to create SWF files that run in Adobe Flash Player. Distill all the features down and really it is a development paradigm that compiles to SWF. It really is that simple but often we make the definition much harder. Just like Flash can create SWF files, so can Flex but the way you develop is completely different.He continues by highlighting that Flex is an application development framework:
Flex was not built for animators, writers, accountants; it was written for software developers and the paradigm matches the development methodology you already know.Patrick emphasizes that Flex is for building applications that run in the Flash Player runtime, both in the browser and through the Adobe AIR desktop runtime:
...
Flex has classes, components, a compiler, a debugger, class libraries, and uses XML (MXML) for declarative markup of components. The ActionScript programming language is based on ECMAScript 4 (the language standard behind JavaScript) and has full support for the ECMA XML scripting standard E4X. It also has most of the UI components that you already use (like button, list, datagrid, combobox, and tree) but it also supports containers like HBox, VBox, TabNavigator, TitleWindow and many others.
Flex was built for making rich client side application behavior. It wasn't built for making web pages, banner ads, or server side logic it was built for creating client-side applications that run over the Internet talking to remote servers.Patrick finishes by stressing the fact that Flex builds on the technologies software developers already know:
Flex leverages the tools, servers, and development models that you already know and allows you to write the next generation of software compatibly.To learn more about Adobe Flex checkout the Adobe Flex Developer Center. For Java developer specific resources: http://flex.org/java/