CFUNITED - Day 1
I dragged my carcass out of bed extra early for a "technology managers" breakfast that TeraTech were organizing prior to the keynote. 7:30am. Such an uncivilized time.
The "breakfast" was a few croissants and some fruit and juices and a thinly veiled pitch from TeraTech for their services. Luckily only a handful of managers actually wasted their time attending.
Next was TeraTech's opening "keynote". It's always the most painful thirty minutes of CFUNITED. Michael Smith is a nice guy but he really doesn't understand what a keynote is meant to be about. At least he didn't mention FLiP for a whole 22 minutes this year (last year seemed to be a pitch by TeraTech for Fusebox and their services and a lot of attendees were pretty annoyed by it).
Then Ben Forta and Adam Lehman took the stage and, after about half an hour of the usual "good news" about the state of ColdFusion, they launched into the meat of their presentation: announcements and then new features that "may or may not be in" the next version of ColdFusion that "may or may not be called CF9".
First off, the announcements:
- ColdFusion will be free to students and faculty in much the same way that Flex Builder is today. The exact details are still being worked out so watch the Adobe site for more news.
- The CFML Advisory Committee. I've already blogged about this and will be blogging more over the next few weeks.
Next, the features (for "will" read "may"):
- <cfscript> will be enhanced to allow functions (both UDFs and CFC methods) to have access declarations, return types and arguments. A new component syntax will also allow entire CFCs to be written using <cfscript>. The applause was somewhat belated but I'm very pleased to see this coming!
- A new scope local will be added to functions make it easier to deal with local variables. You will be able to declare variables with var anywhere in a function (not just at the top). You will be able to specify the default scope for unscoped variables via <cfsetting>.
- We're getting <cfcontinue> as a tag (we've had it in <cfscript> for a while) and we're getting finally and <cffinally> to make it easier to deal with exceptions.
- A new keyword (as an alternative to createObject()) and an import keyword to make CFCs accessible to new - just like Java / ActionScript. Some sort of implicit constructor will also be added.
- Tired of writing all those "best practice" getters and setters? CF9 will have implicit getters and setters auto-generated based on <cfproperty>.
- A Server.cfc will be added to allow for onServerStart() and onServerEnd() handlers in addition to the current application model.
- AIR integration will be improved (I didn't catch any details that were given). They showed some MXML containing <cf:...> tags that defined a datasource and SQL queries that will somehow handle automatic synchronization of data between online and offline operation.
The final feature shown - the "big" feature - was deep integration with Hibernate, the de facto standard Java Object-Relational Mapping engine, so that you can simply specify orm="true"
and a datasource on a <cfcomponent>
tag and then you can load and save that object against a database table of the same name as the component. More enhancements to the <cfproperty>
tag will allow finer control over what parts of a CFC are mapped to what parts of the table in the database.
I think a lot of people were a bit bewildered by the Hibernate announcement because they're not using CFCs yet but I think it has the potential to drive CFC usage by making database access even simpler than ever.
After the keynote, I went to Shlomy Gantz "10 Steps to Ruin a CF Project" which was a wonderfully humorous look at why projects fail. Shlomy told us not to test, not to document, not to plan, not to have a process and so on, illustrating each point with real experiences from his project management consulting past. He said he'd trying telling people the right things to do but it never seems to sink in so he's become bitter and wants to try reverse psychology instead. It was a great session and really brought home the important messages.
During lunch I got caught up in conversations and missed the next two sessions (including Bill Shelton's which I really wanted to see). I popped into the speaker ready room to say "Hi!" to Peter Bell and Joe Rinehart but then Brian Meloche and the cfconversations crew arrived to interview Gert Franz of Railo so I ended up in there for another hour (it was a fascinating interview / roundtable - watch the CFConversations podcast
for this episode to appear).
I skipped the networking event (again, a guest pass was $150 for the networking event and the special event and that certainly wasn't worth it) so I had dinner with my wife and then we hung out in the bar with a good crowd.
Tags: cfunited08 · coldfusion