Rolling Out Cannonball
One important characteristic of rich Internet application (RIA) technologies is the need to support Web standards. The newly released Cannonball ActionScript library is at the forefront of efforts to incorporate major Web standards into Adobe Flash-based RIA development. InfoQ spoke with Cannonball creator, John French, to gain more insight.
French began by explaining:
Cannonball is an ongoing effort to implement the DOM Level 3 and CSS3 specifications, as defined by the W3C, in ActionScript 3.0. Currently, it's made up of:
- a CSS3 parser and object model
- a DOM base implementation
- an HTML DOM implementation
- an engine for browsing and rendering all of the above
He went on to say the motivation for Cannonball was to make Flash a better “Webizen” by allowing it to leverage the strengths of existing Web technologies. He notes:
Much of the content that HTML was designed to represent is trapped inside SWFs or hidden from the Web in home-brewed XML formats that aren't very accessible. Cannonball helps developers build Flash projects on top of technologies that are familiar, search-engine friendly, and interoperable.
Recognizing that there similar solutions using other languages are available, French observes:
In ActionScript, I know of the DENG project, but it's not being maintained anymore. It's also written in ActionScript 1.0. Java and others have these bases covered, but none of them enjoy Flash's widespread presence on the Web. I want to focus on the strengths of each technology in concert, allowing Flash to do what Flash does best atop a foundation that is still very much a part of the Web.
For example, French says, there are three main cases where Cannonball really stands out as an optimal solution:
- Adding CSS3 to any ActionScript 3.0 project
- Using any XHTML-producing (or HTML-producing with a little Tidy) CMS as a Flash content manager (ex. WordPress or Joomla)
- Prototyping content as interactive HTML before committing to Flash development
With respect to the future of Cannonball, French comments:
There's still a lot of work to be done. My plans right now are to focus on the browsing engine, as it's seen the least attention. Afterwards, my primary focus will be CSS3 support, because this has the greatest potential for use outside of the rest of the project. Optimization efforts will be ongoing.
InfoQ will continue to keep its eye on the rollout of Cannonball to keep you abreast of developments.