Last night I went to a ColdFusion sneak peek event with Ben Forta in Brussels. The first part of the presentation went mostly into BlazeDS versus LiveCycle Data Services. Data push with built-in conflict management always makes for a nice demo but its pretty much the same demo material I saw Christophe Coenraets present for the first time at an Adobe Connect event in 2006.
Ben then moved on to discuss some features that are likely to make it into ColdFusion "Centaur" and "Bolt" -- a new Eclipse based IDE for ColdFusion.
Focus points for ColdFusion 9 are to:
- Deliver enterprise class tools
- Break boundaries of Rich Internet Application development
- Raise productivity and quality of your application development process
Exposed Services Layer Probably the most promising feature for me was what they call the Exposed Services Layer (ESL). This provides access to ColdFusion functionality (like for example mail, document generation, PDF manipulation etc.) from any language through SOAP or AMF. Obviously that functionality is turned off by default and you have fine-grained control over the security of those services you expose and who you expose them to.
MXML/AS3 Service Libraries leverage that ESL feature as well and as such will allow you to call ColdFusion features directly from your Flex and ActionScript 3.0 projects.
Local/remote database synchronization Another interesting development is the built-in local/remote database sync between ColdFusion datasources and local SQLite databases through Adobe AIR.
CFSCRIPT support Then there's full support of CFSCRIPT, as I'm primarily an ActionScript developer I feel more comfortable with using script over tags for things like writing CFC's. One strange thing to note is that CFSCRIPT looks remarkably similar to ActionScript 3.0 but its not -- as Cyril Hanquez rightly asked, why would they not go with ActionScript 3.0 syntax?
In his answer Ben referred to server-side ActionScript as a proof of concept as was shown during the sneak peeks at Adobe MAX this year. I think its safe to say they would like to see ActionScript supported as a scripting language inside of CFML but its not quite there yet.
Bolt features Bolt is an Eclipse-based plugin, which is designed to run well alongside Flex Builder, or can be installed as a standalone application. Besides the obvious things like color coding, code hints etc. they seem to be providing a whole range of useful panels including: service browser, servers panel (start/stop, see logs, launch server monitor, snippets etc.)
One interesting note was that you can use CFML templates to build extensions, there is already a built-in ORM code generator, support for ModelGlue and even generating ActionScript classes from a database table.
Taking into consideration this will be a 1.0 product it looked quite polished already and will no doubt be a fantastic time saver for CFML developers everywhere.
One of the key points made in regards to ColdFusion over other technologies is the sheer number of functionality you get out of the box -- which is absolutely a valid remark to make.
I have to say I'm quite impressed about what I've seen so far of the plans for Centaur and Bolt.
In my opinion ColdFusion's struggle for the hearts and minds of some developers has little to do with its feature set or how well it integrates with Flash Platform and other technologies but rather its licensing and relatively unclear positioning in the market. I am now confident Adobe is in fact investing money and resources in ColdFusion's future and it will be an interesting year to see if and/or how open source CFML engines will drive adoption.