TiM,

Wow!  Your post is so timely for what I'm doing.

I've spent the last X amount of time developing a CRUD environment so that 
A) It's secure
B) Every SELECT, UPDATE, INSERT, DELETE is logged
C) It's easy for the web developers to use (I give them VIEWS that are
already joined)
D) It's easy for the web developers to use (I give them custom tags that
only require a tablename and hidden ID field to retrieve, update and delete)

Just TODAY, I've been wrestling with reworking table based layout to CSS
because the last podcast from HelmsandPeters.com talked about Head First
HTML.  Listen at 9 minutes into the program.

Without the benefit of actually reading the book, but inferring from what
they were talking about, I think they're advocating CSS positioning.

> it's become something of an obsession for me over the last year
Rightly so since you know that the decisions that you make are going to be
duplicated throughout all future projects.

> Nowadays tho I use Ajax
Ajax
Model-Glue
FuseBox
Mach-II
Tartan
PLUM
CFCUnit
Coldspring
COAL
Cf on rails

I'm in shock.
I still consider myself to be in the phase of simply learning the syntax,
much less deciding which Framework (Design Pattern) to use.

And I'm afraid that as I learn the syntax, I develop my own framework, one
that would seem crude compared to these more fully developed ones.




-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Tim Van Der Hulst
Sent: Thursday, January 12, 2006 2:17 PM
To: [email protected]
Subject: [CFCDev] State of Coldfusion UI Development

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]




----------------------------------------------------------
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