Flex and Ajax can not only co-exist in rich Internet applications (RIAs), they complement each other when used in a service-oriented architecture (SOA).
At least so says James Ward, Flex evangelist for Adobe Systems Inc. He will be delivering that message in a talk on RIA development, which he is scheduled to give at the Linux World Conference and Expo in San Francisco, Aug. 4 through 7.
"I've done my share of Ajax programming as well as Flex and both models have their strengths and weaknesses," he said, previewing his talk in an interview with SearchSOA.com.
From that vantage point Ward sees the strength of Ajax and HTML in content centric applications.
"If the user's primary goal is to read something," he said, "HTML is a great technology for doing that. Ajax can add some interactivity and provide better ways for the user to interact with that information."
Flex can show off its muscles when the RIA application requires interaction with databases and backend applications.
"On the other side of the spectrum when you have interactive applications that are not just interactive in the user interface, but also very interactive in talking to backend technology, your databases," Ward said. "In that side of the spectrum, Flex is very strong because it has a real virtual machine for executing code, rather than just rendering HTML."
Where RIAs need to both render content and interact with backend systems, the combination of Ajax and Flex is the best choice for enterprise development teams, he said.
"If you're somewhere in the middle, which a lot of people are, what we usually recommend is that you combine Flex and Ajax together," Ward said. "We've seen a lot of people have great success doing that."
He points to Google Finance as an example of an application where Flex and Ajax are working together.
"On Google Finance there's a very large interactive chart that's obviously Flash," Ward said of the player that produces Flex applications. "Then there's Ajax content and they both exist on the page at the same time, and can even act together using something we call the Flex-Ajax Bridge."
Developed first at Macromedia before it was acquired by Adobe and now an Adobe Labs product, the Flex-Ajax Bridge is a code library for integrating Flex applications with HTML content.
"There are quite a few people who need the strengths of both technologies and use the Flex-Ajax Bridge to combine them," Ward said.
Development managers looking to combine the two technologies will need to assemble a team with Ajax specialists and Flex specialists because it is rare for a RIA developer to master both, the Flex evangelist said.
"They have some similarities in the technologies and programming models," he said of Ajax and Flex. "But when you get down into the details, if you want to be a real expert, you have to pretty much specialize in one or the other. They both have so much depth to them you'd have to be pretty extraordinary to be an expert in both."