by Judith Dinowitz, Master Editor-in-Chief
July 13, 2009 — Adobe announced the dual release of the public betas for the next release of ColdFusion, ColdFusion 9 (formerly code-named Centaur) as well as the new ColdFusion IDE, ColdFusion Builder (formerly code-named Bolt). Last week, Michael and I sat down with Adam Lehman, Project Manager for ColdFusion, to discuss this announcement and the new things you can expect to find in both ColdFusion 9 and its new IDE.
Adam said that in this release, his team focused on aligning ColdFusion 9 with the rest of the Adobe platform, and therefore, they had many of the same goals as the other Adobe products: Productivity, greater integration with other technologies, and enhancing the richness of your applications.
Increasing productivity means making the development and management of applications faster and easier than ever. On the ColdFusion 9 side, Adam focused on two specific features among many: the Object-Relational Mapping (ORM) engine that was built into ColdFusion 9, and the Server Manager, a Flex-based AIR application that helps developers manage ColdFusion across multiple servers. In addition, Adam noted that the very existence of a new ColdFusion IDE is in itself a major boost in productivity.
The ORM features in ColdFusion 9 will save developers a lot of time just by decreasing the amount of code they need to write. For example, ColdFusion 9 lets you save CFCs to a database without SQL and build database-independent applications. This means that you can use the same application for multiple databases. You need not create getters and setters, as ColdFusion will do it for you at runtime. This happens automatically for 'persistent' CFCs (CFCs that have the new persistent attribute of cfcomponent set to true, which means that they are stored in memory) and via a cfproperty attribute in regular CFCs.
The ORM also gives access to Hibernate internals.
"While Hibernate is a really complex thing, we've added a lot of helper functions that make it easy for a junior or intermediate developer to start getting into Hibernate, " said Adam. And if you don't want to use the simple syntax that ColdFusion has created, you can go under the hood and get more complex.
"Everything you read there still applies to ColdFusion — if you really want to dig down, it's there."
To help developers be more productive, Adam said, Adobe went further and took the Server Monitor features that had been introduced in ColdFusion 8 and created a new Server Manager. This is a Flex-based AIR application that you can install on your desktop for monitoring and managing servers. You can run it as a background service, and you'll receive system notifications and alerts. The Server Manager allows you to manage settings across multiple servers, deploy hot fixes, and more.
"For many years, ColdFusion's highest requested feature was an IDE," said Adam.
"In 2007, we ran a report through Evans Data on how many companies internally use ColdFusion. In late 2008/early 2009, we ran a report again and found that in that year between the two reports, 2000 companies had bought their first ColdFusion license. We saw that 75 or 80% of Fortune 100 companies were using ColdFusion, and that since 2004, we had gone from a user base of about 200,000 developers to about 778,000 developers, based on the reports from Evans Data." Because of that increase in the audience, Adobe decided to create a new product and invest in the community, giving them the IDE they had asked for.
ColdFusion Builder is Eclipse-based, which will help it integrate well with the Adobe Flash Builder. You can register all of your ColdFusion servers, as far back as version 7, in ColdFusion Builder. There is also an option to tie your local development server to the IDE, so that your local server will turn off when you turn off the IDE and restart when the IDE restarts.
Adam showed off several features, such as the Tailview window, which is updated as logs are updated. He also noted that all the ColdFusion 8 plugins that had been part of CFEclipse are present in ColdFusion Builder, so CFEclipse users will not lose out by switching to the new IDE. Any Firefox plugin should work in ColdFusion Builder's built-in browser as well. I asked Adam whether Adobe had put in any automatic code formatting into ColdFusion Builder as an attempt to foster best practices in coding. Adam said that there is no automatic code formatting, and the code defaults to not having closing slashes.
Adobe built on Aptana's CSS editor to incorporate special HTML and CSS help.
Some of ColdFusion Builder's features include a tailview that records all logging, and code completion.
This release also enhances ColdFusion's ability to bridge multiple technologies. Adobe worked specifically on the integration between ColdFusion and Microsoft Office — namely SharePoint, Excel, Word and PowerPoint. Here are some of the new enhancements that Adam mentioned:
A look at ColdFusion 9's Administrator console will give but a glimpse of the tighter integration between ColdFusion and other Adobe products.
In an effort to help you create richer applications, Adobe has focused on integration with other Adobe products as well. ColdFusion's UI controls have been enhanced. Adobe has also started building some integration between Flash Builder and ColdFusion Builder. They have exposed many ColdFusion-based services as SOAP services, allowing Flex developers to hook into these ColdFusion services without writing CFML. For example, in the Flex world, you can use the CF:Mail tag in Flex; it will send email in one line of code.
Adam's team also worked on integrating ColdFusion with the AIR player.
"When your application goes offline, and you store data, how do you synch that up?" asked Adam. ColdFusion 9 provides mechanisms for synching data between online and offline AIR applications and conflict management between two sets of data.
Other integrations mentioned include updated PDF libraries, embedding BlazeDS into ColdFusion 9, and optimizing Flash remoting specifically for ColdFusion. Adam seemed particularly proud of the Flash remoting enhancements; he said that out of the box, Flash remoting on ColdFusion 9 is about nine times faster than it was for ColdFusion 8.
If you care about being on the cutting edge of ColdFusion development, you should definitely apply to the public betas for ColdFusion 9 and ColdFusion Builder. You can find out more about these products at http://www.adobe.com/go/centaur (for ColdFusion 9) and http://www.adobe.com/go/bolt (for ColdFusion Builder). If you'd like to talk about the new IDE, you can subscribe to the new ColdFusion Builder list on House of Fusion.
Judith Dinowitz is the Master Editor-in-Chief of the House of Fusion magazines and journals, where she enjoys serving up ColdFusion and Flex goodness on a weekly and quarterly basis.