Cx: ColdFusion 2012
Posted by Joe Rinehart at 10:37 AM
8 comments - Categories:
ColdFusion MX
Last night, Adam Lehman asked a group of us (myself, Chris Scott, Brian Kotek, Rob Gonda, and David Perez) what we'd like to see from ColdFusion given nothing but our imagination and a blank slate. I'm not going to be able to properly represent ideas from all of us, but I wanted to outline a core idea that came up: the idea of an almost entirely new Adobe application server building on the spirit of ColdFusion and current Adobe technologies. In my head, I nicknamed it Cx.
Here's what I'd love to see:
A rewrite of ColdFusion using an XML schema to create view scripts (.CXM) and components/clases (.CXC), and allowing inline scripting (in the theme of cfscript) and component creation in AS3.
How would it work? Let's start at the top, a simple query and display:
<!-- Function to layout pancake name -->
<cx:Script>
<![CDATA[
private function pancakeName(name:String):String {
return uCase(name);
}
]]>
</cx:Script>
<cx:Query name="pancakes" datasource="breakfast">
SELECT * FROM pancakes
</cx:Query>
<table>
<cx:Output query="pancakes">
<tr>
<td>{pancakeName(pancakes.name)}</td>
</tr>
</cx:Output>
</table>
</cx:Template>
Now, a custom tag / component to display a pancake icon beside the name, stored in {project}/customtags/PancakeName.cxml:
<cx:Property name="name" type="string" />
<cx:Property name="icon" type="string" />
<cx:Output>
<img src="images/{this.icon}" />{this.name}
</cx:Output>
</cx:Template>
Using it in our display in our custom namespace:
...
<td>
<customtags:PancakeName name="{pancakes.name}" icon="{icon.name}" />
</td>
...
</cx:Template>
Lastly, two takes on modeling a pancake:
<!-- You get the idea... -->
<cx:Function name="getName">
</cx:Function>
</cx:Component>
Or in AS3:
public class Pancake {
public var pancakeId;Number = 0;
public var icon:String;
public var name:String;
}
}
How would it work?
Honestly, no idea. I'm just tossing out how I'd love to work.
Business implications
I like the idea. I think it'd require a new name and a rebranding of ColdFusion, but this could be done in a way that still relates it to the CF community while appearing a "new" product to others. It could consolidate resources inside Adobe: AS3 would become an underlying language for both server-side and client-side languages.
Wish I knew how to write languages.
Rick O wrote on 05/05/07 1:10 PM
Looks like JSP redone with AS3.I'm not saying this is Good or Bad, just thinking out loud.