Learning CL Web Application Development
Thursday, September 8, 2005
I've commented
in the past about the different CL web server options that are
available (see
here,
here,
here,
here). However, that is only one aspect of the CL web application
development puzzle. In addition to the web server packages, one needs
to use a variety of different packages in order to develop a web
app. There are
Lisp HTML markup languages and
CL HTML templating packages as well as different options for storing persistent
data in SQL databases (see
here,
here,
here) and other persistence stores (see
here,
here,
here). I've also commented a lot on non-conventional web
development frameworks (see
here,
here) that approach web development in a completely different
manner from traditional frameworks. Unfortunately, for someone starting out with CL web apps,
there isn't a lot of tutorial information available about how to
combine the different CL web application development components into a
working set of tools. It can become a bit intimidating trying to sort
out how to use all this "stuff". ;-)
However, there are a few decent tutorials around that can help you get
started:
- Peter Seibel has some material on developing different types of web applications in his great book Practical Common Lisp (also available online).
- The UCW "Hello World" movie is a recent addition that has proven very popular. The focus of this tutorial is, of course, the Uncommon Web web application framework, although Marco goes through the setup of a number of other required packages as well.
- An older tutorial (but still very good) is Chris Beggy's nice page on Creating Dynamic Websites with Lisp and Apache in which he steps through creating a web site using a combination of apache + mod_lisp + cmucl + lml + cl-ppcre + clsql + mysql.
- A new addition is the web application tutorial for beginners, a set of 4 different weblog entries covering the creation of a web site using a combination of clsql + tbnl + cl-who + cl-ppcre + postgresql.

