Probably in order of the size of the development community, I think it'd be
Fusebox 3 Fusebox 2 Mach-II Fusebox 4 onTap As to the number of installations, I'd hesitate to even ball-park them. I know there are a lot of Fusebox 2 / 3 implementations right now, and probably not very many of the remaining three yet. I've personally worked on a lot of Fusebox 3 and a couple of Fusebox 2 projects over the past few years, so I can vouche for its being visible "in the wild". Plus you can find a lot of websites running it if you just look at the url's, a lot of sites with a "fuseaction", "fa", "go" or "action" variable in the url are using Fusebox or some variation of it. Fusebox 2 is likely rapidly losing ground however in favor of Mach-II and Fusebox 4. Right now I place it above them because the latter three are still rather new. All 4 of them have radically different approaches to development, and so the way you think about a project will be very different, so there's going to be a lot of personal mileage varyance for any given framework. Fusebox 3 obviously has the community size advantage, although especially after my next article, Fusebox 4 will probably gain ground in that regard as it turns out to be the fastest (execution times) when using ColdFusion MX. The onTap framework is has only been around since August, which iirc was a bit after the announcement of Mach-II. It obviously will need to be good in order to gain any ground against Fusebox and Mach-II to build community since my name doesn't yet carry the kind of weight that Hal's or Sean Corfield's do. The advantage that they share is encapsulation and reuse of code. The manner in which they do this varries greatly from one to the next. The onTap framework is unique in that it doesn't require external configuration of code-bits in a "config file". It does have an _appsettings.cfm template which contains global default settings for the application, however, in Fusebox 3 circuits and fuseactions must also be declared and configured in fbx_circuits.cfm and fbx_switch.cfm templates. In fusebox 4 these are declared and configured in xml templates called fusebox.xml.cfm and circuit.xml.cfm (they kept the cfm extension to prevent the config from being publicly accessible). In the case of both Fusebox 3 and 4 these templates are required for each circuit directory afaik (I may be wrong about circuits in 4, not certain). Mach-II places all configuration in a mach-ii.xml template (which you can rename or move to prevent it being publicly accessible -- I wish they'd have provided a different default personally). This keeps all the config for the app in one place, but can mean a very large singular template with mid-to-large sized applications. I personally prefer smaller applications, although with Fusebox this can sometimes mean doing a lot of searching around to find the right block of code. Getting back to the onTap framework -- the onTap framework avoids external configuration templates such as the fbx_circuits, fbx_switch and mach-ii.xml templates in favor of using the file system to automate code execution. This means choosing only 1 name for a process (a directory path) instead of a couple (in mach-ii it would be file name + listener name or file name + page-view name), and always lets you know where your process code is by glancing at the url, although it does require you urls to match your file paths. As Matt Woodward pointed out, this does eliminate having a file you can read that shows you a map of your code bits which some people prefer. With onTap the file system is the map, so you do have a map, just of a different variety. This also lets you create tiered code that will execute in any given section of the application from an individual process all the way up to the entire application or anywhere in between. The same can be done with fusebox and mach-ii but it's more abstract. In Fusebox you can execute code at the individual process (fuseaction) level, the circuit level or for the entire application. So if you need something across several circuits you've got to figure out a way to accomplish that. In Mach-II you would typically create CFC method and associate it as a listener to any event-handlers you wanted it to affect, so you'd have to register it to each event-handler individually. Comparatively with onTap you just place it in the appropriate directory and all subdirectories are automatically affected. In essence, onTap uses the file system to abstract and automate the application logic and reduce code size, while the other frameworks use application logic to to abstract the file system. Other advantages... Imho fusebox is a bit easier to understand if you're not already a big OO programmer who's worked with Java and C++ in the past. Mach-II provides strict (to the point of being inflexible) separation of the model (cfc methods) and view (cfml includes) from the controller (xml), so if that separation is your primary concern in development, Mach-II would be the way to go. Fusebox 4 is a bit less stringent but still places the controler primarily in xml. Fusebox 4 provides xml elements for if-statements and loops which I dont _think_ are available in Mach-II (where this would typically be done in a CFC method). Fusebox 4 and the onTap framework are both much less stringent, allowing you to make your own decisions about when, how and whether to separate the model and controler from the view. > Thanks for the reply. Can you estimate the number of > installations on the > four frameworks? I would assume fuse box has the largest > following as it > has been around the longest. > What is the advantage of OnTap versus Fusebox? > Phil > Check out our two free newsletters: > Supply Chain Events - and - Supply Chain Software at > http://www.idii.com/esn/index.htm > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > Behalf Of S.Isaac Dealey > Sent: Sunday, December 14, 2003 10:18 PM > To: [EMAIL PROTECTED] > Subject: RE: Breaking the Sound Barrier? > Hi Philip, >> I do not have experience with MACH-II or On-Tap, but >> would >> like to ask the following: >> 1 - Are there any CASE like tools to put the software >> design in, and let it generate the CF code? Can that >> same CASE tool let me modify the design and then regen >> my application? regen in another language?? > I haven't worked with any CASE tools personally. I've > heard of them -- > and I've seen the resultant CF code from at least one > (which in all > honesty was nightmarish, especially since the company > developing the > CASE tools perceived CF as a dying technology and didn't > want to > upgrade their cfml engine from 4.0 and "didn't want to > maintain more > than one language library per language", even though they > maintained > had at least two for ASP). Fusebox has been modeled in > several > different languages, so if there are CASE tools for CF > frameworks > they're more likely to use Fusebox than anything else as > it's the only > one I'm aware of that's been drafted in multiple languages > at this > point. >> 2 - With MACH-II & On-TAP & others, which ones give you >> the ability to call/invoke non-CF executables the most? >> Maybe this is a mute point, but interfacing to middleware >> and other executables is an important point. > I suspect it is a moot point. I haven't done much (or > really any) > legacy systems integration with ColdFusion, however, my > understanding > is that this is primarily done via cfx tags written in > Java, CORBA and > previously a lot of COM before microsoft deprecated it. > The CF > language itself is designed to be simple and encapsulated > and so it > doesn't have any native tools for doing a lot of the lower > level > functions that legacy systems integration typically > require, and > that's why CF allows for extensions to be written with > Java, etc. when > something can't be done with native CFML. Its even easier > with CFMX as > a result of the ability to include Java tag libraries > without having > to register cfx tags. But in any event, when you're > integrating with > legacy you're typically going to be just writing a lot of > controler > code to integrate with the legacy system as a "model > object" (this all > being lingo of the model-view-controler (mvc) metaphor), > and all the > frameworks have areas where you would normally interface > with model > components. When you boil it all down really afaik > legacy-systems > integration in CF is just having, understanding and using > tags (and/or > functions), just like the rest of the language. >> 3 - Rather than laying all the groundwork out, creating >> the login programs, the message utilities, error trap >> routines..... whose has a nice foundation >> that we can just obtain and run with it? > There was a commercial product I saw a while back that > advertised > itself this way. I'm not aware of anything in particular > that's > open-source with the possible exception of the FarCry CMS > (a > competitor of mine) although I haven't taken the time to > download it > myself and look at it, so I can't really speak to its > contents. The > onTap framework is "headed" in that direction, or at > least, I'd like > to see some additional open-source projects for the onTap > framework > that encapsulate common foundations like user management, > login, roles > based security, etc. It's gonna take a while to build up > the community > for that to be a reality tho. Incidentally, I think all 4 > of the > frameworks have some error handling features. > s. isaac dealey 214-823-9345 > team macromedia volunteer > http://www.macromedia.com/go/team > chief architect, tapestry cms http://products.turnkey.to > onTap is open source http://www.turnkey.to/ontap > ----------------------------------------------- > To post, send email to [EMAIL PROTECTED] > To unsubscribe: > Send UNSUBSCRIBE to [EMAIL PROTECTED] > To subscribe / unsubscribe: http://www.dfwcfug.org > ----------------------------------------------- > To post, send email to [EMAIL PROTECTED] > To unsubscribe: > Send UNSUBSCRIBE to [EMAIL PROTECTED] > To subscribe / unsubscribe: http://www.dfwcfug.org s. isaac dealey 214-823-9345 team macromedia volunteer http://www.macromedia.com/go/team chief architect, tapestry cms http://products.turnkey.to onTap is open source http://www.turnkey.to/ontap ----------------------------------------------- To post, send email to [EMAIL PROTECTED] To unsubscribe: Send UNSUBSCRIBE to [EMAIL PROTECTED] To subscribe / unsubscribe: http://www.dfwcfug.org
