210 likes | 340 Views
Fusebox 5 vs Model-Glue. JaxFusion September 2006. About the Presenter. David Fekke Developing Fusebox since 1.0 New to Model-Glue Early adopter of CFCs Lead for Vurv HR-XML API. What is covered in this Presentation. How to build web apps in Fusebox and Model-Glue Basic XML syntax
E N D
Fusebox 5 vs Model-Glue JaxFusion September 2006
About the Presenter • David Fekke • Developing Fusebox since 1.0 • New to Model-Glue • Early adopter of CFCs • Lead for Vurv HR-XML API
What is covered in this Presentation • How to build web apps in Fusebox and Model-Glue • Basic XML syntax • Basic MVC
What is not covered in this Presentation • Unity, i.e. Reactor or ColdSpring • Fusedocs
Why use a Framework • 80% percent of development is maintenance • Encourages the use of MVC design pattern • Reduces the need spaghetti code • Makes your code more reusable
Fusebox History • Just a methodology • Custom Tags • Version 3 added framework • Version 4 uses XML config • Version 5 rewritten with CFCs
Fusebox Basics • Fusebox is based on a simple switch mechanism, hence the name “Fusebox” • Code files are referred to as “Fuses” • Most “fuse” files have very little code • Documentation called Fusedocs
Fusebox components • Fusebox.xml • Circuit.xml • Core files in fusebox5 folder • All requests through Index.cfm • App divided into circuit folder • Plugin directory
Fusebox.xml syntax • <cicuits> • <classes> • <parameters> • <globalfuseactions> • Appinit, preprocess, postprocess
Fusebox.xml plugin syntax • <Plugins> • <phase name=“preProcess”> • <phase name=“preFuseaction”> • <phase name=“postFuseaction”> • <phase name=“fuseactionException”> • <phase name=“postProcess”> • <phase name=“processError”>
Circuit.xml syntax • <fuseaction name=“fuseactionname”> • <xfa name=“save” value=“app.save” /> • <include template=“file.cfm” /> • <do action=“m.saveCat”/> • <set name=“id” value=“1” /> • <if condition=“”> • <instantiate/> <invoke />
Lexicons • Add your own verbs • Lexicon folders
Model-Glue Framework • Developed by Joe Rinehart of BAH • Also uses XML config file • Meant for more OO styled programming • MG-Unity is adding support Reactor, and ColdSpring
Model-Glue structure • All requests through Index.cfm • Config directory • Model-Glue.xml • Controller CFCs • ModelGlue folder in web root
Model-Glue config syntax • Controller, message-listener • event-handler • Broadcasts, message • Views, include • Results
Other Frameworks • Mach-II • OnTap: based on Tapestry • CF on Wheels • Ruby on Rails • Django for Python • Cairngorm Flex • Struts, JSF and many others…
Links • www.model-glue.com • www.fusebox.org • corfield.org • www.techspedition.com • www.halhelms.com • www.briankotek.com/blog/ • clearsoftware.net