cf.objective is the largest ColdFusion conference in the world and this year had five tracks covering:
Front-End, Mobile and CSS
Security, System Administration, and i18n
Testing, Data, Tools, and Automation
As you can see from the above topic tracks, this years conference didn’t solely concentrate on ColdFusion but a more diverse range of web development topics, key to any ColdFusion developers success.
The conference was attended by approximately 300 delegates from all over the world and while the talks I attended were all excellent and provided excellent insight into a range of new topic areas, the biggest bonus of the conference was meeting people from the community and the conversations had in the halls, over breakfast, lunch and dinner and in the hotel bar before too much alcohol had been consumed!
Adobe and Railo
The main two ColdFusion server players, Adobe and Railo, both gave presentations on their latest releases, Adobe ColdFusion 11 and Railo 4.2 respectively, as well as giving some insight into their roadmap for the next major releases, Adobe ColdFusion 12 and Railo 5.
While Railo 4.2 was extremely well received by all, the same cannot be said for Adobe ColdFusion 11. The two companies have taken very different approaches to what type of features to concentrate on, with Railo picking a developer centric route and Adobe aiming clearly at the managers and senior executives that hold the purse strings. Given that cf.objective is a developer centric conference Adobe’s approach was never going to be well received but I was surprised by the level of animosity shown towards them, even from some of their biggest proponents.
The cfclient Issue
Adobe ColdFusion 12
In the discussion from Adobe about their next major release they gave a list of features that will be included in the next release, these were:
High performing engine – Optimizations – compiler, bytecode and runtime.
Modular Nimble Engine – services as independent modules
Enterprise Class Package Manager – CLI, dependencies, public/private repository
Language revamp – performance, OOP, concurrency, extending lang
Language – improved logging, image manipulation, deploy anywhere WAR
Existing feature enhancement
This list of features was well received by people at the conference, however a lot of people seemed to be concerned about Adobe’s ability to execute this. There was also concern from many about the amount of features in this list and the time scale required to deliver this.
Adobe have publicly stated that they want to move to a more frequent release cycle, however given this list of features, even their current two year release cycle would seem ambitious. Prolific ColdFusion blogger Adam Cameron suggested in a post on his blog that an “11.5” release, including just the modularisation of the CFML engine would be a better idea and help reduce the release cycle.
In the discussion from Railo CEO Gert Frenz he spoke at length about the next major version of Railo and invited comments from the audience around the proposed new features and asked the audience if there were any additional features they would like to see. From Railo’s side an overview of the Railo 5 features were:
New keyword: static
Abstract and final components and functions
OSGi load JAR’s dynamically
New way to write extensions that will be convention based and all for auto deployment possible via a manifest file
Further operators and operator overloading
New cache keyword ‘smart’ for Railo’s forthcoming SmartCache plugin.
Caching of more items including includes, HTTP calls, files, directories, web service calls and more
In addition to all these changes Railo will also be creating a new plugin called SmartCache. This plugin will evaluate your application automatically when in production and suggest data that can be cached, how long it can be cached for, etc… You will then be able to create SmartCache rules based on this analysis which will automatically cache the data for either the time suggested or for however long you decide, all without changing a single line of code. This tool could be invaluable for improving the performance of legacy applications.
Railo Developer Tools
Railo are also working on some developer tools to help you analyse and improve you and your teams code. The first of these tools is Railo CodeMetrix which will be a code analysis tool. The tool will be for use in the development environment or for short period in a production environment as it will add an overhead of approximately 30% to requests. It will log details about each request, including how long each line of code takes to execute, the output from the request, which lines of code are executed and which are not, giving CFML a code coverage tool for the first time. Another feature will be that while viewing the output, you will be able to click on any part of that output and CodeMetrix will show you the exact line of CFML that produced it, which will be extremely helpful for debugging.
The second of these tools is Railo CodeRaven which will be a coding practices enforcement tool. Details of this tool were a little thin on the ground as it is currently in the very early stages of development, however it will allow you to define rules that will cause either an error or log a warning for particular coding practices, for example do not allow “select *” or do not allow the use of cfform, etc…
Until next time…
Given this was the first major conference I have attended outside the UK, I was massively impressed by the standard of the presentations and the friendliness of everyone there. There was so much to take on board in just three days that it was hard work, like they said “if your brain doesn’t hurt, you’re doing it wrong”.
Next years conference will once again be at the Radisson Blu Mall of America and runs from the 12th to 15th May 2015.
If you liked reading this article you may also like: