Sitting in on the Spry presentation with Kelly Brown right now. He starts off by asking who attended Steve's CFAjax presentation, then making the point that Spry is (in his opinion) much easier to use. Next up is a general intro to Ajax.

The goals of Spry are open access, easy to use, and innovation enablement. Spry capabilities include loading and displaying data, filtering data using XPath, UI widgets, and visual effects. It's currently in beta, with new features still being onboarded.

Beyond the capabilities, there are some limitations. It requires JavaScript (as do all Ajax frameworks), performance (think large data sets), accessibility, and browser limitations (FireFox 1.5, Netscape 7.2, IE 6, and Safari 2.0.3), uses the Google XPath library, only supports XML data, and doesn't degrade well.

Despite limitations, Spry is pretty simple to use. You simply include a couple of JavaScript libraries, depending on what functionality you want to use. From there, you load data by creating a Spry XMLDataSet containing the URL of the data source and an XPath statement to select the data (in JavaScript). To display the data, you create a Spry region using standard HTML tags such as DIV. You use binding notation similar to Flex to do the actual display of the data:


<div spry:region="mydata">
{firstname} {lastname}
</div>

Looping is also available, similar to how it's done in ColdFusion.

Spry also has a mechanism for handling master/detail records. You can select an item from a list and have more information about that item displayed.

Kelly is moving along kinda slow, and so far the examples haven't been too dynamic. He's displaying data, but we aren't seeing much as far as dynamic data goes. So far, it doesn't look any different than just pulling data using CF and displaying on the page.

I've taken a look at one of the previous beta versions of Spry, and I do have to admit that it does seem simple to use. I still haven't gotten a good feel for everything Spry can do, and unfortunately, I'm leaving this session not much further ahead than where I started. It's nothing against Kelly - he seems pretty knowledgeable about Spry - it's just that I was expecting a slightly faster pace and a little more depth out of the presentation.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Dave Shuck's Gravatar For what it is worth, I believe the session by Steve was CFAjax, not AjaxCFC. Rob wouldn't want people thinking his framework is hard to use. ;)
# Posted By Dave Shuck | 6/30/06 10:37 PM
Rob Brooks-Bilson's Gravatar Thanks Dave - all fixed. Just for the record, I didn't think Steve's framework was particularly difficult - thats just how it was represented as compared to spry.
# Posted By Rob Brooks-Bilson | 7/1/06 1:41 AM
Massimo Foti's Gravatar Just for the record, Spry can work fine even with non-XML data. This custom tag make it even easier to use a CFML query to feed Spry:
http://www.olimpo.ch/tmt/tag/sprydataset/
# Posted By Massimo Foti | 7/1/06 9:51 AM
Rob Gonda's Gravatar The truth is that one size doesn't feat them all. Spry is simpler to grasp than many other frameworks due to the template based data binding. However, this template based format makes it easy to accomplish dynamic data with a static layout, which is very limiting. Spry is a great framework geared towards designers -- quote from Kevin Lynch --, but you couldn't build an RIA with it. Like any other piece of software, it's great for some, and not enough for others.

p.s. Thanks Dave.
# Posted By Rob Gonda | 7/1/06 8:44 PM
Rob Brooks-Bilson's Gravatar Thanks for the additional thoughts Massimo and Rob. This confirms some of my feelings about Spry.
# Posted By Rob Brooks-Bilson | 7/2/06 10:27 AM



Copyright 1995-2008 Rob Brooks-Bilson. All rights reserved.
Aura skin for Raymond Camden's BlogCFC inspired by Joe Rinehart & Steven Erat. This blog is running version 5.9.004.