Of course by now anyone doing development for the web is familiar with the buzz term "Web RIA" as a moniker for describing so-called Rich Internet Applications.
It is typically thought that while the RIA approach may be good for business applications or purpose-intended consumer applications, it is perhaps not a good match for content-centric web sites.
However, I think there is a way to combine both a RIA approach and traditional HTML content. I describe some ways to go about doing that:
Is Flex RIA only suitable for business application interfaces, or apps like Buzzword (a highly functional word processor)?
Often it's believed that a web RIA approach is perhaps not so optimal for content heavy web sites (the blogging and social web sites, etc).
However, there are two aspects of Flex that could be leveraged to integrate content and yield a more dynamic UI.
- First is that a Flex app can be built like a portal. A Flex form can dynamically load other Flex forms in a nestable like manner. The sub forms loaded can be determined by logic that executes at runtime. The loadable modules can be built as totally standalone components. (Via OSGi, is possible to even bundle these Flex form modules with their own respective Java service layer beans.) They can bind into the hosting portal environment using Flex properties, events, and declarative data binding features. So the coupling layer can be well abstracted so as to not be overly brittle.
- Thirdly, Adobe AIR has WebKit HTML engine built-in, so an AIR app can also readily make use of HTML content in an integrated fashion.
- Fourthly, there are already mechanisms that can be hosted in Apache httpd and IIS that will compile Flex forms from source code on the fly. So some aspects of even the Flex RIA could be generated dynamically at runtime. Currently these mechanisms are intended for development phase purposes. The compilation is not considered fast enough for production sites. However, in time this will likely improve.
(Sorry for going a couple of bullet points over.)
In the meantime, my preferred approach is Flex form modularization and Flex control iFrame for embedding HTML content.