May 10
‘Why move to XML?’ was one of the questions posed to me when I was up in Scotland a few weeks back talking about Fusebox4.1. I think there potentially a number of reasons;
- Platform Portability - hmm, touted as a reason but I wonder how many people have built a Fusebox 4 application on CF and then moved it over to PHP. Granted having the single XML language for all platforms makes the application ‘readable’ by all developers at a Fusebox level but i don’t consider that as a primary reason
- Reducing logic at circuit level - moving the circuit definition files from using a CFSWITCH in Fusebox3 to an XML definition in Fusebox4 meant we can no longer use CF code in our circuit definitions, thereby reducing the amount of logic and forcing more of it into the individual fuses. We now have a limited grammar which we can use within the circuit definitions so we should all certainly be able to ‘read’ each others applications at the circuit level - but custom lexicon kinda throws a spanner in the works to this reason.
- Performance? Does getting rid of the CFSWITCH indeed increase performace? I wonder i if Fusebox4 had retained the cfswitch and got rid of all the other stuff, nested settings, circuit etc and brought in the stuff FuseQ introduced - how would it perform?
- cos XML is cool? Well yes it is, but when Fusebox 4 came out it was built on CFMX6 - with that we got CFCs - Fusebox 4 could have gone down the XML/CFC route (in fact I still have an unreleased version using CFCs and XML which ultimately led to MachII) but it was seen more prudent to keep Fusebox procedural and leave the OO stuff for MachII
May 11th, 2005 at 1:30 pm
You forgot the most important reason, IMO:
Tool support.
Tools that parse and manipulate XML are much easier to write than tools that parse and manipulate CFML / CFSCRIPT. Therefore moving to XML provides opportunities for much-improved tool support.
May 12th, 2005 at 2:31 pm
good point…i forgot about that one. But the likes of Adalon and Fusebuilder were all able to make perfectly good CF code pre Fb4 came along.
March 1st, 2006 at 8:37 am
I *have* translated a Fusebox app from CF to PHP. Believe me, I was thankful that most of the flow was contained in XML files that I didn’t have to translate.