Web application frameworks in Smalltalk and Common Lisp
Monday, 25th of April 2005, Vrije Universiteit Brussel
The VUB (Programming Technology Lab), ULB (deComp), Belgian Assocation for Dynamic Languages (BADL) and the Belgian Smalltalk User Group (BSUG) are very pleased to invite you to two presentations about web application frameworks based on Smalltalk and Common Lisp. The two
presenters are the main authors of the respective frameworks and will show you first-hand overviews and illustrate examples from, and experiences with, real-world use scenarios. It will be especially
interesting to see what advantages the use of non mainstream dynamic programming languages brings to the table in a domain that is specifically targeted by Java and .NET frameworks. We also expect a heated discussion about the merits of the use of continuations in Seaside and the lack thereof in the Fractal Framework. ;)
The schedule for this event, held on Monday 25th of April, is as follows:
- 15:00 - 16:00 Avi Bryant, Seaside
- 16:00 - 17:00 Marc Battyani, Fractal Framework
- 17:00 - 18:00 Open Podium Discussion
This event is rounded out with a little reception.
The venue for the event is the Vrije Universiteit Brussel, Campus Etterbeek, Pleinlaan 2, 1050 Brussels, Belgium. For a description of how to get there see http://www.vub.ac.be/english/campEt.html
The exact location is still to be determined and will be announced at the following website:
http://prog.vub.ac.be/events/2005/BADL/WebApplicationFrameworks.html
Please make sure to register for the event at the website, so we can plan ahead. The number of places will be limited according to the exact location of the event, and will be announced at the website.
Below are the abstracts of the presentations and the biographies of the speakers.
Avi Bryant, Seaside
On the web, abstraction is a dirty word. The dominant paradigms and philosophies of web development -- CGI, Servlets, Server Pages, REST -- provide only a thin wrapper around the low-level details of HTTP, and encourage you to use the rough stones of the transport protocol as the direct building blocks of your application. Web developers by and large reject any further abstraction in the way that assembly hackers once rejected structured programming: it's too inflexible, uses too many resources, and above all, it doesn't let you see what's really going on. As a result, web applications suffer the same problems now that assembly language programs did years ago; they're fragile, verbose, difficult to maintain and ill-suited to reuse.
That's not to say that better abstractions aren't available. The Lisp and Scheme communities have been working on them for years. Paul Graham's ViaWeb pioneered the use of closures, not query parameters, to capture application state in each link. Christian Quiennec showed how to use first class continuations to invert the flow of control of HTTP and put the server back in the driver's seat. Macro packages like htmlgen bring HTML into the language itself, opening up much more than a template system can provide. Meanwhile, object-oriented packages like WebObjects have demonstrated how to decompose the web page into a tree of stateful, interacting objects, allowing a finer granularity of development.
Seaside combines these ideas and others with the rich development environment of Smalltalk to provide a stable, complete, and innovative web application platform. This talk will introduce Seaside, and will focus in particular on the ways in which these abstractions can be leveraged to enable reuse: how to use closures, continuations, and intelligent HTML generation to destroy the intra- and inter-page
coupling that is holding web development back.
Marc Battyani, Fractal Framework
Web sites have evolved from static documents to simple applications (eCommerce) and now to complete applications. Today, frameworks like J2EE and .Net are used for writing these applications made of tens to hundreds of object classes. These huge frameworks suffer from the limitations of their programming languages. Other frameworks, based on continuations, are emerging but still have limitations for complex applications. The Framework presented here has been used in production since 2001 and shows how the unique qualities of Common Lisp can boost the productivity by more than an order of magnitude for writing web applications compared to J2EE/.Net. This framework automatically
generates the presentation, modification, validation, storage and data integrity layers of all the object classes of an application. It provides session management, web controls and a unique way for
collaborative work. Internally, it makes extensive use of the Meta Object Protocol, CLOS generic functions, lexical closures, and on the fly code generation and compilation.
The speakers
Avi Bryant is the co-founder of Smallthought Systems Inc. Much of his work centers around the use of Squeak Smalltalk as a platform for commercial software development. As an actively contributing member of the Squeak community, he maintains its standard version control system, as well as packages for web development and relational and object database access. As a consultant, he has helped companies develop Squeak-based products for the travel, theatre, and finance industries, higher education, and mobile devices. Avi is based in Vancouver, Canada but currently residing in The Netherlands.
Marc Battyani's professional activities involve electronics design and writing software. He is the founder of Fractal Concept and the author of several open-source libraries (mod_lisp, cl-pdf, cl-typesetting). He works on various domains ranging from medical or industrial systems and applications to network infrastructure management web applications for banks as well as 3D software for robotized testing equipment, 6D real time positioning systems for the industry and the military, smart
environmental radio sensors, etc. All the application software is written in Common Lisp with Fractal Concept's web application framework. Marc has a MSc in electronics and a MSc in computer science.
He lives near Fontainebleau in France.
Sounds like a great event.