Subscribe: Brian Kotek: Inversion of Control - Mach-II
http://www.briankotek.com/blog/rss.cfm?mode=full&mode2=cat&catid=B4F4924C-3048-23C1-DD42BA6C73272FE0
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
ajax  app  application  blocks  bookstore app  bookstore  brian kotek  content  event  fusebox  gui  mach  matt  page  patterns  sidebar 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Brian Kotek: Inversion of Control - Mach-II

Brian Kotek: Inversion of Control - Mach-II



Brian Kotek on ExtJS, DeftJS, CoffeeScript, Java, Groovy, Grails, Design Patterns, and Object-Oriented Programming



Published: Tue, 23 Jan 2018 02:14:09 -0700

Last Build Date: Mon, 02 Jul 2007 08:42:00 -0700

 



The Bookstore App Meets ColdFusion 8 (aka Operation: AJAX)

Mon, 02 Jul 2007 08:42:00 -0700

I've been playing with the new AJAX capabilities in ColdFusion 8, and I'm impressed. They've really made it easy to add AJAX functionality to an application. As a personal experiment, I decided to try converting an existing page-based app into a single-page, AJAX-driven one. So as usual, I brushed the dust off of my tried-and-true sample bookstore application and went to town. Some of you might have seen the bookstore app before; I've had it on my site for quite a long time. It's gone through Fusebox 3, FuseQ, Fusebox 4, Fusebox 5, Mach-II, and Model-Glue:Unity versions. It was also the basis for my "Framework-Agnostic Models" presentation at this year's Frameworks Conference. I was quite stunned to find that converting the Fusebox 5 version into an AJAX application took about 2 hours. Yes, 2 hours. Part of the reason it was straightforward was that the app already leveraged self-contained content blocks for each page element. Basically, each of the sidebar elements, the main page content, and the menu are all CFDIV blocks now. Each one updates on its own, asynchronously, using the built-in AJAX goodies in CF8. It was interesting to see how my development approach had to change to support a more event-driven GUI. Each link or form is tied to a JavaScript event handler that determines which content elements to update via AJAX. I can see now how doing complex GUI programming is a real challenge, because this was only 8 or 10 events. I think I have some learning to do when it comes to patterns that apply more to GUI development than the patterns I'm used to dealing with in the model. In any event, I've added this AJAX-ified version of the bookstore to the Framework-Agnositc Models Code and Presentation .zip file in the right sidebar. If anyone is interested in having a look, please do and let me know what you think.



Mach-II / ColdSpring / Reactor Bookstore Port

Wed, 19 Apr 2006 20:36:00 -0700

Matt Williams was kind enough to make the short jump to a Mach-II port of my bookstore sample application. Thanks Matt! I hope some folks find it useful. This little app really is taking on a life of its own. ;-)


Media Files:
http://www.briankotek.com/blog/enclosures/M2BookstoreReactor.zip