views:

157

answers:

2

I'm a developer who builds mainly single page client side web applications where state in maintained on the client-side. Lately some of the applications have become very complex with very rich domain models on the client-side and increasingly complicated UI interactions.

As we've gone along we've implemented some very useful design patterns such as Passive View MVC, Observers, bindings, key-value observers (cocoa). I have recently got a lot of inspiration from the work of SproutCore and Cappuccino which are both JavaScript web frameworks inspired by Cocoa.

Obviously all of the problems that developers are having now in building complex web applications have been solved by desktop developers many moons ago. As few months ago all I knew about Cocoa was that is was some Apple thing, now it has had a big impact in the way I develop my web applications.

I was wondering if anyone who has more experience in building desktop GUI's than I, could point me any other frameworks out there which may also give me inspiration in terms of design patterns and structures to use for my JavaScript web applications?

I really don't care what languages or platform these frameworks reside in, as long as they can teach me something about good application design in general.

+1  A: 

Fowlers GUI Architectures seems to be a reasonable survey done at a high level, I don't know how complete it is, however.

Will Hartung
Thanks for the link Will, I'm familiar with the patterns here, and am never far from my copy of PoEAA. The big thing I would like to see is how these combinations of patterns have been pulled together in a higher level framework. I've gained a lot from Cocoa, and was hoping to study some others.
ChrisInCambo
+1  A: 

Have you taken a look at Cappuccino? It's a Javascript client-side framework, very heavily inspired by Cocoa. The Cappuccino creators even wrote their own Objective-C runtime in JavaScript so that Cappuccino apps can be written in Objective-J, an Objective-C-like syntax for JavaScript.

Barry Wark
Yes I've checked out Cappuccino and have got a lot of ideas from it/Cocoa. But a couple of months ago I had never heard of Cocoa (not an apple guy). I wonder how many other cool frameworks are out there which I have also never heard of but could learn a lot from?
ChrisInCambo