Every now and then I complain about the browser's programming model. There's just been better models in the past on desktops, and there must be a ways forward that (1) "don't hurt the web" [see below] and (2) provide at least the ease of the popular models of the past. Most of the popular models of the past are based on some variation of Model-View-Controller from Smalltalk-80... frameworks like Swing, MFC, etc.
Those models are still incredibly low level compared to other practical-yet-relatively-unknown models that evolved over the last 30 years or more. Most of these other models that I can recall are all in the ballpark of contraint-based and data-flow-based systems.
Here are some off the top of my head for interested readers, many of whom I suspect may *only* have client-side experience with HTML and AJAX if they are younger than a certain age, maybe 35? I'll fill out links and descriptions as I get time.
- ThingLab - And subsequent constraint solvers that came out of Alan Borning's groups for Smalltalk, Java, C, etc. (Many developers are familiar with contraints for layout, less familiar with constraints used within domain model and GUI integration. For a recent discussion on contraints in layout see: Michael Lucas-Smith, Vassili Bykov, Andres Valloud)
- Alternate Reality Kit (ARK) - Smalltalk
- Morphic - originally influenced by ARK and implemented in Self, then in Squeak Smalltalk, and now Lively Kernel in Javascript.
- Fabrik
- Hypercard (on this list for its unique simplicity as opposed to its programming model per se)
- Garnet - CommonLisp, read the papers and try the system if you can - great stuff.
- Amulet - Garnet's C++ successor, a bit more clunk but available to more programmers
- EZDraw - Joel Bartlet's Scheme->C system
- Figlets - Haskell
- Functional Reactive Programming (FRP) (data-flow-ish) systems like: FrTime (PLT Scheme), Frappe (Java), Flapjax (Javascript), and various Haskell systems.
4 comments:
At Xopus we now also use a FRP based UI model, combined with an XBL like system. That works great and fast.
You don't need constraint solving because that is built-in in CSS.
there's also Cells and Cells-Gtk in common lisp world. it seems like it's being used by few people besides kenny tilton right now to produce real world projects.
http://common-lisp.net/project/cells/ and http://common-lisp.net/project/cells-gtk/
Just thought Sean McDirmid's SuperGlue and posterior experiments with live programming should be mentioned.
Speaking of sucky UIs, please make your blog not blow so badly.
Post a Comment