CFUnited 2008: The Adobe Keynote
My notes from the Adobe Keynote given this morning.
Adobe Keynote by Ben Forta / Adam Lehman
CF8 sales are the best since Adobe acquired Macromedia. CF 8.0.1 released this spring with 64 bit support for Windows, Mac, and Linux
Adobe is creating CF Open Process Initiatives
-Public bug database
-Public enhancement request system
-Customer Advisory Boards
-Enterprise Developers & Community Leaders
-CFML development
-RIA, etc.
Work has started on Centaur
-Advancing CFML language
-Improve Integration
-Improving developer experience
Planning for the Future
One of the biggest problems for CF customers is the lack of developers. So Adobe wants to push for use at the college and academic level. Announced today, CF will be freely available for students and academic use. This will be a similar model to Flex Builder for Education. You will be required to provide verification, and the product is full unrestricted Enterprise version for educational purposes only.
Another issue has been that given the age of the language CFML has become fragmented and inconsistent. So Adobe is forming a CFML language Advisory committee to define rules,guidelines and evolution for the language. The members include Sean Corfield,Ben Forta, Sanjeev Kumar, Gert Franz, Ray Camden, and Rob Brooks-Bilson.
Centaur Sneak Peek
Be able to create CFC methods in cfscript
-argument definition and validation
-roles
-access
-return types
So there you could create CFC components in cfscript syntax
Explicit local scope keeps local variables. This will work like the older var scope but you can put the cfset anywhere in the method.
<cfset local.var = 1>
Can default scope for a CFC. A great feature that can help scope variables in methods where people forgot to do so.
<cffinally> added to the try/catch block. Performs cleanup after a catch operation.
<cfcontinue> resets you back to the top of a loop. Where <cfbreak> breaks you out of a loop.
Implicit constructors
<cfcomponent init=""...> looks for init method then a method named the same as the cfc
Implicit getters/setters
The cfproperty will generate the implicit getters and setters on the backend to save you from writing the code.
Also a new server.cfc which will have two methods: OnServerStart and OnServerEnd. So you can load objects when the server starts up and also do clean up when shutting the service down.
Working on AIR integration
<cf:Datasource> and cf:Query tags in MXML language to handle CRUD operations to a backend value object. It will handle offline/online modes
ColdFusion will have a backend ORM via Hibernate.
<cfcomponent orm="true" datasource="cfartgallery">
</cfcomponent>
CF will auto generate the config mapping files which you can modify. A catch with this is that there are a lot of tags that take query objects and not a cfc object to run. So they are working on that issue.