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]
