The advantage that the Flash platform has to offer is that it's almost everywhere these days. Not only in the browser, the Flash player can be found in mobile phones, handheld devices, game consols, set top boxes, in-dash car displays, ATMs, media players... the list goes on. Not only is the Flash player ubiquitous, it's robust and offers a powerful scripting language. You need only write once, but deploy almost anywhere - something that even Java was not able to attain.
Flex requires Flash Player 7, there's a version of that for Windows, Mac OS and Linux, you and your clients are most likely to have a more recent version of that installed on your computers.
Macromedia learnt a lot about how Flash based RIAs need to work and as a result the Flex framework provides solutions to a number of problems that AJAX has not yet solved today. To give you an example amongst the framework's features is a history manager that interacts with the browser history list, let's consider this scenario:
Gmail, perhaps one of the more well known AJAX based applications, in it's two years of release has yet to offer complete integration with Safari - it's unable to communicate with the browser history - if I forget after reading an email and hit back in my copy of Safari I get the great wait as Gmail has to start all over again, yet Flex manages to interact with that same back button out of the box.
I suspect that Mac OS is a low priority at Google as most if not all of their AJAX applications do not support Safari - the point here is that Flex applications will work on all computer browsers due to the Flash Player being cross browser and cross OS compatible.
Flex 1.5 can be downloaded from Adobe.com as a 60 trial, this will revert to a developer edition at the end of the trial period. The developer edition will serve content to 5 IP addresses, making it a reasonable way to build either a proof of concept or develop an application up to testing stage without having to purchase the server too early. Flex Builder 1.5 is available as a 60 day trial.
Writing a Flex application is done with either Adobe Flex Builder, which is bundled with Flex Server, or a text editor like Eclipse. Flex Builder 1.5 is based on Dreamweaver MX 2004, in addition to support for MXML it also has a MXML renderer to give developers and designers a WYSIWYG view of the MXML tags for layout purposes. Flex Builder is not a MXML compiler, that's what Flex server is all about.
I've been developing Flex applications for some time and have used Eclipse almost from day one. One of the reasons for that is that I'm a Mac user and Flex Builder is only available for Windows. Eclipse needs to make use of a XML plugin to get the most out of the MXML markup language.
A schema file for MXML is part of the Flex installation - I use a commercial Eclipse plugin oXygen XML Editor that's capable of interpreting the XSD schema file. This means that I get tag completion and insight while working on code, just as you would in Flex Builder. It's also possible to use the free Eclipse Web Tools Platform to edit MXML files.
The Eclipse advantage over Flex Builder is that it offers source control via native support for CVS and plugin support for Subversion, something essential in a team/enterprise environment. What Flex Builder offers that Eclipse doesn't is a WSIWYG view of your layout; something coming in Flex Builder 2 which is based on Eclipse and will also be available as an Eclipse plugin.
A Flex MXML page will have MXML tags that are used for either layout, visual components like form controls, data modelling and binding, charting, animation effects and services. The page would also contain ActionScript to add client side logic to the Flex application. Flex is currently being used at the Enterprise level; that's how it was originally priced and marketed. It's pricing is around USD $15,000 per CPU, the license include 5 copies of Flex Builder.
Applications built in Flex to date have been done with some kind of framework/design pattern - the most prevalent framework for Flex is Cairngorm, an open source framework specifically developed for Flex by iteration::two in Scotland.
Another framework that has been applied to Flex application development has been the Ariaware RIA Platform (ARP), similar to Cairngorm it was created for Flash RIA development but can be easily re-factored for Flex development.
Flex applications are bundled with the Flex server and deployed as a WAR to a J2EE server, Macromedia indicated that there was to be a .NET version of Flex when it was first announced but there's been no news of when that might be. The server compiles the application's MXML files to a SWF and serves that up to a client's browser. It's not possible to use those SWFs outside of the Flex server.
Do you need help with Flash? 



1
Stepan Hilbert - 11/05/06
Very well written Andrew.
» Report offensive content
2
Andychou - 16/04/08
Need 3 Flex engineers in New York City:
1. You have to be living in New York City for now.
2. Work part time or full time with us.
3. Good at Adobe Flex technology.
4. Please contact us for other requirement and details.
Busycode Inc. is a top Adobe Flex shop who develops Flex/AIR applications for clients.
For more info, please visit http://www.busycode.com
» Report offensive content