Whilst I'm at it I might as well reiterate my other major gripe with Coldfusion 
development.  I've stated these opinions before (see below) and I do realise 
this is a mailing list for CFC development but yeah; I'm still wrestling with 
this one after some 18 months although things have gotten A LOT better since 
then.

Building Web Apps UI's with Coldfusion & HTML/CSS is painfully slow. 

[The issue of HTML's suitability for Web App dev has been thoroughly beaten to 
death over the last year so I feel somewhat vindicated in my earlier position 
on this]

I still spend an estimated 30% of my time building the interface. Granted it's 
become something of an obsession for me over the last year and my productivity 
has shot up so I don't feel like I'm wasting as much time on trivial form 
creation as before but still.

Example, trying to RAD layouts with CSS is a joke; I probably spent nearly a 
couple of weeks in total building various layout managers but with limited 
success. CFMX7 supports basic horizontal/vertical tags which translate into 
tables hehe but it's still a far cry from a proper layout manager ala Java 
Swing GridBoxManager, Flex, etc which can handle resizable layouts really well 
and be built very quickly.

I eventually got over the fact that Coldfusion didn't have a GUI builder like 
Visual Studio and consoled myself with the fact that I could achieve pretty 
sophisticated UI's by hand coding HTML. I did have moderate success with a 
custom UI tag library tho.

Another UI issue I tried to solve was databinding as I got sick of having to 
code trivial update CRUD. I ran into issues when I tried to build a solution to 
this. Doh, several days down the tube that time. Mostly I used my table DAO for 
saving  (eg update(form) -Primary key is hidden field so it knows what record 
to update). 

Nowadays tho I use Ajax to save each field via onChange events. Makes things a 
damn site easier. Biggest issue I have these days is wrestling with separation 
between server (CFM/CFC) and client (HTML/Javascript) code. Currently I have a 
CFC for pushing back updates on the client (ie pumps out Javascript commands to 
update Divs after a callback) and also regular javascript callbacks but I fear 
I should be separating the two so that the model resides on the server and the 
view entirely client driven. Anyway, haven't really got my head around that one 
yet.

I think this direction is being pursued by some of the DHTML toolkits in 
development these days. Backbase (http://www.backbase.com/) is a good example 
tho it utilizes an intermediatory server and costs a bundle.  You can build 
very slick Interfaces (ie think Flex but HTML). Layout tags and a wide range of 
widgets for example. Anyway... Dojo toolkit and others show some early promise 
:)

I guess that's sorta answering my question somewhat. Relegate the server to 
generating data (eg Model+Controller=>XML) and have the client render 
everything (view). At least that way you're not getting tied to any particular 
server language and don't have to fight that language to build UI's.

Hmm, oh well better shut up now. Will report back in another 6-12 months.


------------------------------
My Previous posts on the subject:
------------------------------

CSS layout manager for webapp dev? (July 2004)
http://www.mail-archive.com/[email protected]/msg05679.html

UI custom tag library (Nov 2004)
http://www.mail-archive.com/[email protected]/msg07105.html

OT: superplatform vision (Jan 2005)
http://www.mail-archive.com/[email protected]/msg08022.html

Thanks for listening,

TiM



----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to 
[email protected] with the words 'unsubscribe cfcdev' as the subject of the 
email.

CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting 
(www.cfxhosting.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]


Reply via email to