(2007-03-30) Avi Bryant
Phil Windley summarizes Avi Bryant's tutorial at ETech, focused on SeaSide. Template System-s were a good idea that have become useless and harmful. They're constraining or they're a bad programming language. The is a belief that templates are useful for model/view separation. But HTML is now a semantic layer and CSS is the real view layer (see Zen Garden). This is an interesting point of view and one I have a hard time arguing with. So, you need a rich library for generating HTML (see AWT for inspiration (how about GWT?) ). Each Widget has a render method that gets a canvas passed to it... The next heresy that Avi proposes is that sessions are too valuable to persist. In general, you can never marshall and unmarshall the stuff In-Memory reliably. All the good stuff's in MemCached anyway. Keep the session in the memory of the application server. What about Load Balancing? Use sticky sessions. Application Server-s going down is unusual. Users losing session data is a minor annoyance. Live with it.
Mike Pence interviews Avi. We talked about how the path to success often lies against the grain of industry groupthink, and where things seem to be going wrong: the problems with ReST, how MVC is widely misunderstood, why J Ruby lacks promise, and what's wrong with Ruby On Rails... "There is an impedance mismatch between the ReST approach to web development - thinking that all of your URI's need to be meaningful, all of your form input names have to be meaningful, that every page in your application is presenting this external API - between that and a (stateful) component model," said Avi. (I think the ReST folks agree, and believe that State-Less is the only way to achieve Scalability.) With a stateful component model, you don't focus on serializing and de-serializing parameters, or manually constructing and de-constructing state. You build with bigger blocks at a higher level of abstraction. "The degrees to which a stateful component system increases the modularity, and thus the maintainability, of your code base is huge. That means that the richness and sophistication of the applications you can build goes way up. There is just no way that we could have built something with the complexity of DabbleDB - at least I couldn't have - with a kind of stateless, ReST-ful style of web FrameWork." (A commenter notes AHAH as an alternative to a Template System.)
Edited: | Tweet this! | Search Twitter for discussion