5 ms·
Lisp web frameworks: which one should I use?
I'm about to start development of a 'web 2.0' site. I've learnt some lisp and now I need to get to grips with a web framework. Any recommendations? Scalability is obviously important. Cheers.
- dpapathanasiou 19y agoYou've got many choices. This thread on c.l.l. discusses most of them: http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/bb5892083f9933ba/f8f8d266334b33a1 http://groups.google.com/group/comp.lang.lisp/browse_thread/...
- mattculbreth 19y agoPylons <ducking>
- drewc 19y ago.... and they call Lisp programmers "Smug Weenies"? That said, there are two options if the OP _really_ wanted to use Pylons in Common Lisp. One could attempt to run Pylons under cl-python[1], which is "a fairly complete implementation of Python written in Common Lisp". Cl-python is currently Allegro-only, and likely will not run Pylons without modification. Alternately, there is Python-on-lisp, which is a FFI to an embedded python interpreter AFAICT. While it will likely be trivial to get Pylons running this way, the interface between the languages seems very low-level, and there does not seem to be any source translation from a sexp syntax to python. I don't think either way is a good option honestly. If the OP wanted a python framework, they probably would have asked for one, and you could hold your head high rather than ducking ;).
- portLAN 19y agoThat wasn't a smug weenie thing. It was funny. I was going to suggest web.py just for giggles.
- drewc 19y agoWhat makes it funny exactly? To use an analogy (a poor one, like all), if this were a medical advice board, and someone had said 'I've got aids and i'm looking for a good retroviral" and the reply was "Chemo! <ducking>"..... I don't find that funny at all... just smug cancer weenies.
- mattculbreth 19y agoUp-modded for good knowledge of Python-Lisp interfaces, surely something very cool.
- drewc 19y agoI've been using UCW with my own framework (lisp-on-lines) built on top. If you are going to be doing a lot of 'ajax', the UCW Ajax branch has already done most of the work for you. That said, the learning curve is steep and there is no documentation beyond the examples + source code.
- jsmcgd 19y agoCheers guys. When I googled it before, Weblocks popped up. Does anyone have any experience with this?
- Zak 19y agoI build a fairly sophisticated project last year on top of TBNL (now Hunchentoot) and some other libraries (CL-WHO and CLSQL being the main ones). I don't think this set of libraries quite counts as a framework in the Rails/Pylons tradition - it's more like web.py[0]. It's worth noting that reddit used the same tool set before they rewrote it in Python. I can recommend it without hesitation, if you're looking for tools that stay out of your way. [0]I have a strong suspicion that web.py was influenced by TBNL.
- tritchey 19y agoWe use ucw for http://paragent.com http://paragent.com (click on "DEMO" to see our app in action live). We actually use the older _dev branch of ucw, as we started over a year ago before the _ajax branch had really settled down. In fact, we've ended up removing much of the AJAX from the site for design reasons, and gone to a simpler page model with the latest site update. ucw has been pretty reliable. OTOH, we don't get hammered on the front end that much, so we may not be really stressing it. Most of our heavy-lifting is all on the back-end connections to the agents, where we have to maintain thousands of ssl connections. We have been very happy with our decision to go with Lisp.
- nablaone 19y agowhich lisp are you using?
- tritchey 19y agoWe are using a slightly modified version of sbcl. Because of the large number of persistent connections we have to handle, we can run into issues with FD numbers and the default serve-event implementation. We have swapped in our own epoll-based serve-event to get around this. Otherwise, sbcl has worked very well for us. Most of the sbcl hackers hang out in #lisp on irc.freenode.net, so the level of help available around the clock is amazing. There have been a couple times when we were pulling our hair out, got into the #lisp channel, and had a solution in a matter of minutes. Highly recommended, and a very smart group of people.
- papersmith 19y agoHas anyone tried out the new weblocks? http://www.defmacro.org/ramblings/weblocks-demo.html http://www.defmacro.org/ramblings/weblocks-demo.html It sounds promising.
- coffeemug 19y agoWell, I wrote Weblocks. It's already very nice (using Lisp turned out to be really great) but some fairly commonly requested features are not yet in. Give it a try, send some questions to the support group, and see if it's right for you.
- nablaone 19y agoI suggest using Hunchentoot (TBNL successor) + cl-who + postmodern. It provides the classic way of web programming just like pure java servlets. Yesterday i've wrote simple app, just for fun http://nablaone.net/dino-demo/ http://nablaone.net/dino-demo/. What can I say, lisp rulez :-). REPL -> instant gratification -> flow -> happiness :-)
- nickyp 19y agoAnother option: KPAX http://homepage.mac.com/svc/kpax/ http://homepage.mac.com/svc/kpax/ (download) http://kpax.wolf359.be/kpax/dynamic/welcome http://kpax.wolf359.be/kpax/dynamic/welcome (demo apps) http://homepage.mac.com/svc/LispMovies/index.html http://homepage.mac.com/svc/LispMovies/index.html (screencast)
- apgwoz 19y agoif by Lisp you mean Scheme, perhaps http://magic.xmog.com http://magic.xmog.com suits you. It's lacking documentation, but it's promising at least.