Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Rolling Out Cannonball

Rolling Out Cannonball

This item in japanese

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:

  1. Adding CSS3 to any ActionScript 3.0 project
  2. Using any XHTML-producing (or HTML-producing with a little Tidy) CMS as a Flash content manager (ex. WordPress or Joomla)
  3. Prototyping content as interactive HTML before committing to Flash development

On how Cannonball was developed, French recalled, “Cannonball was built on a Mac with jEdit, Flash CS3, Ant, and the Flex SDK. It uses the Memorphic XPath library, BulkLoader, and the Adobe corelib.”

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.

Rate this Article