The answer to that question is, of course: a lot.
There’s been much coverage elsewhere, and I have bookmarked a veritable ton of blog posts exploring this new feature and that new feature. It certainly sounds like the Adobe engineers have been busy implementing a great number of little things that altogether, make for a great release.
It’s now in public beta, but I’m waiting for a free CF8 beta hosting account from FastHit in order to try it out, rather than messing around with virtual machines and what have you.
There are a few features that are of particular interest to me:
- Image manipulation with a built in CFIMAGE tagMy partner Dave wrote a CFX tag in Delphi for manipulating images back in CF4.5 days. It served our needs well, even after the release of CFMX, when the ability to call Java libraries made native image manipulation a possibility.
The reason I stuck with the CFX was quality – the built in image resizing, at it’s most basic level, looked horrible (no smoothing) and didn’t have great compression rates. Later, other developers released CFCs that called more complex Java methods and referenced other libraries, and they were much better – some free, some commercial.
However, a built-in image manipulation tag is something that a lot of developers have been requesting for a long time, and it seems Adobe has decided to listen. Possibly, the fact that ColdFusion engine competitor BlueDragon has a CFIMAGE tag was a factor. It will be very interesting to see what the quality and compression of CFIMAGE is like compared to the third party tools available – given that this is Adobe we are talking about, I’m sure it will be very, very good. Also whether the tag’s attributes match what BlueDragon has implemented.
- Native Ajax widgets and JSONAutomatically generated Ajax terrifies me. Traditionally, any kind of automatically generated code has sucked – CFFORM, anyone? – and given the usability and accessibility difficulties Ajax techniques have to start with, I can easily image developers digging themselves a massive pit with tools given to them by CF8, from which there is no easy escape.
Maybe that sounds a little dramatic. I’ve become a convert to the Hijax techniques advocated by Jeremy Keith in Bulletproof Ajax, a most excellent book. Essentially, the idea is you build an application that works in the traditional page refresh manner, and then add a behaviour layer that “hijacks” your normal requests and replaces them with XMLHTTPRequest calls. That’s the technique we used for the “My Festival Planner” on the Perth International Arts Festival 2007 site, and it works beautifully. I don’t know whether that kind of approach would be possible with CF8’s built in Ajax widgets. It’s something I intend to explore further.
Oh, and native functions to read and write JSON-formatted data will be really useful too.
- Improved PDF integrationI’m hoping for PDF forms here. Not that I have a use for them currently, but have had in the past and will no doubt have again in the future.
There are some other features that are noteworthy, but which I won’t get to use myself:
- Reporting ImprovementsAs some readers may know, I used to be the Reporting queen – however I haven’t had a need to use CF integrated reporting for some time. I was highly critical of Reporting when it was first released, but fortunately most of my concerns were addressed in the 7.0.2 update. I understand that there are new enhancements and further fixes to reporting in CF8, but I don’t have a really demanding reporting project to try them out on.
- Debugging with EclipseI can see that some people are excited about this. I used to use debugging back in CF4 days with ColdFusion Studio, so I understand it’s pretty cool. However, I simply can’t bring myself to use Eclipse as an IDE. I’m just… I don’t know… allergic to Java interfaces? Obviously I’m in the minority (although I do know some other developers who can’t stand Eclipse either) and Adobe no longer consider Dreamweaver their ColdFusion IDE or the support might have been in there.
Of course, there are countless other features that are new or improved that I’m not mentioning. The administrative interface and API in particular have been improved a great deal, and I hear that performance has received a boost too.
So much to discover! I’m really excited about this release. I’d love to know, what’s your top feature?