On May 30, Adobe released the public beta of ColdFusion 8,
which means that we at CFDJ can now
begin writing and talking publicly about all the great new features.
I’ll add a
disclaimer to that statement: CF 8 is currently in public beta and things,
though not likely, can change between the public beta and the final release –
so the CF 8 specific content in CFDJ
will be kept light to null in order to ensure that the content we deliver is
accurate for the final release. That said, the features included in CF 8 are
unlikely to change between now and the official release, so this month I
thought I’d give a high-level overview of some significant new features and why
developers and companies should be interested in ColdFusion 8.
The first thing to know about what’s new in CF 8 is
performance. Not that we didn’t have good performance prior to this release,
but based on Adobe’s test results, developers are likely to see anywhere from a
20–500% performance increase when they run the same code on CF 8 that they’re
running on CF 7. That, by itself, is a very compelling reason to plan an
upgrade/migration to CF 8 when it’s released. An additional feature in CF 8
also allows developers to write code that is much more efficient with regards
to performance: the ability to programmatically create and control threading
(using a new CFTHREAD tag). Oh, but there’s so much more.
ColdFusion 8 makes developers’ lives easier. There are two
significant new features that make administration and troubleshooting easier to
do, ultimately making developers more productive. The first is a new Eclipse
plug-in that allows developers to debug their applications (think “break points,”
“stepping through code,” “watch expressions,” etc.). The second feature is a
series of CF Administrator enhancements that includes, among other things, a
server/multi-server monitor for tracking real-time information, the ability to
tune request performance and threading, and the ability to turn the data
type-checking on and off in CFCs. An additional nice new CF Admin feature is
the ability to define multiple user accounts for the administrator and to
restrict CF Admin access by account.
You may be thinking to yourself, “performance and
productivity enhancements are great, but what’s new?” The actual new features
are far too numerous to list here, but I’ll mention the ones that I consider
extremely significant.
Many new features are all about
integration:
- ColdFusion
8 has tighter integration with LiveCycle Data Services (formerly Flex Data
Services) and can be installed with it.
- Support
for Flex/CF interaction has been improved in several ways, including the
ability for CF Assembler CFCs to return queries or structures rather than
DTOs and the ability for CF to notify Flex applications of data changes on
the server.
- ColdFusion
now has support for interaction with Microsoft Exchange Server – you can
control connections to the server and programmatically work with Exchange
calendars, contacts, and mail services.
- ColdFusion
8 has a new Event Gateway that allows CF to interact with Flash Media Servers
and their Shared Objects.
- ColdFusion
8 has native support for .NET – you can now work with .NET assemblies as
you would other objects.
In addition to integration with other products, ColdFusion 8
has new and enhanced support for other file formats and technologies:
- ColdFusion
8 has a ton of AJAX
support.
- Developers
can programmatically create an AJAX Proxy that allows AJAX client applications to interact
with CFC methods.
- CF
now has native support for JSON serialization/deserialization for passing
data back and forth with JavaScript applications.
- There
are dozens of enhancements to CFFORM and CFFORM controls that allow
developers to easily build AJAX
client applications and more rich user interfaces.
- CF 8
introduces native support for publishing and consuming content in RSS 2.0
and Atom RSS feed formats.
- There
is native support for creating and manipulating images in CFML with
ColdFusion 8.
- ColdFusion
8 now supports the ZIP file format – you can create, open, and manipulate
ZIP and JAR files using CFML.
- ColdFusion
8 includes a lot of improved PDF support and developers now have the
ability to programmatically manipulate existing PDF documents and PDF
Forms
Two very significant enhancements were made to ColdFusion
Components. One new feature is support for interfaces – a feature that is
extremely useful for architects and one that takes CFCs one more step toward
having complete support for all of the features you’d expect in an object-oriented
language. The other CFC enhancement, one that for me is ranked in the top three
of all the new features in CF 8, is that CFCs are now serializable. This means
that ColdFusion Component instances in the session scope will replicate between
servers in a cluster – a feature essential when developing true enterprise
ColdFusion applications.
There are numerous other language and feature enhancements
in ColdFusion 8 including a much enhanced report builder and report
functionality, enhancements to the Application.cfc-based application framework,
the ability to create online presentations (slide shows), new JDBC drivers, a
new Verity version, new encryption functionality, JBoss support, support for
JDK 1.6, Apache Derby database support, database driver logging support, the
ability to programmatically access information about data sources, and CFML
language enhancements that include implicit array and structure creation and
JavaScript operator support in expressions.
There are many additional features that I didn’t mention and
so much more that I could say about each and every one of the features I’ve
described here, but I’ve tried to touch on all of the significant enhancements
and additions that ColdFusion 8 brings to an organization. If you haven’t
downloaded the ColdFusion 8 beta or looked at the documentation, both are
available on the Adobe Labs site at http://labs.adobe.com/technologies/coldfusion8/.
In addition, in upcoming months keep your eye on upcoming issues of CFDJ, the Adobe ColdFusion, Labs, and
DevNet sites, and developer blogs for more on the benefits of moving to
ColdFusion 8.