Friday, June 18, 2004

Using Java applets for UIs for Lisp applications, and web apps in general

I re-read Paul Graham's paper on using Lisp for server side applications last night.

It got me thinking: since it is almost 20 years since I did a lot of UIs on a hardware Lisp machine, most of my Lisp programming is what I would call "algorithm development programming". That is, I am trying to figure out how to do something, and Lisp is very good for experimental programming.

Most of my Common Lisp programming is done in Lispworks (I own licenses for all platforms that I use) and GUI support with CAPI and CLIM GUI libraries is very good - so, doing straight off GUI applications is easy.

However, since socket connections on a single computer (or even a LAN) are light weight and fast, I am thinking that a more versatile GUI development technique would be to write the user interface as a combined Java applet and Java standalone program (easy to do) that keeps a socket connection open with the application itself.

This is more versatile because, assuming a multi-threaded Lisp implementation, it would be easy to extend an application to a multi-user web application (well, not trivial, but straight forward).

No comments: